From 04480101783662f2af4a5e53f308e245d6b9c981 Mon Sep 17 00:00:00 2001
From: BAWEI
Date: Sun, 19 Mar 2023 11:00:38 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BC=B9=E7=AA=97=E9=80=89=E6=8B=A9=E6=8E=A7?=
=?UTF-8?q?=E4=BB=B6=E4=BF=AE=E6=94=B9=EF=BC=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
SC-web/.env.dotNetPreview | 5 +
SC-web/.env.javaBootPreview | 5 +
SC-web/public/cdn/socials/dingtalk.png | Bin 0 -> 1258 bytes
SC-web/public/cdn/socials/feishu.png | Bin 0 -> 1869 bytes
SC-web/public/cdn/socials/gitHub.png | Bin 0 -> 2735 bytes
SC-web/public/cdn/socials/qq.png | Bin 0 -> 3207 bytes
SC-web/public/cdn/socials/wechat_open.png | Bin 0 -> 1607 bytes
SC-web/public/cdn/socials/wxWork.png | Bin 0 -> 1884 bytes
SC-web/public/cdn/tinymce/langs/zh_CN.js | 389 ++++++++++
.../cdn/tinymce/plugins/advlist/plugin.min.js | 9 +
.../cdn/tinymce/plugins/anchor/plugin.min.js | 9 +
.../tinymce/plugins/autolink/plugin.min.js | 9 +
.../tinymce/plugins/autosave/plugin.min.js | 9 +
.../cdn/tinymce/plugins/charmap/plugin.min.js | 9 +
.../cdn/tinymce/plugins/code/plugin.min.js | 9 +
.../tinymce/plugins/codesample/plugin.min.js | 9 +
.../plugins/directionality/plugin.min.js | 9 +
.../plugins/emoticons/js/emojis.min.js | 2 +
.../tinymce/plugins/emoticons/plugin.min.js | 9 +
.../tinymce/plugins/fullscreen/plugin.min.js | 9 +
.../cdn/tinymce/plugins/help/plugin.min.js | 9 +
.../cdn/tinymce/plugins/hr/plugin.min.js | 9 +
.../cdn/tinymce/plugins/image/plugin.min.js | 9 +
.../tinymce/plugins/imagetools/plugin.min.js | 9 +
.../tinymce/plugins/importcss/plugin.min.js | 9 +
.../plugins/insertdatetime/plugin.min.js | 9 +
.../tinymce/plugins/lineheight/plugin.min.js | 58 ++
.../cdn/tinymce/plugins/link/plugin.min.js | 9 +
.../cdn/tinymce/plugins/lists/plugin.min.js | 9 +
.../cdn/tinymce/plugins/media/plugin.min.js | 9 +
.../tinymce/plugins/nonbreaking/plugin.min.js | 9 +
.../tinymce/plugins/noneditable/plugin.min.js | 9 +
.../tinymce/plugins/pagebreak/plugin.min.js | 9 +
.../cdn/tinymce/plugins/paste/plugin.min.js | 9 +
.../cdn/tinymce/plugins/preview/plugin.min.js | 9 +
.../cdn/tinymce/plugins/print/plugin.min.js | 9 +
.../tinymce/plugins/quickbars/plugin.min.js | 9 +
.../tinymce/plugins/rowspacing/plugin.min.js | 97 +++
.../cdn/tinymce/plugins/save/plugin.min.js | 9 +
.../plugins/searchreplace/plugin.min.js | 9 +
.../cdn/tinymce/plugins/table/plugin.min.js | 9 +
.../tinymce/plugins/textpattern/plugin.min.js | 9 +
.../cdn/tinymce/plugins/toc/plugin.min.js | 9 +
.../plugins/visualblocks/plugin.min.js | 9 +
.../tinymce/plugins/visualchars/plugin.min.js | 9 +
.../tinymce/plugins/wordcount/plugin.min.js | 9 +
.../skins/content/default/content.min.css | 8 +
.../tinymce/skins/ui/wukong/content.min.css | 7 +
.../cdn/tinymce/skins/ui/wukong/skin.min.css | 7 +
.../cdn/tinymce/themes/silver/theme.min.js | 9 +
SC-web/public/cdn/tinymce/tinymce.min.js | 9 +
SC-web/src/api/msgCenter/accountConfig.js | 61 ++
SC-web/src/api/msgCenter/msgMonitor.js | 31 +
SC-web/src/api/msgCenter/msgTemplate.js | 61 ++
SC-web/src/api/msgCenter/sendConfig.js | 70 ++
SC-web/src/api/permission/gradeManage.js | 37 +
SC-web/src/api/permission/socialsUser.js | 78 ++
SC-web/src/api/system/advancedQuery.js | 40 ++
SC-web/src/api/system/authorize.js | 35 +
SC-web/src/api/system/system.js | 47 ++
SC-web/src/api/systemData/interfaceOauth.js | 78 ++
SC-web/src/api/workFlow/FormDesign.js | 90 +++
.../assets/images/generator/columnType5.png | Bin 0 -> 2213 bytes
.../src/assets/images/other-login-dialog.png | Bin 0 -> 107140 bytes
SC-web/src/assets/images/query-noData.png | Bin 0 -> 13138 bytes
SC-web/src/components/ColumnDesign/main.vue | 43 +-
.../src/components/ColumnDesign/uploadBox.vue | 110 +++
SC-web/src/components/ExportBox/index.vue | 67 ++
.../components/GroupSelect/index.vue | 345 +++++++++
.../Generator/components/JnpfLink/index.vue | 46 ++
.../components/PopupSelect/index.vue | 100 +--
.../components/PopupTableSelect/index.vue | 480 +++++++++++++
.../Generator/components/RoleSelect/index.vue | 391 ++++++++++
.../Generator/index/FieldDialog.vue | 224 ++++++
.../index/RightComponents/JnpfAlert.vue | 70 ++
.../index/RightComponents/JnpfLink.vue | 34 +
.../RightComponents/Table/AddTableForm.vue | 213 ++++++
.../index/RightComponents/Table/index.vue | 68 ++
.../index/RightComponents/dynamicMixin.js | 119 ++++
.../Generator/index/StyleScript.vue | 58 ++
.../src/components/JNPF-usersSelect/index.vue | 669 ++++++++++++++++++
.../components/JNPF-usersTransfer/index.vue | 300 ++++++++
SC-web/src/components/JNPFImport/index.vue | 305 ++++++++
.../src/components/JsonEditor/codemirror.css | 537 ++++++++++++++
.../Process/PropPanel/FlowDialog.vue | 201 ++++++
.../Process/PropPanel/FlowFormDialog.vue | 204 ++++++
.../Process/PropPanel/TemplateDetail.vue | 332 +++++++++
.../Process/PropPanel/formulaData.js | 57 ++
.../Process/PropPanel/formulaDialog.vue | 94 +++
SC-web/src/components/SelectDialog/index.vue | 213 ++++++
SC-web/src/components/SignImgDialog/index.vue | 142 ++++
SC-web/src/components/SuperQuery/index.vue | 565 +++++++++++++++
.../src/components/jnpf-open-data/index.vue | 73 ++
93 files changed, 7524 insertions(+), 66 deletions(-)
create mode 100644 SC-web/.env.dotNetPreview
create mode 100644 SC-web/.env.javaBootPreview
create mode 100644 SC-web/public/cdn/socials/dingtalk.png
create mode 100644 SC-web/public/cdn/socials/feishu.png
create mode 100644 SC-web/public/cdn/socials/gitHub.png
create mode 100644 SC-web/public/cdn/socials/qq.png
create mode 100644 SC-web/public/cdn/socials/wechat_open.png
create mode 100644 SC-web/public/cdn/socials/wxWork.png
create mode 100644 SC-web/public/cdn/tinymce/langs/zh_CN.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/advlist/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/anchor/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/autolink/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/autosave/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/charmap/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/code/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/codesample/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/directionality/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/emoticons/js/emojis.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/emoticons/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/fullscreen/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/help/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/hr/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/image/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/imagetools/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/importcss/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/insertdatetime/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/lineheight/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/link/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/lists/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/media/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/nonbreaking/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/noneditable/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/pagebreak/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/paste/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/preview/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/print/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/quickbars/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/rowspacing/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/save/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/searchreplace/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/table/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/textpattern/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/toc/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/visualblocks/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/visualchars/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/plugins/wordcount/plugin.min.js
create mode 100644 SC-web/public/cdn/tinymce/skins/content/default/content.min.css
create mode 100644 SC-web/public/cdn/tinymce/skins/ui/wukong/content.min.css
create mode 100644 SC-web/public/cdn/tinymce/skins/ui/wukong/skin.min.css
create mode 100644 SC-web/public/cdn/tinymce/themes/silver/theme.min.js
create mode 100644 SC-web/public/cdn/tinymce/tinymce.min.js
create mode 100644 SC-web/src/api/msgCenter/accountConfig.js
create mode 100644 SC-web/src/api/msgCenter/msgMonitor.js
create mode 100644 SC-web/src/api/msgCenter/msgTemplate.js
create mode 100644 SC-web/src/api/msgCenter/sendConfig.js
create mode 100644 SC-web/src/api/permission/gradeManage.js
create mode 100644 SC-web/src/api/permission/socialsUser.js
create mode 100644 SC-web/src/api/system/advancedQuery.js
create mode 100644 SC-web/src/api/system/authorize.js
create mode 100644 SC-web/src/api/system/system.js
create mode 100644 SC-web/src/api/systemData/interfaceOauth.js
create mode 100644 SC-web/src/api/workFlow/FormDesign.js
create mode 100644 SC-web/src/assets/images/generator/columnType5.png
create mode 100644 SC-web/src/assets/images/other-login-dialog.png
create mode 100644 SC-web/src/assets/images/query-noData.png
create mode 100644 SC-web/src/components/ColumnDesign/uploadBox.vue
create mode 100644 SC-web/src/components/ExportBox/index.vue
create mode 100644 SC-web/src/components/Generator/components/GroupSelect/index.vue
create mode 100644 SC-web/src/components/Generator/components/JnpfLink/index.vue
create mode 100644 SC-web/src/components/Generator/components/PopupTableSelect/index.vue
create mode 100644 SC-web/src/components/Generator/components/RoleSelect/index.vue
create mode 100644 SC-web/src/components/Generator/index/FieldDialog.vue
create mode 100644 SC-web/src/components/Generator/index/RightComponents/JnpfAlert.vue
create mode 100644 SC-web/src/components/Generator/index/RightComponents/JnpfLink.vue
create mode 100644 SC-web/src/components/Generator/index/RightComponents/Table/AddTableForm.vue
create mode 100644 SC-web/src/components/Generator/index/RightComponents/Table/index.vue
create mode 100644 SC-web/src/components/Generator/index/RightComponents/dynamicMixin.js
create mode 100644 SC-web/src/components/Generator/index/StyleScript.vue
create mode 100644 SC-web/src/components/JNPF-usersSelect/index.vue
create mode 100644 SC-web/src/components/JNPF-usersTransfer/index.vue
create mode 100644 SC-web/src/components/JNPFImport/index.vue
create mode 100644 SC-web/src/components/JsonEditor/codemirror.css
create mode 100644 SC-web/src/components/Process/PropPanel/FlowDialog.vue
create mode 100644 SC-web/src/components/Process/PropPanel/FlowFormDialog.vue
create mode 100644 SC-web/src/components/Process/PropPanel/TemplateDetail.vue
create mode 100644 SC-web/src/components/Process/PropPanel/formulaData.js
create mode 100644 SC-web/src/components/Process/PropPanel/formulaDialog.vue
create mode 100644 SC-web/src/components/SelectDialog/index.vue
create mode 100644 SC-web/src/components/SignImgDialog/index.vue
create mode 100644 SC-web/src/components/SuperQuery/index.vue
create mode 100644 SC-web/src/components/jnpf-open-data/index.vue
diff --git a/SC-web/.env.dotNetPreview b/SC-web/.env.dotNetPreview
new file mode 100644
index 00000000..83e31496
--- /dev/null
+++ b/SC-web/.env.dotNetPreview
@@ -0,0 +1,5 @@
+# .net单体预发布
+ENV = 'dotNetPreview'
+
+VUE_APP_BASE_API = 'http://dotnet.preview.jnpf.work'
+VUE_APP_BASE_WSS = 'ws://dotnet.preview.jnpf.work/websocket'
diff --git a/SC-web/.env.javaBootPreview b/SC-web/.env.javaBootPreview
new file mode 100644
index 00000000..11ff734c
--- /dev/null
+++ b/SC-web/.env.javaBootPreview
@@ -0,0 +1,5 @@
+# java单体预生产
+ENV = 'javaBootPreview'
+
+VUE_APP_BASE_API = 'http://java.preview.jnpf.work'
+VUE_APP_BASE_WSS = 'ws://java.preview.jnpf.work/websocket'
diff --git a/SC-web/public/cdn/socials/dingtalk.png b/SC-web/public/cdn/socials/dingtalk.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe0b109c1c8d6e07569bb85c96b1351f29986aa0
GIT binary patch
literal 1258
zcmVb6BITOR)tjp8^Q@1
zPS9|Ih7%M{P`ZyNWYrq#4-cMY2BsdiwpWC~%EMK(V4+5I9gw
z5jao|6q5im%qhx&ViI76IYl{8Oaja>rzi)CNq`xaUs0`L4OH+GK=(nfUBFSL&m7yT
zFbPm~1oh)-)*-Nymj*09sI%b~1f-~$b_Yry!{O$oRnnPrvH3w!$8BFPfN_VPbzt4Q
zg#F6BtwftkuHD6gHFBcS93=enAg9PcSm@%LpxwNOFNOD^tw#uP%Lp{BKf}>xHxDd%P_*MI^=u;N-h&eN4VD6v|Xv1UMJ&sBNn
zv0(qmzwD@UbD*Lc6(wpD56N7xBeVy#^4Wvw%a7jBP;y=kEP*5*PsyC3;t@h+J#;eG
z)VYdT6ep%8vr8{&3Z$?HSe#hBU>m&@#%Qz$iekwoWN!-g@eu}ZkW4eLsCmEwbmA&N
zgGoRLOz4|(?@r-x8h)d1s>vXVdMOrEd+;5H+?AX_VqXHjX}aIyK&3th3gOfG8Xs5c
zLcNW1V&>MSVQ-Qrf?gEf4o7X-Lt&MCVXumj~$
zRD31ldOB7)L!*h!QwRp(#K(iuc1(@sUc*NsSF0#)ej?>*MT(l!!eZZS^VasIc0fBo
zEn_Q$cR)KpwFdN3g1<{r&U)=_Nt9P&nc4wr@fp#CB`0q>%MWViU13UMGh`Di0F~i{
zjG^Z|x;5nol_a3#Lu)V8nRBf{Qe4t0WCNv@$)W93RNJT5_LD`v3w$L-2SAK9`#{b9
zq~sRgwA3Z7KoV{HKt0b-BRnZnmvY~W+g^B>{8Uz
zFC>gw0sC`Qe59y=vdT0p%M=w>Mej{p0s9q2iM+tPWT)W_E1_sISM;MuyOy3Y-<{sE
z1C`DwjBubFC?)}Bm{XJk#U#KCbBc1Hm;{(%PEigNlK?Z!DawIj5@3coMKMAB2gpx(
UUc(aKY5)KL07*qoM6N<$f>C)wng9R*
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/socials/feishu.png b/SC-web/public/cdn/socials/feishu.png
new file mode 100644
index 0000000000000000000000000000000000000000..110b6ac6c529afabbe29d3441093f3d0b1e95cdf
GIT binary patch
literal 1869
zcma)-`#Tc~1II_(%+^NBoyDtShTa&5T*?sUvSv2qRw<_8=(x2|SUa+CdYH>$VRDAh
zTvl`}w_H{t<#Jp`h;l7c6y@^z<^A=2-tY5#zu)Kk2YjCoi%4*UL)D-F00546vM24g
z^S%iX@P6LGB~kYa7-fqmL-v&bxsnP1$N=&7I5IupQ$c8$0!2a8U)UfFzhMY6P+}={
z$c)=FiPC5q9%y1DRf;?emn%&(B8?}p+_iO5+W+XjBEx++k@F*&2V9j3mMYfZ6k%N}
zPv<*b7d1~59Sg6c_F#XlqILF!V$h-w9f){G3FPw0;mTy@rI(8h+qo;-N>#M=oDni{
z5>y?lbgf0q7GB%3mcv*9UR^RW)V$Dsl*I^Qm3}r~-fj=tTwJXWJ~@GM5}b1x(ht$A
zNEK8wyJqapeP(R@lOS&`@ImxAdz;raPInd+LcERxvvX>b>OK_deeHOKbSY*g*CUj!
z$44p!`#Q_AbrrIMYLOE7pVx?oyf-MzYe#>y*(ZvoggSM|{V)jYm|;0m<7iohh;hZI2X@
znY^A4&pCe3yWOVgbmCM=@)r;F5ZxVsnF0yQq^tdIdDChus^Zq8LZm&|^zxGx+qGy!
z?|I)q{qkewwC6P!Y31p6B3E!USMT!OH&7Z#&7r$Qoo+s_n=q_DPqba+LgxlU#8(?9
zd(&tx9%*`@ih{Ly{UYfTsIrAEo)%hIkYtvE{&LzhwL!0w6uBevG;z;Tkya#B|K>f9
zd6HuTsVb7)F-
zz9uf~E$(cedo%3Xw2Wo`&W9g?ABR1xa$^(hc$RU2UOf>>p6adarn2;YpUT3Tsn>S$jdu
zgsZb(W)4R)>sD9zSMuQ$!|jBN*`$@XmSwx^oM)oKlrmY13Mmc6NmSD^F?B4jOOU16
z_*LAzq}=y!8}x~H*4&r%k$aB{8V_cc-_|y-bo9~~e?tkq_F#%Xf;>u%;N)j(qk_~%
zH@dqAO2uZIm4&OSeNTtSi86X&WFdm>;2I
z3X*#pDhE{Gi0Xd#Th3@hm&WL2ONVrDkR^XNj|i@D>Dcm#*yzb<3XEeda-)0Qjnv=2
z;WEh4O(r~y58FtXfH*hM@;qa$lMWuF8r*S+DBafb^FA(Oa}ds}8pG$j%*Xbsok{Jy
z+4%9SuyKoQpIGZ6V=F;LU8MWOPm%>1t1%1q($-?xQVfixp!u
zq<;bXEjhpa(&hSAOTqBkgSQ&ZvndJ{3m>oSxk(zI9x71J)+!1>7Cp{9f6^ipGwOlL
z^Y?XlcN+T3qG~<&fk;_mhI15~LS8o7zn0+Q+*l$M`g2?(amn8b-Kw8
z@`&3iFC-)61@{Y7I%iY&7g)MNopDO&-8>h)bF<&j380`cyZzh6NZ{aSz4e5H$2=)K
z9W?LEcVE3w6M4Qq^C0HFX#^$YUwO~tjj{Z;n2j;J>Z_F(7;_X;PMFfp&4tP4MQKGu
zzu}zfL#xdb0k><6PLpRdook~UMH2VlTN8WJYnHd9yHnz67Z19J?=E;tzK*aG(YnEnxEBpi
zK6(T%Kt`%>y$35!zDR#Q?b`iB*PI$(PTI+p(zN9D4YWa=y)-$JKhcUiCH6AVD6
sKvC$^<5G812}%DKMgGeeZN?Af`}pE;75e$4eLe#4X9@Ov+l!3<0MoQ+zW@LL
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/socials/gitHub.png b/SC-web/public/cdn/socials/gitHub.png
new file mode 100644
index 0000000000000000000000000000000000000000..e56677cbc0ea29f108fc9163f626276d15a974f4
GIT binary patch
literal 2735
zcmV;g3Q+ZlP)As#Z!XwVc%?
zA_&1<1Js}b=QgB3O1yRg1w!hxQuCeqoEDN2Dvma)R3U{WQ9lASKA>r7Ld04HH4&mU
zf3<+U)8Fjg-ks04cQboyTdH;>v$s2MXWskmZ{EC_c~IgPAq1$9lrKblpaei~Xa8D&{&kZgb$rxIGTE@+#lVq*#v2j>=Hizro+04Ge*I|C>b
zKX6~>TDD$S2uTkT(z|*LK^qgGIswpRVyp)iNnjEzVvNlkmshF*-F5(`c}kx$jg2}`
z-CusI4aRT=1)Z7W#3s44|FXb?-fu9u25Q1*pyiZ^S91op8t)W+n=@vl;y>Vd><1Pba(v%X6S!S#XGh
z)KgYb8#E^?ysOt}-Oc7!E#cWv^c1LFj~z-eIPLPj$R<{~*^T=muj@&+ZsP5zS73Pt
z)Xv9VkHc1rNp>7$GiUtnGe7*pvSu%ap(j9Xd$cD;7(F(Yu1M7N;j49R`ePzlD_AuH
zrAB&!b^l?PO~+lPV5VzV2#ugB3}Q{GRpB!4pQDUuj1u0*?6Nu-w0XU^M}yerX>-pvMYJv*G}oH*K`5r@zaA8CFyn1%p&b
zOu@T1z=$lY(;#0YhlPrHPs5yz99*j(+DmTLB}qlKK)o<`-(?saa*DVEghkb}s{z2sqK12dWWw!`dS+EtM0pW;=mT|}W>rQi=~GPy
z*FbHay9e)rb2HLh6Y8mNtPx-Y{Q
zgz{eyP6xxHunSe+g$nsLx8
z4TF~F_9RU4avlqMH9;?-NyP3`8mMHr6Mo6yK;?asJ$IT)W;s9enUPG7ST}}s5STRP~m&p^1i_KQAJk(*|q!pbJ7k|MB!>Os~^}A!;%R>
zaBdbZccnDjeg3(oYHbzQO9Rz%-}Vfq{YB25fbi64-g9AdO=~L|BT8jk?*DPIn<}Zc
zyw={oY?88FN|^V!vT>^hMlG!L#R61`LJ_SNV{3VL)qUIGDl0GwPHX>%o26`*66VUU
zXnaw_=UP}gpO}s_XB{2U-KIszewpe6SlGdFZpg+Hb=P|IeSjW4XQqT<^e&FR0X*)Y5ylXrM8CRAG?
zUM2nbF#P%7JEUxv66Q87x#ve3*b5(3sj%aRKiVo4r+9_el9^i&=kZ;Q%H{A!FG<-h
zCCs~CeD`J*p0KU#o^_7ypwz%GKi>MeYRZmA{o@rVfR=VXFhp3Eox{ja~sy8`N4GrrHK
z{zW1=1&T4$l+jbdft?$$VxeTvpn;P>2MHnOtXnb1;n$acB5k+y3*3-zhLSN5`&hN0
zE?3X@qtv(c&Mr3~RD0(ep=20F^ngJ)si_=f@_K%X^BcW0Uaj5IdRIX4M!w##PKS?b
z7=G%ZoI=FQPi0D;o4EyA0P)q^dP<7&P6j<5N`@4|F#EE&Ox_jf*7RE!40jFG<6l^(
z!bi0gIVt@n4K!(bYT#?3HDQGX()fTQPi`sE@jQbgc+Ch5_Mgyq3k^#S3>_S57*cq?
zCy4HpjT9fNB&ji->&Xv7F8+>1#-V!kgi;s6(`G<&q9&~{>i+1
zb$?vu^Dd}gsUc4xzaY1nWiNo8?$KY@yH|MiW$Tqqt7wt;2iXD<-m(!^#my1;G@$LXLwY8k=R0uSytD$@ZdB9_~7_imKn&vqcnK-
zv))!2sy#e)nF=Q57*%LLm#AJ8m^0*D1tMpzc>|K=R!5;cG<9hjUw(PDh`I0DA*uf7
zOkG;e7nU%JoMVBySoYJj?xkr`ipq2xzH^5
zp1g4V$fzA?NGU1{lr7(Q$CJp;Q@{p>V=jBPBILvCN2L01{QOh7S4#rlA37T
zN@WK!HP38g=FF=BIV<=CoHznc>!i8&;=hi@tG!cPfA1aNj$tC;`Rx6;s*}m>%xD8-
z_b>HDWsLfNll6fT{GvWkK2U-P2#WcP@_`aWKv2wQln<030)k>bqkNzQ5fBvf8RY{d
ph=8D&&nO=#K?DTFd`1ZZ^*`F-n3~P=1#kcW002ovPDHLkV1iQVAQ=Dv
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/socials/qq.png b/SC-web/public/cdn/socials/qq.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f358d878b492a138945780556d466fbff80a62a
GIT binary patch
literal 3207
zcma)<=QkUU_s1g$O>C+~ifR#~Mu|}?HnpO*($)@Dt5W+TR;<>hc2lcCYnPTNHEI*Y
zUbR|#?@?d>!0(*jJ?DL2?+5qX^L}uj+-Rh}CM}p93;+OVwYAiqT=Vg@^r=DDJyIFt
zbPbBvD%!@>*A+-@9|Zu=C~B)I8~Z-neCq7MGRC--F*CBJV#Q?sg5i$_G)-J;9!zGJ
zAj?$Yz)hzqW6S@d3;`^Rl0kUhBm?poKcNI=SpiPWwopd{zJ}b+}g_4{@e=W=n7*s4tW=JU8S&@>F=-fLOH?r7?>}
z1^XE}ih`79qsHXg{Za0tL@9#gktNP&zyaf!&IMWn^oZi&S>Jpfc$3$tXv$@}2W2AK
zn@dfIT*~j(j+0AP{PBKm%IxgR6=_>nH2I03(6*pGOElmSaE-X2Rv~3Tju(?Te!60h
zzx_F1am%hkF(OX-HM=4$PQwnsMtlURg~gDH^f;=_g}o2gOiDg~{u~xL;$q@zZ(-`1
zt^XgJ|IKITic<5+FuhD#W4i;-8|-EQ0Gj?Hy(}0nZ^Z42WPXF8o%z<)-NgE5BNnPh1bh)ah~zE-bYOY!ap!sP3hRVeE|XdSam|lUbyjk*8bya;!|?
z!|~Qkey&15{i}E`CH=;LW4`x2g@GLy2YY+sH_t^9rala^`4QVh*+;R)?~#7Xvpi_W
z*bZ4{^<725{{UGu9L>xR6A;iQ(_^3z6cWmBjiev0N3XL~@EPRlZcctR+As;fw|a}X
ztYM&3jahI#ZzA3rfhzhRzz#R3-qS&45c0GZzO?L*yzxMAxy>j2oILed*1@)D=3+cP
zDke6z_<7TR@VtJV^L7)%i%zYIUSJ7F_65|%?6s7FLXNNALc5%}cp|4_pjN=~R-t0h
z**Ev^-m6UL6{2!rNZ>~l0i
zB;Ai5Ewk3qNfY)wS90oyS~mKlX>l@VGT=*UgY&sl3Gh%=Sk(`c1L4{EZ;
znT3&2d17Kh(rZbpdtkt4j+KK$NAArA?%(CPknCvft0~l<-i#k!#cKh6FD1koxGyF$
zDM`UZ&!ndQQ-3QfC>%w^czJml_sPx+KX_0W8VY=%SJmf-GW+t&a-$azGYl-dS6pV0
z8`o}AnvL9ucChC6Iy0>kckyhiNWn~zJEh*Zy
zY~HOACm{U}9gQ!^u{nj$drk@igvMX_bGyiFXbPaW%bild*n?Nm|{9X8gNMRkL`m
z0L->)DOhN*jj$&{0ne=Sm@QqdVA
zk9&~nCDN12-T1qk_%CU@9DA}TAi#biW>0toB%U7C
zedLI!J(3?l@V@j*GG(!5&-0pXszxw_%<=A;iFx1RL5^E%Ky
z#wC3ZNv|GA`S;ld^XFHkl$Kzl=8d-dA)xFZl-oNAI$}YB
z7kcRctV2gP<2&c4^d=FedGA12O=Oiq4AW;RtHe5ZSJP1|Aamc@1&I9edPie%UsgRu
znx$Ew)hR>RP!T}*jW5`b1J?rquMOe8+}~FiT?u_Kkys6z@k4dU*BbNUI|!|s2<1%@
z^h)yvk2>J9*f`02-TpLd{GvM!ICB!ri==YF0?~EOJ<3%tX5xLC{!D%Y76AGBa{%|l
zVp5`ocivKQff!`GTu(?zdpE9JcHBV{)f)Mxvz1L+rE42qT$UjX-RF
zGuuewB#IZ)!jDV!ZOHXZ89u6Fnv9iplkKwdLeY)DFW>HcNN#BIrQ=~DN-FoQ%0*kl
zE?e1_9$oUv9{p1tGy38w!5KPEV6%9(_1LDIZ;;TJg_?UmVH_om5(L&m=<1?V3
z<9P>*)bA-}r2~s<$HBA1^^vWn2uR@Dn+G9bjEG(3=^Oa5Y3EsjUyaL%;Bbf~!B;%!
zU{KQq;dy`8amKyU`U}}T%o#Jgf#Euas={Ml<$9*tk+v^KZp=*0YxQs63sqB5;ESN0z87@7zs|#urK2ZxH5ZsTI#T81{4Sp1?LppJI(OuFZ8Ww2o70=XZGio6|k^l(04X?$>Xd
zG}o2ril`b9;)Q+~&5p5M>3)q)g$2WW4FSnJ{rwL1eGlV^%L`0N%FWzV0M%lns2Cn`
zku(Z=FcKG*A?ciyg!S#bb&@5^5Y0KaTLW2hUZDife{`icPj?xHoEhP>pv^UR91C^^
zzh^8g<8$VIZSYctK;3M`+%bOLm0UD5+xxzd*4RY}vY6A1!0`S6db)L&`I+q(
z_&x4l@m%E$!o9F24_Sw!jft;yqLIW+1buM2>X`v767KE*WNl<@w`uWi&a+h5pI@BA
zZQ*Sl?-;1&FJDI_6&vwKJX*SIw{u)(8MI3eOdo$Eew*t6SUAdmHM&fl!u&+Ngn8ga
z_5qrHm^DMQJ<)_$H+KFZr9R*tb2Y}6KI2gkW%m>mtonUvW1<>;+uI-8VmMi-bE^dJ
zaRtRXN9#&2Jhx{PbOg4?jdBy-Y|rMzL1k48JF^bJ`|=qB8L7)6k*~G-!uH~$YZAkN
z9xbl8@tgV_CnjG$o9TKufW2c`d+EUXzSg#Dhd+Yc=s@JH*>C!@bQz68Y+1bxAB~)I
ztB(KpTO&`%>|x>JDmPYWK(7~71b@9=FKYD-aecJ;1o>Hj{N0?815ekP^SzzXx?;5x
zlN}S?=l`XHjN9qf?nl*1S}>g3?GL%S*WT|PUn<}*QIA8V_)yV7@uYQpP*EjZxd=4k)WdcPSTi$>hY|4+T)*@*w@zft19o7
z%62}gl^%Ut85ZuMy&aF$KGH>PPJgd%S*4+;H)CCCX;G;UJgustTo`b%!Tgv~Eg-Q#
z+NDcO%u^k1Om(M@LQAZF@PR%6X{yC4Cd9enu_SdoambM3DM-$8B9^OPNWP
z?I!1sVp-cx!d?CI^ZC{?BVrmf@%ROrn0FP}OK6XgD6)}h$6I!Av2&qa%kN?(C4T;X
zq*{OW)2jXTtS6_-SzcYIR;T|WB_2E3SKrTH5#gJhVtB24HblQAnY#g8fu7q
i3s~O&$4CMXmE@IL1CQ>wd0&4P0Bv=BwKA0#q5lI{A{Y(;
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/socials/wechat_open.png b/SC-web/public/cdn/socials/wechat_open.png
new file mode 100644
index 0000000000000000000000000000000000000000..08e2a2946d3f3d0c44dd2772bbcbafc2b87c6bec
GIT binary patch
literal 1607
zcmV-N2Dtf&P)`V}Q
z09noiu_lN-L7WXDIeoA7BYC+4O;?in<3Lcd(t`i$00JL;ad$XEpxh%O03s`Aq#P)r
z2plK}N=QIx<`m^X2?+?zoT3~kApxP8QwjSF$AJoQy!d=>V;O@w2960`ahMQ}XTcivCV+gBa!YXRktb`KSJCv^Z?oD?ec
z6#!4e-u$?Z$=dW`2a0`A+&Cd0bZ9dOLEC8v|MZ?xUDZMHR>S5;nq=ar*Zd^vih5!1
z+tr$1mDznYP#cD{G;)YuJO!*up!`we{RXyM=E}0NA_!lo-e1#AD$5v@Ki=&EdgGEo
zPGZDMP)OUwWB+v^nAA13Ipa18pbHBA%xjatnmylS3SkCHCy>og)Tos|2|SPb^M9SY
zcKFRHfcm`v)^*sQE%`eCqCueZVNv$_F6_^b1Pf4$i4iDo)Hw10PKw@4(TP@iIrpJS
zlTzSiE?kIvQSbJ0@psv~!u?HcK_gJXMe|c>l*@3o)Q%%n?)IZC_a+|9PZvQ2qsEZ7
z;M<}_L4_Yky?g>#`y&T6{-qsYz@W+=%6VqwY?C8MF#ffp(C0KF_j%-?1zSArEK9*<
z1FZ797?fm%(*fw5N2xR_bqof^%2U+7EzR)M)TNv8fnTnV%8Av6|tvqA037sxqkX
zM*BdmaA(aH7PM+FGi8nw%5%4PN
z-+ribOeUbp9eGV7(@q-hbm;fvXK$+{w;CFiY(h1ES4X}j2IY^M^y0!?s1{7A&mo_9
zLQ&5;Phx+mAbz!)ewYqc3~D1=k5dcE%qhCQr-{^i*hVVXcvP;bSP&G0TDLPtq*eFg
zsgJ=&X~Z*C1){o)2D6@NJGK{tl4QzN29UI&;|N4&>x7h!O;=6_^H-*06@yaapIZU`
z^x5gD5+YQo)e8g
z@#N}M6{iCCH7kyCxet|Kmd5E{Xt1qE4OR~1WdX=URmPxHvQnH=<;q&BDmr@X`{)nL
zwiDZ>RFiX}IVe_D4O?)*iBnEk{OChAMJw`UEn1+$vI<8v
z-J7nGmVRHHkXk!s@7LW)jIwNsR#w>OgrtACjz}teKbuVn)V{>NGAQoc64pdPG%TxC
zNhV=qv+Doy`mzG0JEbV($HA4c&!Sw0%O?LHP{gWA)}B@fo^tDvpPW&$E4n9PuPAoz
zl3My>O>0L=ZA+cG&DJVvtLt5hUyKTj?Lp-qZ6>s09HlZpQ*pg0>d&6nnU|RY)d%sx
zZ4xC*9&1pm+wP$%nSQb&kiOb!Lkw*Mu7$&c)LBuM0ikSuxxc6BiL?W2Q0caN1V}o9
z8WULQE7{IOO>A!miq(S8hPtk8apBA43y%qm0$XvSnf74^s-{tMH=8Oo>qzI#TBeoG
ztpQazA2V321X9?k@)>@6K-na(0$4VX?0uAAfW{_Cy@^BiAI5ES8rVYGPEcA|eC?4g
zX()JI2Q1SFm-Wu=+Ip)aypO6ySB4}YO)~Jj{yje2iMGl2!rsV<@W1
z%pTN8{w{7D#iXj$%W5Xw{`Wzd&?vBVpoAbDCHKl#qbX%qhx&5)u%aIYkLUeFqx?m2D^@pEUpg002ovPDHLk
FV1lf0{rdm_
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/socials/wxWork.png b/SC-web/public/cdn/socials/wxWork.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef9da2173aca495d9b188aff0a0a530528658057
GIT binary patch
literal 1884
zcmb7_`#%#31I9OIM5viCDI78qbB;@LYRqLg?u?OJ?wLDDhvQnxWXk2WA(rbl#wZOF
za~UOfa+uI6LM|a8m-qEAywB(JJl{Xy`Qe*kXM+|Mh6w`z08tBb6NeL8p43JNe6kOX
zk^@fwibh#D37sTC$nOyVAShvBV&oL(xmGl6D~pEq&DZi*JfM(0A%1LgWg4wQD+#!#
zDWoL2a%E8yt`Gg-$b*s}5*@R3{(S}76IneL(4sqGcxMu?-matx2v>Ns$9E@@*o`{g
z+PXS9#tg-`Ft|Dp*uF71P?Q1iz=A;UEM-%`9B2x-(n#wRV(?{|HvAH>isYOJ<|whX
z$MIuiB8V8^W)Fkr0>-T_Tc-IyybEuedRW*|=Y5IwOF&l`NOfj&H;!Hk*^=*hwa?sV
zHSmoyCyAehX4Ml+t=rngQDQuE@TSUQqzOpvp<(oQ?Q0tibq?DRhFPIa-8)P#vUbjm
zkImwC{h>~-FgCH{bR|^)BcSw`?~>VCt!h3a6>nT1!LNSMXb%>1D>ZB_U!_UeO{7?c
zmf13KSa)c^88T9+#6>wK6li^(uOq@2aY$K(%L5R+#Sc5+l!G
zPaviMCo{i}QVX54O$GW+C1#62LkzCLbZbB2EhWuOp_w)!z#Jb4o-R|lu5}zB^ca%L
z1eRmA7&^~?+|=FbG;A^A+m}#-FW)r!YSH~TEuNy0qV~$hrkQb=7M13ds)CTMlo9W+
zJDa!H75(~Ln)kw}En`iok|7pT=;{m=ev
z!aYG#7Vh3**Q-OXKPy()v)<1PkqHumf_{!Jvw{>p>S82a@>DcJqEd2s3-8FoQPw^4
z<+i~136M&?x*WDI%j?g9_vzQCGOY0~yS8iod>)9tx+KDLw4JU_3U>$u%ZrBOgJZ+V
zmvoux4Y%bMvV>VEW&a}c2Mu^}T7t=2w+gxb6^Ib4JewTybdyiG!2R1L%`sVS)$c-d
zCnGnSZYEDw7RT
z#lNO~7?!0(4RN`u{svwh__Du`hQl4#mrIN>kg6?lFP{)m&$g7ZjY?st{1v7`L6Omu
z>1^K`m59JErMbfhXVF5JpZN}_Rw`)h%jCOuv6xY39)rI7dz1rbb@p_?9~XRkn>zG2
zYe=IN9|U*EtXOMx277Fn?_yZk=_sY`MK($A?uQd29^?4oXYZ$K1oR8U7P22@
zn6y8~aiqd*$7*DvYY^>(4wvwf1<1gUfk@syzbT!iykp$DSl2=fb%Lbb`Rh}lC!=Jl
z2d90z)t7GG)<9aj^?p~JcD6Rk8{5^aLsJY>s8FJ@6LkUzO%^b@Kq^(Nzb9SC7IUmp
zI5mA?(q3Jf0#i@$Pz-tZqD*x8*3b1E3QLCC{dvTP3Nsb%j$1Ba3*_>T?E{_Qhb1QCNbWU
z`&--H{f<4Y&GucA)+3N?bj8w?{m&sXG~HO#x^e0w
zeSPc&9@Soazf*JMz~6t*dO~QTZ678LdMy@PJgAl*(W~6zBqqik%W@t{LUza)sLIqI
zpVN!Ik;fXg^Kc|&6T(M~r-6r^xSBA~w+;#)=3;5_5lQfo)vsrRX5BOKF%nF%^kwJf
zYVJ8yfMT;wOJWQ|(I;+uzO4vcZt?amCZ&;6%^g7j{RAFrEWJ5@Mw=hggTH0oKJ)3zU?~IK*n(aBLE`p7
zHOVDYODqhVPn$^g>DN>LLvOc+Vwl#5nwMKH?vbgFKg34{3wmhAHo0r6Q{#f}?vB#A
zq$l#cBr90!=I4veZz!r8_rGE6N9I=cqi$pBXc-*|Y7|$7
U_KG&qPjm^eFtstMLwTqE55Tp3)c^nh
literal 0
HcmV?d00001
diff --git a/SC-web/public/cdn/tinymce/langs/zh_CN.js b/SC-web/public/cdn/tinymce/langs/zh_CN.js
new file mode 100644
index 00000000..f9d8b5cf
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/langs/zh_CN.js
@@ -0,0 +1,389 @@
+tinymce.addI18n('zh_CN',{
+"Redo": "\u91cd\u505a",
+"Undo": "\u64a4\u9500",
+"Cut": "\u526a\u5207",
+"Copy": "\u590d\u5236",
+"Paste": "\u7c98\u8d34",
+"Select all": "\u5168\u9009",
+"New document": "\u65b0\u6587\u4ef6",
+"Ok": "\u786e\u5b9a",
+"Cancel": "\u53d6\u6d88",
+"Visual aids": "\u7f51\u683c\u7ebf",
+"Bold": "\u7c97\u4f53",
+"Italic": "\u659c\u4f53",
+"Underline": "\u4e0b\u5212\u7ebf",
+"Strikethrough": "\u5220\u9664\u7ebf",
+"Superscript": "\u4e0a\u6807",
+"Subscript": "\u4e0b\u6807",
+"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
+"Align left": "\u5de6\u8fb9\u5bf9\u9f50",
+"Align center": "\u4e2d\u95f4\u5bf9\u9f50",
+"Align right": "\u53f3\u8fb9\u5bf9\u9f50",
+"Justify": "\u4e24\u7aef\u5bf9\u9f50",
+"Bullet list": "\u9879\u76ee\u7b26\u53f7",
+"Numbered list": "\u7f16\u53f7\u5217\u8868",
+"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
+"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
+"Close": "\u5173\u95ed",
+"Formats": "\u683c\u5f0f",
+"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002",
+"Headers": "\u6807\u9898",
+"Header 1": "\u6807\u98981",
+"Header 2": "\u6807\u98982",
+"Header 3": "\u6807\u98983",
+"Header 4": "\u6807\u98984",
+"Header 5": "\u6807\u98985",
+"Header 6": "\u6807\u98986",
+"Headings": "\u6807\u9898",
+"Heading 1": "\u6807\u98981",
+"Heading 2": "\u6807\u98982",
+"Heading 3": "\u6807\u98983",
+"Heading 4": "\u6807\u98984",
+"Heading 5": "\u6807\u98985",
+"Heading 6": "\u6807\u98986",
+"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684",
+"Div": "Div",
+"Pre": "Pre",
+"Code": "\u4ee3\u7801",
+"Paragraph": "\u6bb5\u843d",
+"Blockquote": "\u5f15\u6587\u533a\u5757",
+"Inline": "\u6587\u672c",
+"Blocks": "\u57fa\u5757",
+"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002",
+"Fonts": "\u5b57\u4f53",
+"Font Sizes": "\u5b57\u53f7",
+"Class": "\u7c7b\u578b",
+"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf",
+"OR": "\u6216",
+"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64",
+"Upload": "\u4e0a\u4f20",
+"Block": "\u5757",
+"Align": "\u5bf9\u9f50",
+"Default": "\u9ed8\u8ba4",
+"Circle": "\u7a7a\u5fc3\u5706",
+"Disc": "\u5b9e\u5fc3\u5706",
+"Square": "\u65b9\u5757",
+"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
+"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
+"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
+"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"Anchor...": "\u951a\u70b9...",
+"Name": "\u540d\u79f0",
+"Id": "\u6807\u8bc6\u7b26",
+"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002",
+"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f",
+"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f",
+"Special characters...": "\u7279\u6b8a\u5b57\u7b26...",
+"Source code": "\u6e90\u4ee3\u7801",
+"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
+"Language": "\u8bed\u8a00",
+"Code sample...": "\u793a\u4f8b\u4ee3\u7801...",
+"Color Picker": "\u9009\u8272\u5668",
+"R": "R",
+"G": "G",
+"B": "B",
+"Left to right": "\u4ece\u5de6\u5230\u53f3",
+"Right to left": "\u4ece\u53f3\u5230\u5de6",
+"Emoticons...": "\u8868\u60c5\u7b26\u53f7...",
+"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027",
+"Title": "\u6807\u9898",
+"Keywords": "\u5173\u952e\u8bcd",
+"Description": "\u63cf\u8ff0",
+"Robots": "\u673a\u5668\u4eba",
+"Author": "\u4f5c\u8005",
+"Encoding": "\u7f16\u7801",
+"Fullscreen": "\u5168\u5c4f",
+"Action": "\u64cd\u4f5c",
+"Shortcut": "\u5feb\u6377\u952e",
+"Help": "\u5e2e\u52a9",
+"Address": "\u5730\u5740",
+"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f",
+"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f",
+"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84",
+"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355",
+"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):",
+"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a",
+"Learn more...": "\u4e86\u89e3\u66f4\u591a...",
+"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}",
+"Plugins": "\u63d2\u4ef6",
+"Handy Shortcuts": "\u5feb\u6377\u952e",
+"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
+"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
+"Image description": "\u56fe\u7247\u63cf\u8ff0",
+"Source": "\u5730\u5740",
+"Dimensions": "\u5927\u5c0f",
+"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
+"General": "\u666e\u901a",
+"Advanced": "\u9ad8\u7ea7",
+"Style": "\u6837\u5f0f",
+"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
+"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
+"Border": "\u8fb9\u6846",
+"Insert image": "\u63d2\u5165\u56fe\u7247",
+"Image...": "\u56fe\u7247...",
+"Image list": "\u56fe\u7247\u5217\u8868",
+"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
+"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
+"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
+"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
+"Edit image": "\u7f16\u8f91\u56fe\u7247",
+"Image options": "\u56fe\u7247\u9009\u9879",
+"Zoom in": "\u653e\u5927",
+"Zoom out": "\u7f29\u5c0f",
+"Crop": "\u88c1\u526a",
+"Resize": "\u8c03\u6574\u5927\u5c0f",
+"Orientation": "\u65b9\u5411",
+"Brightness": "\u4eae\u5ea6",
+"Sharpen": "\u9510\u5316",
+"Contrast": "\u5bf9\u6bd4\u5ea6",
+"Color levels": "\u989c\u8272\u5c42\u6b21",
+"Gamma": "\u4f3d\u9a6c\u503c",
+"Invert": "\u53cd\u8f6c",
+"Apply": "\u5e94\u7528",
+"Back": "\u540e\u9000",
+"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
+"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
+"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Text to display": "\u663e\u793a\u6587\u5b57",
+"Url": "\u5730\u5740",
+"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...",
+"Current window": "\u5f53\u524d\u7a97\u53e3",
+"None": "\u65e0",
+"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
+"Remove link": "\u5220\u9664\u94fe\u63a5",
+"Anchors": "\u951a\u70b9",
+"Link...": "\u94fe\u63a5...",
+"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
+"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f",
+"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f",
+"Link list": "\u94fe\u63a5\u5217\u8868",
+"Insert video": "\u63d2\u5165\u89c6\u9891",
+"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
+"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
+"Alternative source": "\u955c\u50cf",
+"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740",
+"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)",
+"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
+"Embed": "\u5185\u5d4c",
+"Media...": "\u591a\u5a92\u4f53...",
+"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c",
+"Page break": "\u5206\u9875\u7b26",
+"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c",
+"Preview": "\u9884\u89c8",
+"Print...": "\u6253\u5370...",
+"Save": "\u4fdd\u5b58",
+"Find": "\u67e5\u627e",
+"Replace with": "\u66ff\u6362\u4e3a",
+"Replace": "\u66ff\u6362",
+"Replace all": "\u5168\u90e8\u66ff\u6362",
+"Previous": "\u4e0a\u4e00\u4e2a",
+"Next": "\u4e0b\u4e00\u4e2a",
+"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...",
+"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
+"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
+"Find whole words only": "\u5168\u5b57\u5339\u914d",
+"Spell check": "\u62fc\u5199\u68c0\u67e5",
+"Ignore": "\u5ffd\u7565",
+"Ignore all": "\u5168\u90e8\u5ffd\u7565",
+"Finish": "\u5b8c\u6210",
+"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
+"Insert table": "\u63d2\u5165\u8868\u683c",
+"Table properties": "\u8868\u683c\u5c5e\u6027",
+"Delete table": "\u5220\u9664\u8868\u683c",
+"Cell": "\u5355\u5143\u683c",
+"Row": "\u884c",
+"Column": "\u5217",
+"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
+"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
+"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
+"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
+"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
+"Delete row": "\u5220\u9664\u884c",
+"Row properties": "\u884c\u5c5e\u6027",
+"Cut row": "\u526a\u5207\u884c",
+"Copy row": "\u590d\u5236\u884c",
+"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
+"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
+"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
+"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
+"Delete column": "\u5220\u9664\u5217",
+"Cols": "\u5217",
+"Rows": "\u884c",
+"Width": "\u5bbd",
+"Height": "\u9ad8",
+"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
+"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
+"Show caption": "\u663e\u793a\u6807\u9898",
+"Left": "\u5de6\u5bf9\u9f50",
+"Center": "\u5c45\u4e2d",
+"Right": "\u53f3\u5bf9\u9f50",
+"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
+"Scope": "\u8303\u56f4",
+"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
+"H Align": "\u6c34\u5e73\u5bf9\u9f50",
+"V Align": "\u5782\u76f4\u5bf9\u9f50",
+"Top": "\u9876\u90e8\u5bf9\u9f50",
+"Middle": "\u5782\u76f4\u5c45\u4e2d",
+"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
+"Header cell": "\u8868\u5934\u5355\u5143\u683c",
+"Row group": "\u884c\u7ec4",
+"Column group": "\u5217\u7ec4",
+"Row type": "\u884c\u7c7b\u578b",
+"Header": "\u8868\u5934",
+"Body": "\u8868\u4f53",
+"Footer": "\u8868\u5c3e",
+"Border color": "\u8fb9\u6846\u989c\u8272",
+"Insert template...": "\u63d2\u5165\u6a21\u677f...",
+"Templates": "\u6a21\u677f",
+"Template": "\u6a21\u677f",
+"Text color": "\u6587\u5b57\u989c\u8272",
+"Background color": "\u80cc\u666f\u8272",
+"Custom...": "\u81ea\u5b9a\u4e49...",
+"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
+"No color": "\u65e0",
+"Remove color": "\u79fb\u9664\u989c\u8272",
+"Table of Contents": "\u5185\u5bb9\u5217\u8868",
+"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846",
+"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26",
+"Word count": "\u5b57\u6570",
+"Words: {0}": "\u5b57\u6570\uff1a{0}",
+"{0} words": "{0} \u5b57",
+"File": "\u6587\u4ef6",
+"Edit": "\u7f16\u8f91",
+"Insert": "\u63d2\u5165",
+"View": "\u89c6\u56fe",
+"Format": "\u683c\u5f0f",
+"Table": "\u8868\u683c",
+"Tools": "\u5de5\u5177",
+"Powered by {0}": "\u7531{0}\u9a71\u52a8",
+"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9",
+"Image title": "\u56fe\u7247\u6807\u9898",
+"Border width": "\u8fb9\u6846\u5bbd\u5ea6",
+"Border style": "\u8fb9\u6846\u6837\u5f0f",
+"Error": "\u9519\u8bef",
+"Warn": "\u8b66\u544a",
+"Valid": "\u6709\u6548",
+"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846",
+"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002",
+"System Font": "\u7cfb\u7edf\u5b57\u4f53",
+"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}",
+"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}",
+"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}",
+"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}",
+"example": "\u793a\u4f8b",
+"Search": "\u641c\u7d22",
+"All": "\u5168\u90e8",
+"Currency": "\u8d27\u5e01",
+"Text": "\u6587\u5b57",
+"Quotations": "\u5f15\u7528",
+"Mathematical": "\u6570\u5b66",
+"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145",
+"Symbols": "\u7b26\u53f7",
+"Arrows": "\u7bad\u5934",
+"User Defined": "\u81ea\u5b9a\u4e49",
+"dollar sign": "\u7f8e\u5143\u7b26\u53f7",
+"currency sign": "\u8d27\u5e01\u7b26\u53f7",
+"euro-currency sign": "\u6b27\u5143\u7b26\u53f7",
+"colon sign": "\u5192\u53f7",
+"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7",
+"french franc sign": "\u6cd5\u90ce\u7b26\u53f7",
+"lira sign": "\u91cc\u62c9\u7b26\u53f7",
+"mill sign": "\u5bc6\u5c14\u7b26\u53f7",
+"naira sign": "\u5948\u62c9\u7b26\u53f7",
+"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7",
+"rupee sign": "\u5362\u6bd4\u7b26\u53f7",
+"won sign": "\u97e9\u5143\u7b26\u53f7",
+"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7",
+"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7",
+"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7",
+"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7",
+"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7",
+"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7",
+"peso sign": "\u6bd4\u7d22\u7b26\u53f7",
+"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7",
+"austral sign": "\u6fb3\u5143\u7b26\u53f7",
+"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7",
+"cedi sign": "\u585e\u5730\u7b26\u53f7",
+"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7",
+"spesmilo sign": "spesmilo\u7b26\u53f7",
+"tenge sign": "\u575a\u6208\u7b26\u53f7",
+"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4",
+"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9",
+"nordic mark sign": "\u5317\u6b27\u9a6c\u514b",
+"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7",
+"ruble sign": "\u5362\u5e03\u7b26\u53f7",
+"yen character": "\u65e5\u5143\u5b57\u6837",
+"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837",
+"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09",
+"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09",
+"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...",
+"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7",
+"People": "\u4eba\u7c7b",
+"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136",
+"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1",
+"Activity": "\u6d3b\u52a8",
+"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9",
+"Objects": "\u7269\u4ef6",
+"Flags": "\u65d7\u5e1c",
+"Characters": "\u5b57\u7b26",
+"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)",
+"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002",
+"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002",
+"Update": "\u66f4\u65b0",
+"Color swatch": "\u989c\u8272\u6837\u672c",
+"Turquoise": "\u9752\u7eff\u8272",
+"Green": "\u7eff\u8272",
+"Blue": "\u84dd\u8272",
+"Purple": "\u7d2b\u8272",
+"Navy Blue": "\u6d77\u519b\u84dd",
+"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272",
+"Dark Green": "\u6df1\u7eff\u8272",
+"Medium Blue": "\u4e2d\u84dd\u8272",
+"Medium Purple": "\u4e2d\u7d2b\u8272",
+"Midnight Blue": "\u6df1\u84dd\u8272",
+"Yellow": "\u9ec4\u8272",
+"Orange": "\u6a59\u8272",
+"Red": "\u7ea2\u8272",
+"Light Gray": "\u6d45\u7070\u8272",
+"Gray": "\u7070\u8272",
+"Dark Yellow": "\u6697\u9ec4\u8272",
+"Dark Orange": "\u6df1\u6a59\u8272",
+"Dark Red": "\u6df1\u7ea2\u8272",
+"Medium Gray": "\u4e2d\u7070\u8272",
+"Dark Gray": "\u6df1\u7070\u8272",
+"Black": "\u9ed1\u8272",
+"White": "\u767d\u8272",
+"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f",
+"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846",
+"history": "\u5386\u53f2",
+"styles": "\u6837\u5f0f",
+"formatting": "\u683c\u5f0f\u5316",
+"alignment": "\u5bf9\u9f50",
+"indentation": "\u7f29\u8fdb",
+"permanent pen": "\u8bb0\u53f7\u7b14",
+"comments": "\u5907\u6ce8",
+"Anchor": "\u951a\u70b9",
+"Special character": "\u7279\u6b8a\u7b26\u53f7",
+"Code sample": "\u4ee3\u7801\u793a\u4f8b",
+"Color": "\u989c\u8272",
+"Emoticons": "\u8868\u60c5",
+"Document properties": "\u6587\u6863\u5c5e\u6027",
+"Image": "\u56fe\u7247",
+"Insert link": "\u63d2\u5165\u94fe\u63a5",
+"Target": "\u6253\u5f00\u65b9\u5f0f",
+"Link": "\u94fe\u63a5",
+"Poster": "\u5c01\u9762",
+"Media": "\u5a92\u4f53",
+"Print": "\u6253\u5370",
+"Prev": "\u4e0a\u4e00\u4e2a",
+"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
+"Whole words": "\u5168\u5b57\u5339\u914d",
+"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
+"Caption": "\u6807\u9898",
+"Insert template": "\u63d2\u5165\u6a21\u677f"
+});
\ No newline at end of file
diff --git a/SC-web/public/cdn/tinymce/plugins/advlist/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/advlist/plugin.min.js
new file mode 100644
index 00000000..a07d3e31
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/advlist/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(){"use strict";function n(){}function o(n){return function(){return n}}function t(){return d}var e,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=function(n,t,e){var r="UL"===t?"InsertUnorderedList":"InsertOrderedList";n.execCommand(r,!1,!1===e?null:{"list-style-type":e})},i=function(e){e.addCommand("ApplyUnorderedListStyle",function(n,t){l(e,"UL",t["list-style-type"])}),e.addCommand("ApplyOrderedListStyle",function(n,t){l(e,"OL",t["list-style-type"])})},c=function(n){var t=n.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return t?t.split(/[ ,]/):[]},s=function(n){var t=n.getParam("advlist_bullet_styles","default,circle,square");return t?t.split(/[ ,]/):[]},f=o(!1),a=o(!0),d=(e={fold:function(n,t){return n()},is:f,isSome:f,isNone:a,getOr:m,getOrThunk:p,getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:o(null),getOrUndefined:o(undefined),or:m,orThunk:p,map:t,each:n,bind:t,exists:f,forall:a,filter:t,equals:g,equals_:g,toArray:function(){return[]},toString:o("none()")},Object.freeze&&Object.freeze(e),e);function g(n){return n.isNone()}function p(n){return n()}function m(n){return n}function y(n,t,e){var r=function(n,t){for(var e=0;e]*>((\xa0| |[ \t]| ]*>)+?|)"+n+">| $","i").test(e)}function i(t){var e=parseInt(v.getItem(o(t)+"time"),10)||0;return!((new Date).getTime()-e>function(t){return r(t.settings.autosave_retention,"20m")}(t))||(g(t,!1),!1)}function u(t){var e=o(t);!a(t)&&t.isDirty()&&(v.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),v.setItem(e+"time",(new Date).getTime().toString()),function(t){t.fire("StoreDraft")}(t))}function s(t){var e=o(t);i(t)&&(t.setContent(v.getItem(e+"draft"),{format:"raw"}),function(t){t.fire("RestoreDraft")}(t))}function c(t,e){var n=function(t){return r(t.settings.autosave_interval,"30s")}(t);e.get()||(m.setInterval(function(){t.removed||u(t)},n),e.set(!0))}function f(t){t.undoManager.transact(function(){s(t),g(t)}),t.focus()}var l=function(t){function e(){return n}var n=t;return{get:e,set:function(t){n=t},clone:function(){return l(e())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),m=tinymce.util.Tools.resolve("tinymce.util.Delay"),v=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),d=tinymce.util.Tools.resolve("tinymce.util.Tools"),g=function(t,e){var n=o(t);v.removeItem(n+"draft"),v.removeItem(n+"time"),!1!==e&&function(t){t.fire("RemoveDraft")}(t)};function y(r){for(var o=[],t=1;t >=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c["boolean"]},{}],2:[function(e,n,t){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(?:true|false)\b/,"function":/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},{}],3:[function(e,t,n){(function(e){var n=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,E={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof O?new O(e.type,E.util.encode(e.content),e.alias):Array.isArray(e)?e.map(E.util.encode):e.replace(/&/g,"&").replace(/ e.length)return;if(!(w instanceof O)){if(g&&b!=n.length-1){if(c.lastIndex=y,!(F=c.exec(e)))break;for(var v=F.index+(d&&F[1]?F[1].length:0),k=F.index+F[0].length,x=b,_=y,A=n.length;x"+t.content+""+t.tag+">"},!u.document)return u.addEventListener&&(E.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(E.highlight(r,E.languages[t],t)),a&&u.close()},!1)),E;var e=E.util.currentScript();if(e&&(E.filename=e.src,e.hasAttribute("data-manual")&&(E.manual=!0)),!E.manual){var t=function(){E.manual||E.highlightAll()},r=document.readyState;"loading"===r||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",t):window.requestAnimationFrame?window.requestAnimationFrame(t):window.setTimeout(t,16)}return E}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});void 0!==t&&t.exports&&(t.exports=n),void 0!==e&&(e.Prism=n)}).call(this,void 0!==w?w:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,n,t){Prism.languages.cpp=Prism.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,"boolean":/\b(?:true|false)\b/}),Prism.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}})},{}],5:[function(e,n,t){Prism.languages.csharp=Prism.languages.extend("clike",{keyword:/\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\b/,string:[{pattern:/@("|')(?:\1\1|\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*?\1/,greedy:!0}],"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=\s+\w+)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|interface|new)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)f?/i,operator:/>>=?|<<=?|[-=]>|([-+&|?])\1|~|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),Prism.languages.insertBefore("csharp","class-name",{"generic-method":{pattern:/\w+\s*<[^>\r\n]+?>\s*(?=\()/,inside:{"function":/^\w+/,"class-name":{pattern:/\b[A-Z]\w*(?:\.\w+)*\b/,inside:{punctuation:/\./}},keyword:Prism.languages.csharp.keyword,punctuation:/[<>(),.:]/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}}),Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp},{}],6:[function(e,n,t){!function(e){var n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+n.source+"|[^\n\r()]*)\\)","i"),inside:{"function":/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+n.source+")*?(?=\\s*\\{)"),string:{pattern:n,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var t=e.languages.markup;t&&(t.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:t.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},t.tag))}(Prism)},{}],7:[function(e,n,t){var r,a,i;r=Prism,a=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,i=/\b[A-Z](?:\w*[a-z]\w*)?\b/,r.languages.java=r.languages.extend("clike",{"class-name":[i,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:a,"function":[r.languages.clike["function"],{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),r.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),r.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(?:\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})},{}],8:[function(e,n,t){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,"function":/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript},{}],9:[function(e,n,t){function b(e,n){return"___"+e.toUpperCase()+n+"___"}var y;y=Prism,Object.defineProperties(y.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,a,e,i){if(r.language===a){var s=r.tokenStack=[];r.code=r.code.replace(e,function(e){if("function"==typeof i&&!i(e))return e;for(var n,t=s.length;-1!==r.code.indexOf(n=b(a,t));)++t;return s[t]=e,n}),r.grammar=y.languages.markup}}},tokenizePlaceholders:{value:function(d,g){if(d.language===g&&d.tokenStack){d.grammar=y.languages[g];var m=0,f=Object.keys(d.tokenStack);!function h(e){for(var n=0;n=f.length);n++){var t=e[n];if("string"==typeof t||t.content&&"string"==typeof t.content){var r=f[m],a=d.tokenStack[r],i="string"==typeof t?t:t.content,s=b(g,r),o=i.indexOf(s);if(-1/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!)*\]\s*)?>/i,greedy:!0},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,n){var t={};t["language-"+n]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[n]},t.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:t}};r["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var a={};a[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:r},Prism.languages.insertBefore("markup","cdata",a)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup},{}],11:[function(e,n,t){!function(n){n.languages.php=n.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,"boolean":{pattern:/\b(?:false|true)\b/i,alias:"constant"},constant:[/\b[A-Z_][A-Z0-9_]*\b/,/\b(?:null)\b/i],comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),n.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),n.languages.insertBefore("php","comment",{delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"}}),n.languages.insertBefore("php","keyword",{variable:/\$+(?:\w+\b|(?={))/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),n.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var e={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:n.languages.php};n.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:e}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:e}}}),delete n.languages.php.string,n.hooks.add("before-tokenize",function(e){if(/<\?/.test(e.code)){n.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi)}}),n.hooks.add("after-tokenize",function(e){n.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(Prism)},{}],12:[function(e,n,t){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,"boolean":/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},{}],13:[function(e,n,t){!function(e){e.languages.ruby=e.languages.extend("clike",{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],"class-name":{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.languages.ruby}};delete e.languages.ruby["function"],e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[.+?]|\\.|[^/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{"function":/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0,inside:{interpolation:n}},{pattern:/("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism)},{}],14:[function(e,n,t){var r=e("prismjs/components/prism-core");e("prismjs/components/prism-clike"),e("prismjs/components/prism-markup-templating"),e("prismjs/components/prism-c"),e("prismjs/components/prism-cpp"),e("prismjs/components/prism-csharp"),e("prismjs/components/prism-css"),e("prismjs/components/prism-java"),e("prismjs/components/prism-javascript"),e("prismjs/components/prism-markup"),e("prismjs/components/prism-php"),e("prismjs/components/prism-python"),e("prismjs/components/prism-ruby"),n.exports={boltExport:r}},{"prismjs/components/prism-c":1,"prismjs/components/prism-clike":2,"prismjs/components/prism-core":3,"prismjs/components/prism-cpp":4,"prismjs/components/prism-csharp":5,"prismjs/components/prism-css":6,"prismjs/components/prism-java":7,"prismjs/components/prism-javascript":8,"prismjs/components/prism-markup":10,"prismjs/components/prism-markup-templating":9,"prismjs/components/prism-php":11,"prismjs/components/prism-python":12,"prismjs/components/prism-ruby":13}]},{},[14])(14)});var a=window.Prism;window.Prism=e}(undefined,b,y,undefined);function v(e){var n=e.selection?e.selection.getNode():null;return f.isCodeSample(n)?g.some(n):g.none()}var k,x=y.exports.boltExport,_=function(e){return e.getParam("codesample_languages")},A=function(e){return e.getParam("codesample_global_prismjs",!1,"boolean")},F=function(e){return h.Prism&&A(e)?h.Prism:x},P=v,S=function(n,t,r){n.undoManager.transact(function(){var e=v(n);return r=m.DOM.encode(r),e.fold(function(){n.insertContent(''+r+" "),n.selection.select(n.$("#__new").removeAttr("id")[0])},function(e){n.dom.setAttrib(e,"class","language-"+t),e.innerHTML=r,F(n).highlightElement(e),n.selection.select(e)})})},j=function(e){return v(e).fold(function(){return""},function(e){return e.textContent})},$=function(e){var n=_(e);return n||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},C=function(e,t){return P(e).fold(function(){return t},function(e){var n=e.className.match(/language-(\w+)/);return n?n[1]:t})},E=(k="function",function(e){return function(e){if(null===e)return"null";var n=typeof e;return"object"==n&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"==n&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":n}(e)===k}),O=Array.prototype.slice,z=(E(Array.from)&&Array.from,function(t){var e=$(t),n=function(e){return 0===e.length?g.none():g.some(e[0])}(e).fold(function(){return""},function(e){return e.value}),r=C(t,n),a=j(t);t.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"selectbox",name:"language",label:"Language",items:e},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:r,code:a},onSubmit:function(e){var n=e.getData();S(t,n.language,n.code),e.close()}})}),N=function(n){n.addCommand("codesample",function(){var e=n.selection.getNode();n.selection.isCollapsed()||f.isCodeSample(e)?z(n):n.formatter.toggle("code")})},T=function(t){var a=t.$;t.on("PreProcess",function(e){a("pre[contenteditable=false]",e.node).filter(f.trimArg(f.isCodeSample)).each(function(e,n){var t=a(n),r=n.textContent;t.attr("class",a.trim(t.attr("class"))),t.removeAttr("contentEditable"),t.empty().append(a("
").each(function(){this.textContent=r}))})}),t.on("SetContent",function(){var e=a("pre").filter(f.trimArg(f.isCodeSample)).filter(function(e,n){return"false"!==n.contentEditable});e.length&&t.undoManager.transact(function(){e.each(function(e,n){a(n).find("br").each(function(e,n){n.parentNode.replaceChild(t.getDoc().createTextNode("\n"),n)}),n.contentEditable="false",n.innerHTML=t.dom.encode(n.textContent),F(t).highlightElement(n),n.className=a.trim(n.className)})})})},B=function(t){t.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:function(){return z(t)},onSetup:function(e){function n(){e.setActive(function(e){var n=e.selection.getStart();return e.dom.is(n,'pre[class*="language-"]')}(t))}return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}}}),t.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:function(){return z(t)}})};!function M(){a.add("codesample",function(n){T(n),B(n),N(n),n.on("dblclick",function(e){f.isCodeSample(e.target)&&z(n)})})}()}(window);
\ No newline at end of file
diff --git a/SC-web/public/cdn/tinymce/plugins/directionality/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/directionality/plugin.min.js
new file mode 100644
index 00000000..0d601b5a
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/directionality/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(i){"use strict";function n(){}function u(n){return function(){return n}}function t(){return a}var e,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),o=function(n,t){var e,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),c.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},d=function(n){n.addCommand("mceDirectionLTR",function(){o(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){o(n,"rtl")})},f=u(!1),l=u(!0),a=(e={fold:function(n,t){return n()},is:f,isSome:f,isNone:l,getOr:s,getOrThunk:N,getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:u(null),getOrUndefined:u(undefined),or:s,orThunk:N,map:t,each:n,bind:t,exists:f,forall:l,filter:t,equals:m,equals_:m,toArray:function(){return[]},toString:u("none()")},Object.freeze&&Object.freeze(e),e);function m(n){return n.isNone()}function N(n){return n()}function s(n){return n}function g(n,t){var e=n.dom(),r=i.window.getComputedStyle(e).getPropertyValue(t),o=""!==r||function(n){var t=A(n)?n.dom().parentNode:n.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)}(n)?r:w(e,t);return null===o?undefined:o}function T(t,r){return function(e){function n(n){var t=p.fromDom(n.element);e.setActive(function(n){return"rtl"===g(n,"direction")?"rtl":"ltr"}(t)===r)}return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}}}var E,O,y=function(e){function n(){return o}function t(n){return n(e)}var r=u(e),o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:l,isNone:f,getOr:r,getOrThunk:r,getOrDie:r,getOrNull:r,getOrUndefined:r,or:n,orThunk:n,map:function(n){return y(n(e))},each:function(n){n(e)},bind:t,exists:t,forall:t,filter:function(n){return n(e)?o:a},toArray:function(){return[e]},toString:function(){return"some("+e+")"},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(f,function(n){return t(e,n)})}};return o},D=function(n){return null===n||n===undefined?a:y(n)},h=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:u(n)}},p={fromHtml:function(n,t){var e=(t||i.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1Could not load emoticons
"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),a.focus(U),a.unblock()}))},B=function(n,t){function e(){return R(n,t)}n.ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:e}),n.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:e})};!function G(){r.add("emoticons",function(n,t){var e=F(n,t),r=q(n),o=h(n,e,r);B(n,o),function(r,o){r.ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,e){return o.waitForLoad().then(function(){var n=o.listAll();return d(n,t,A.some(e))})},onAction:function(n,t,e){r.selection.setRng(t),r.insertContent(e),n.hide()}})}(n,o)})}()}(window);
\ No newline at end of file
diff --git a/SC-web/public/cdn/tinymce/plugins/fullscreen/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/fullscreen/plugin.min.js
new file mode 100644
index 00000000..6eb913e6
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/fullscreen/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(d){"use strict";function t(){}function m(n){return function(){return n}}function n(){return f}var e,u=function(n){function e(){return r}var r=n;return{get:e,set:function(n){r=n},clone:function(){return u(e())}}},r=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){return{isFullscreen:function(){return null!==n.get()}}},c=m(!1),i=m(!0),f=(e={fold:function(n,e){return n()},is:c,isSome:c,isNone:i,getOr:l,getOrThunk:a,getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:m(null),getOrUndefined:m(undefined),or:l,orThunk:a,map:n,each:t,bind:n,exists:c,forall:i,filter:n,equals:s,equals_:s,toArray:function(){return[]},toString:m("none()")},Object.freeze&&Object.freeze(e),e);function s(n){return n.isNone()}function a(n){return n()}function l(n){return n}function h(){return function(n){function e(){r.get().each(n)}var r=u(Y.none());return{clear:function(){e(),r.set(Y.none())},isSet:function(){return r.get().isSome()},set:function(n){e(),r.set(Y.some(n))}}}(function(n){n.unbind()})}function v(e){return function(n){return function(n){if(null===n)return"null";var e=typeof n;return"object"==e&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==e&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":e}(n)===e}}function g(n,e){for(var r=n.length,t=new Array(r),o=0;o${name}');return{name:"plugins",title:"Plugins",items:[{type:"htmlpanel",presets:"document",html:[(n=e,null==n?"":'"),(t=y(["Accessibility Checker","Advanced Code Editor","Advanced Tables","Case Change","Checklist","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","Page Embed","Permanent Pen","PowerPaste","Spell Checker Pro"],function(e){return""+U.translate(e)+" "}).join(""),''+U.translate("Premium plugins:")+"
")].join("")}]}},N=tinymce.util.Tools.resolve("tinymce.EditorManager"),L=function(){var e,t,n='TinyMCE '+(e=N.majorVersion,t=N.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+" ";return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:""+U.translate(["You are using {0}",n])+"
",presets:"document"}]}},B=function(){return{name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:"Editor UI keyboard navigation \n\nActivating keyboard navigation \n\nThe sections of the outer UI of the editor - the menubar, toolbar, sidebar and footer - are all keyboard navigable. As such, there are multiple ways to activate keyboard navigation:
\n\n Focus the menubar: Alt + F9 (Windows) or ⌥F9 (MacOS) \n Focus the toolbar: Alt + F10 (Windows) or ⌥F10 (MacOS) \n Focus the footer: Alt + F11 (Windows) or ⌥F11 (MacOS) \n \n\nFocusing the menubar or toolbar will start keyboard navigation at the first item in the menubar or toolbar, which will be highlighted with a gray background. Focusing the footer will start keyboard navigation at the first item in the element path, which will be highlighted with an underline.
\n\nMoving between UI sections \n\nWhen keyboard navigation is active, pressing tab will move the focus to the next major section of the UI, where applicable. These sections are:
\n\n the menubar \n each group of the toolbar \n the sidebar \n the element path in the footer \n the wordcount toggle button in the footer \n the branding link in the footer \n \n\nPressing shift + tab will move backwards through the same sections, except when moving from the footer to the toolbar. Focusing the element path then pressing shift + tab will move focus to the first toolbar group, not the last.
\n\nMoving within UI sections \n\nKeyboard navigation within UI sections can usually be achieved using the left and right arrow keys. This includes:
\n\n moving between menus in the menubar \n moving between buttons in a toolbar group \n moving between items in the element path \n \n\nIn all these UI sections, keyboard navigation will cycle within the section. For example, focusing the last button in a toolbar group then pressing right arrow will move focus to the first item in the same toolbar group.
\n\nExecuting buttons \n\nTo execute a button, navigate the selection to the desired button and hit space or enter.
\n\nOpening, navigating and closing menus \n\nWhen focusing a menubar button or a toolbar button with a menu, pressing space, enter or down arrow will open the menu. When the menu opens the first item will be selected. To move up or down the menu, press the up or down arrow key respectively. This is the same for submenus, which can also be opened and closed using the left and right arrow keys.
\n\nTo close any active menu, hit the escape key. When a menu is closed the selection will be restored to its previous selection. This also works for closing submenus.
\n\nContext toolbars and menus \n\nTo focus an open context toolbar such as the table context toolbar, press Ctrl + F9 (Windows) or ⌃F9 (MacOS).
\n\nContext toolbar navigation is the same as toolbar navigation, and context menu navigation is the same as standard menu navigation.
\n\nDialog navigation \n\nThere are two types of dialog UIs in TinyMCE: tabbed dialogs and non-tabbed dialogs.
\n\nWhen a non-tabbed dialog is opened, the first interactive component in the dialog will be focused. Users can navigate between interactive components by pressing tab. This includes any footer buttons. Navigation will cycle back to the first dialog component if tab is pressed while focusing the last component in the dialog. Pressing shift + tab will navigate backwards.
\n\nWhen a tabbed dialog is opened, the first button in the tab menu is focused. Pressing tab will navigate to the first interactive component in that tab, and will cycle through the tab\u2019s components, the footer buttons, then back to the tab button. To switch to another tab, focus the tab button for the current tab, then use the arrow keys to cycle through the tab buttons.
"}]}};!function z(){t.add("help",function(e){var t=a({}),n=function(n){return{addTab:function(e){var t=n.get();t[e.name]=e,n.set(t)}}}(t),o=A(e,t);return s(e,o),i(e,o),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),n})}()}();
\ No newline at end of file
diff --git a/SC-web/public/cdn/tinymce/plugins/hr/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/hr/plugin.min.js
new file mode 100644
index 00000000..46603789
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/hr/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1," ")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};!function e(){n.add("hr",function(n){o(n),t(n)})}()}();
\ No newline at end of file
diff --git a/SC-web/public/cdn/tinymce/plugins/image/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/image/plugin.min.js
new file mode 100644
index 00000000..dabe6ff0
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/image/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(s){"use strict";function o(){}function a(t){return function(){return t}}function t(t){return t}function e(){return l}var n,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=a(!1),c=a(!0),l=(n={fold:function(t,e){return t()},is:u,isSome:u,isNone:c,getOr:d,getOrThunk:f,getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:a(null),getOrUndefined:a(undefined),or:d,orThunk:f,map:e,each:o,bind:e,exists:u,forall:c,filter:e,equals:i,equals_:i,toArray:function(){return[]},toString:a("none()")},Object.freeze&&Object.freeze(n),n);function i(t){return t.isNone()}function f(t){return t()}function d(t){return t}function m(e){return function(t){return function(t){if(null===t)return"null";var e=typeof t;return"object"==e&&(Array.prototype.isPrototypeOf(t)||t.constructor&&"Array"===t.constructor.name)?"array":"object"==e&&(String.prototype.isPrototypeOf(t)||t.constructor&&"String"===t.constructor.name)?"string":e}(t)===e}}function T(t){for(var e=[],n=0,r=t.length;n'+n+"")}else e.insertContent(i(e,t))},g=i,y=function(e){e.addCommand("mceInsertDate",function(){p(e,t(e))}),e.addCommand("mceInsertTime",function(){p(e,o(e))})},M=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e){function t(){return n}var n=e;return{get:t,set:function(e){n=e},clone:function(){return S(t())}}},v=function(n){var t=u(n),r=S(c(n));n.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:function(e){return e===r.get()},fetch:function(e){e(M.map(t,function(e){return{type:"choiceitem",text:g(n,e),value:e}}))},onAction:function(){for(var e=[],t=0;t ');
+
+ editor.ui.registry.addMenuButton('lineheight', {
+ icon: 'lineheight',
+ tooltip: pluginName,
+ fetch: function(callback) {
+ var dom = editor.dom;
+ var blocks = editor.selection.getSelectedBlocks();
+ var lhv = 0;
+ global$1.each(blocks, function(block) {
+ if(lhv==0){
+ lhv = dom.getStyle(block,'line-height') ? dom.getStyle(block,'line-height') : 0;
+ }
+ });
+
+ var items = lineheight_val.split(' ').map(function(item){
+ var text = item;
+ var value = item;
+ return {
+ type: 'togglemenuitem',
+ text: text,
+ active : lhv==value ? true :false,
+ onAction: function() {
+ doAct(value);
+ }
+ };
+ });
+ callback(items);
+ }
+ });
+
+ return {
+ getMetadata: function () {
+ return {
+ name: pluginName
+ };
+ }
+ };
+});
diff --git a/SC-web/public/cdn/tinymce/plugins/link/plugin.min.js b/SC-web/public/cdn/tinymce/plugins/link/plugin.min.js
new file mode 100644
index 00000000..000ff86f
--- /dev/null
+++ b/SC-web/public/cdn/tinymce/plugins/link/plugin.min.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ *
+ * Version: 5.2.0 (2020-02-13)
+ */
+!function(c){"use strict";function n(t){return function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"==t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t}(n)===t}}function u(){}function i(n){return function(){return n}}function t(){return C}var e,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=tinymce.util.Tools.resolve("tinymce.util.VK"),a=n("string"),f=n("array"),l=n("boolean"),s=n("function"),d=function(n){var t=n.getParam("link_assume_external_targets",!1);return l(t)&&t?1:!a(t)||"http"!==t&&"https"!==t?0:t},m=function(n){return n.getParam("link_context_toolbar",!1,"boolean")},h=function(n){return n.getParam("link_list")},p=function(n){return n.getParam("default_link_target")},g=function(n){return n.getParam("target_list",!0)},v=function(n){return n.getParam("rel_list",[],"array")},y=function(n){return n.getParam("link_class_list",[],"array")},w=function(n){return n.getParam("link_title",!0,"boolean")},k=function(n){return n.getParam("allow_unsafe_link_target",!1,"boolean")},x=function(n){return n.getParam("link_quicklink",!1,"boolean")},b=function(n){return n.getParam("link_default_protocol","http","string")},_=function(n){var t=c.document.createElement("a");t.target="_blank",t.href=n,t.rel="noreferrer noopener";var e=c.document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,c.window,0,0,0,0,0,!1,!1,!1,!1,0,null),function(n,t){c.document.body.appendChild(n),n.dispatchEvent(t),c.document.body.removeChild(n)}(t,e)},T=function(){return(T=Object.assign||function(n){for(var t,e=1,r=arguments.length;e]+>[^<]+<\/a>$/.test(n)||-1===n.indexOf("href=")))},ln=U,sn=function(n,t){return function(n){return n.replace(/\uFEFF/g,"")}(t?t.innerText||t.textContent:n.getContent({format:"text"}))},dn=D,mn=R,hn={sanitize:function(n){return B(K)(n)},sanitizeWith:B,createUi:function(t,e){return function(n){return{name:t,type:"selectbox",label:e,items:n}}},getValue:K},pn=function(n){function t(){return e}var e=n;return{get:t,set:function(n){e=n},clone:function(){return pn(t())}}},gn=function(n,r){function e(n,t){var e=function(n,t){return"link"===t?n.catalogs.link:"anchor"===t?n.catalogs.anchor:X.none()}(r,t.name).getOr([]);return V(o.get(),t.name,e,n)}var o=pn(n.text);return{onChange:function(n,t){return"url"===t.name?function(n){if(o.get().length<=0){var t=n.url.meta.text!==undefined?n.url.meta.text:n.url.value,e=n.url.meta.title!==undefined?n.url.meta.title:"";return X.some({text:t,title:e})}return X.none()}(n()):I(["anchor","link"],t.name)?e(n(),t):("text"===t.name&&o.set(n().text),X.none())}}},vn={},yn={exports:vn};W=undefined,H=vn,$=yn,G=undefined,function(n){"object"==typeof H&&void 0!==$?$.exports=n():"function"==typeof W&&W.amd?W([],n):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).EphoxContactWrapper=n()}(function(){return function l(i,u,c){function a(t,n){if(!u[t]){if(!i[t]){var e="function"==typeof G&&G;if(!n&&e)return e(t,!0);if(f)return f(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var o=u[t]={exports:{}};i[t][0].call(o.exports,function(n){return a(i[t][1][n]||n)},o,o.exports,l,i,u,c)}return u[t].exports}for(var f="function"==typeof G&&G,n=0;ne.length?ne(t,e,n):ee(t,e,n)},[]);return S(n).map(function(e){return e.list})}(e.contentDocument,n).toArray()}function de(e){var n=g(Zn.getSelectedListItems(e),Ln.fromDom);return A(N(n,t(re)),N(function(e){var n=Xe.call(e,0);return n.reverse(),n}(n),t(re)),function(e,n){return{start:e,end:n}})}function le(t,e,r){var n=function(e,n){var t=Ge(!1);return g(e,function(e){return{sourceList:e,entries:ot(0,n,t,e)}})}(e,de(t));p(n,function(e){!function(e,n){p(v(e,ie),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(n,e)})}(e.entries,r);var n=function(n,e){return y(function(e,n){if(0===e.length)return[];for(var t=n(e[0]),r=[],o=[],i=0,u=e.length;i=e.childNodes.length?t.data.length:0}:t.previousSibling&&Un(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&Un(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}}function ve(e,n){var t=g(Zn.getSelectedListRoots(e),Ln.fromDom),r=g(Zn.getSelectedDlItems(e),Ln.fromDom),o=!1;if(t.length||r.length){var i=e.selection.getBookmark();le(e,t,n),ge(e,n,r),e.selection.moveToBookmark(i),e.selection.setRng(st(e.selection.getRng())),e.nodeChanged(),o=!0}return o}function he(e){return ve(e,"Indent")}function Ne(e){return ve(e,"Outdent")}function ye(e){return ve(e,"Flatten")}function Se(e){return/\btox\-/.test(e.className)}function Oe(e){switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}}function Ce(t,e){Mn.each(e,function(e,n){t.setAttribute(n,e)})}function be(e,n,t){!function(e,n,t){var r=t["list-style-type"]?t["list-style-type"]:null;e.setStyle(n,"list-style-type",r)}(e,n,t),function(e,n,t){Ce(n,t["list-attributes"]),Mn.each(e.select("li",n),function(e){Ce(e,t["list-item-attributes"])})}(e,n,t)}function Le(e,n,t,r){var o,i;for(o=n[t?"startContainer":"endContainer"],i=n[t?"startOffset":"endOffset"],1===o.nodeType&&(o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o),!t&&Wn(o.nextSibling)&&(o=o.nextSibling);o.parentNode!==r;){if(Kn(e,o))return o;if(/^(TD|TH)$/.test(o.parentNode.nodeName))return o;o=o.parentNode}return o}function Te(r,o,i){void 0===i&&(i={});var e,n=r.selection.getRng(!0),u="LI",t=Zn.getClosestListRootElm(r,r.selection.getStart(!0)),a=r.dom;"false"!==a.getContentEditable(r.selection.getNode())&&("DL"===(o=o.toUpperCase())&&(u="DT"),e=dt(n),Mn.each(function(t,e,r){for(var o,i=[],u=t.dom,n=Le(t,e,!0,r),a=Le(t,e,!1,r),s=[],c=n;c&&(s.push(c),c!==a);c=c.nextSibling);return Mn.each(s,function(e){if(Kn(t,e))return i.push(e),void(o=null);if(u.isBlock(e)||Wn(e))return Wn(e)&&u.remove(e),void(o=null);var n=e.nextSibling;ct.isBookmarkNode(e)&&(Kn(t,n)||!n&&e.parentNode===r)?o=null:(o||(o=u.create("p"),e.parentNode.insertBefore(o,e),i.push(o)),o.appendChild(e))}),i}(r,n,t),function(e){var n,t;(t=e.previousSibling)&&Fn(t)&&t.nodeName===o&&function(e,n,t){var r=e.getStyle(n,"list-style-type"),o=t?t["list-style-type"]:"";return r===(o=null===o?"":o)}(a,t,i)?(n=t,e=a.rename(e,u),t.appendChild(e)):(n=a.create(o),e.parentNode.insertBefore(n,e),n.appendChild(e),e=a.rename(e,u)),function(t,r,e){Mn.each(e,function(e){var n;return t.setStyle(r,((n={})[e]="",n))})}(a,e,["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"]),be(a,n,i),mt(r.dom,n)}),r.selection.setRng(lt(e)))}function De(e,n,t){return function(e,n){return e&&n&&Fn(e)&&e.nodeName===n.nodeName}(n,t)&&function(e,n,t){return e.getStyle(n,"list-style-type",!0)===e.getStyle(t,"list-style-type",!0)}(e,n,t)&&function(e,n){return e.className===n.className}(n,t)}function Ee(n,e,t,r,o){if(e.nodeName!==r||gt(o)){var i=dt(n.selection.getRng(!0));Mn.each([e].concat(t),function(e){!function(e,n,t,r){if(n.nodeName!==t){var o=e.dom.rename(n,t);be(e.dom,o,r),j(e,Oe(t),o)}else be(e.dom,n,r),j(e,Oe(t),n)}(n,e,r,o)}),n.selection.setRng(lt(i))}else ye(n)}function we(e,n){var t,r=n.parentNode;"LI"===r.nodeName&&r.firstChild===n&&((t=r.previousSibling)&&"LI"===t.nodeName?(t.appendChild(n),Qn(e,r)&&vt.remove(r)):vt.setStyle(r,"listStyleType","none")),Fn(r)&&(t=r.previousSibling)&&"LI"===t.nodeName&&t.appendChild(n)}function ke(e,n,t,r){var o=n.startContainer,i=n.startOffset;if(Un(o)&&(t?i"}(n):"application/x-shockwave-flash"===n.sourcemime?function(e){var t='';return e.poster&&(t+=' '),t+=" "}(n):-1!==n.sourcemime.indexOf("audio")?function(e,t){return t?t(e):''+(e.altsource?'\n \n":"")+" "}(n,o):"script"===n.type?function(e){return'
+
\ No newline at end of file
diff --git a/SC-web/src/components/ExportBox/index.vue b/SC-web/src/components/ExportBox/index.vue
new file mode 100644
index 00000000..bb6b6b0c
--- /dev/null
+++ b/SC-web/src/components/ExportBox/index.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+ 当前页面数据
+ 全部页面数据
+
+
+
+ 列表数据请选择导出字段
+ 全选
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+
+
diff --git a/SC-web/src/components/Generator/components/GroupSelect/index.vue b/SC-web/src/components/Generator/components/GroupSelect/index.vue
new file mode 100644
index 00000000..7b397cc4
--- /dev/null
+++ b/SC-web/src/components/Generator/components/GroupSelect/index.vue
@@ -0,0 +1,345 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/SC-web/src/components/Generator/components/JnpfLink/index.vue b/SC-web/src/components/Generator/components/JnpfLink/index.vue
new file mode 100644
index 00000000..2fc806cc
--- /dev/null
+++ b/SC-web/src/components/Generator/components/JnpfLink/index.vue
@@ -0,0 +1,46 @@
+
+
+ {{ content }}
+
+
+
\ No newline at end of file
diff --git a/SC-web/src/components/Generator/components/PopupSelect/index.vue b/SC-web/src/components/Generator/components/PopupSelect/index.vue
index c19fbe67..449f49cf 100644
--- a/SC-web/src/components/Generator/components/PopupSelect/index.vue
+++ b/SC-web/src/components/Generator/components/PopupSelect/index.vue
@@ -2,25 +2,25 @@