From aec6d33db7cc458702549cef9356c30dfd1d7803 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 10 Jul 2014 09:12:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0wiki=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../codemirror/css/codemirror.ckeditor.css | 112 + .../plugins/codemirror/css/codemirror.css | 246 + .../plugins/codemirror/css/codemirror.min.css | 1 + .../plugins/codemirror/icons/AutoComplete.png | Bin 0 -> 1181 bytes .../plugins/codemirror/icons/AutoFormat.png | Bin 0 -> 644 bytes .../codemirror/icons/CommentSelectedRange.png | Bin 0 -> 2938 bytes .../plugins/codemirror/icons/SearchCode.png | Bin 0 -> 490 bytes .../icons/UncommentSelectedRange.png | Bin 0 -> 3124 bytes .../codemirror/js/addon/dialog/dialog.js | 81 + .../codemirror/js/addon/edit/closebrackets.js | 52 + .../codemirror/js/addon/edit/closetag.js | 85 + .../js/addon/edit/continuecomment.js | 44 + .../codemirror/js/addon/edit/continuelist.js | 25 + .../codemirror/js/addon/edit/matchbrackets.js | 74 + .../codemirror/js/addon/fold/brace-fold.js | 31 + .../codemirror/js/addon/fold/foldcode.js | 32 + .../codemirror/js/addon/fold/xml-fold.js | 64 + .../js/addon/format/autoFormatAll.js | 43 + .../codemirror/js/addon/format/formatting.js | 114 + .../js/addon/search/match-highlighter.js | 60 + .../codemirror/js/addon/search/search.js | 131 + .../js/addon/search/searchcursor.js | 130 + .../codemirror/js/codemirror.addons.min.js | 1 + .../plugins/codemirror/js/codemirror.js | 5516 +++++++++++++++++ .../plugins/codemirror/js/codemirror.min.js | 1 + .../codemirror/js/codemirror.modes.min.js | 1 + .../js/codemirror.search-addons.min.js | 1 + .../plugins/codemirror/js/mode/css.js | 567 ++ .../plugins/codemirror/js/mode/htmlmixed.js | 104 + .../plugins/codemirror/js/mode/javascript.js | 437 ++ .../plugins/codemirror/js/mode/xml.js | 328 + .../plugins/codemirror/lang/af.js | 10 + .../plugins/codemirror/lang/ar.js | 10 + .../plugins/codemirror/lang/bg.js | 10 + .../plugins/codemirror/lang/bn.js | 10 + .../plugins/codemirror/lang/bs.js | 10 + .../plugins/codemirror/lang/ca.js | 10 + .../plugins/codemirror/lang/cs.js | 10 + .../plugins/codemirror/lang/cy.js | 10 + .../plugins/codemirror/lang/da.js | 10 + .../plugins/codemirror/lang/de.js | 12 + .../plugins/codemirror/lang/el.js | 10 + .../plugins/codemirror/lang/en-au.js | 10 + .../plugins/codemirror/lang/en-ca.js | 10 + .../plugins/codemirror/lang/en-gb.js | 10 + .../plugins/codemirror/lang/en.js | 12 + .../plugins/codemirror/lang/eo.js | 10 + .../plugins/codemirror/lang/es.js | 10 + .../plugins/codemirror/lang/et.js | 10 + .../plugins/codemirror/lang/eu.js | 10 + .../plugins/codemirror/lang/fa.js | 10 + .../plugins/codemirror/lang/fi.js | 10 + .../plugins/codemirror/lang/fo.js | 10 + .../plugins/codemirror/lang/fr-ca.js | 10 + .../plugins/codemirror/lang/fr.js | 10 + .../plugins/codemirror/lang/gl.js | 10 + .../plugins/codemirror/lang/gu.js | 10 + .../plugins/codemirror/lang/he.js | 10 + .../plugins/codemirror/lang/hi.js | 10 + .../plugins/codemirror/lang/hr.js | 10 + .../plugins/codemirror/lang/hu.js | 10 + .../plugins/codemirror/lang/is.js | 10 + .../plugins/codemirror/lang/it.js | 10 + .../plugins/codemirror/lang/ja.js | 10 + .../plugins/codemirror/lang/ka.js | 10 + .../plugins/codemirror/lang/km.js | 10 + .../plugins/codemirror/lang/ko.js | 10 + .../plugins/codemirror/lang/ku.js | 10 + .../plugins/codemirror/lang/lt.js | 10 + .../plugins/codemirror/lang/lv.js | 10 + .../plugins/codemirror/lang/mk.js | 10 + .../plugins/codemirror/lang/mn.js | 10 + .../plugins/codemirror/lang/ms.js | 10 + .../plugins/codemirror/lang/nb.js | 10 + .../plugins/codemirror/lang/nl.js | 10 + .../plugins/codemirror/lang/no.js | 10 + .../plugins/codemirror/lang/pl.js | 10 + .../plugins/codemirror/lang/pt-br.js | 10 + .../plugins/codemirror/lang/pt.js | 10 + .../plugins/codemirror/lang/ro.js | 10 + .../plugins/codemirror/lang/ru.js | 10 + .../plugins/codemirror/lang/sk.js | 10 + .../plugins/codemirror/lang/sl.js | 10 + .../plugins/codemirror/lang/sr-latn.js | 10 + .../plugins/codemirror/lang/sr.js | 10 + .../plugins/codemirror/lang/sv.js | 10 + .../plugins/codemirror/lang/th.js | 10 + .../plugins/codemirror/lang/tr.js | 10 + .../plugins/codemirror/lang/ug.js | 10 + .../plugins/codemirror/lang/uk.js | 10 + .../plugins/codemirror/lang/vi.js | 10 + .../plugins/codemirror/lang/zh-cn.js | 10 + .../plugins/codemirror/lang/zh.js | 10 + .../plugins/codemirror/plugin.js | 447 ++ .../codemirror/theme/ambiance-mobile.css | 5 + .../plugins/codemirror/theme/ambiance.css | 75 + .../plugins/codemirror/theme/blackboard.css | 25 + .../plugins/codemirror/theme/cobalt.css | 18 + .../plugins/codemirror/theme/eclipse.css | 25 + .../plugins/codemirror/theme/elegant.css | 10 + .../plugins/codemirror/theme/erlang-dark.css | 21 + .../plugins/codemirror/theme/lesser-dark.css | 44 + .../plugins/codemirror/theme/monokai.css | 28 + .../plugins/codemirror/theme/neat.css | 9 + .../plugins/codemirror/theme/night.css | 21 + .../plugins/codemirror/theme/rubyblue.css | 21 + .../plugins/codemirror/theme/solarized.css | 207 + .../plugins/codemirror/theme/twilight.css | 26 + .../plugins/codemirror/theme/vibrant-ink.css | 27 + .../plugins/codemirror/theme/xq-dark.css | 46 + .../plugins/codemirror/theme/xq-light.css | 43 + .../mediaembed/icons/hidpi/mediaembed.png | Bin 0 -> 680 bytes .../plugins/mediaembed/icons/mediaembed.png | Bin 0 -> 369 bytes .../plugins/mediaembed/plugin.js | 70 + .../plugins/richfile/plugin.js | 85 + .../ckeditor-contrib/skins/kama/dialog.css | 5 + .../ckeditor-contrib/skins/kama/dialog_ie.css | 5 + .../skins/kama/dialog_ie7.css | 5 + .../skins/kama/dialog_ie8.css | 5 + .../skins/kama/dialog_iequirks.css | 5 + .../skins/kama/dialog_opera.css | 5 + .../ckeditor-contrib/skins/kama/editor.css | 5 + .../ckeditor-contrib/skins/kama/editor_ie.css | 5 + .../skins/kama/editor_ie7.css | 5 + .../skins/kama/editor_ie8.css | 5 + .../skins/kama/editor_iequirks.css | 5 + .../ckeditor-contrib/skins/kama/icons.png | Bin 0 -> 13034 bytes .../skins/kama/images/dialog_sides.gif | Bin 0 -> 48 bytes .../skins/kama/images/dialog_sides.png | Bin 0 -> 178 bytes .../skins/kama/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../skins/kama/images/mini.gif | Bin 0 -> 183 bytes .../skins/kama/images/sprites.png | Bin 0 -> 7086 bytes .../skins/kama/images/sprites_ie6.png | Bin 0 -> 2724 bytes .../skins/kama/images/toolbar_start.gif | Bin 0 -> 105 bytes .../ckeditor-contrib/skins/kama/readme.md | 40 + .../ckeditor-contrib/skins/kama/skin.js | 8 + .../redmine_ckeditor/ckeditor/CHANGES.md | 414 ++ .../redmine_ckeditor/ckeditor/LICENSE.md | 1264 ++++ .../redmine_ckeditor/ckeditor/README.md | 66 + .../ckeditor/adapters/jquery.js | 10 + .../redmine_ckeditor/ckeditor/build-config.js | 165 + .../redmine_ckeditor/ckeditor/ckeditor.js | 978 +++ .../redmine_ckeditor/ckeditor/config.js | 10 + .../redmine_ckeditor/ckeditor/contents.css | 123 + .../redmine_ckeditor/ckeditor/lang/af.js | 5 + .../redmine_ckeditor/ckeditor/lang/ar.js | 5 + .../redmine_ckeditor/ckeditor/lang/bg.js | 5 + .../redmine_ckeditor/ckeditor/lang/bn.js | 5 + .../redmine_ckeditor/ckeditor/lang/bs.js | 5 + .../redmine_ckeditor/ckeditor/lang/ca.js | 5 + .../redmine_ckeditor/ckeditor/lang/cs.js | 5 + .../redmine_ckeditor/ckeditor/lang/cy.js | 5 + .../redmine_ckeditor/ckeditor/lang/da.js | 5 + .../redmine_ckeditor/ckeditor/lang/de.js | 5 + .../redmine_ckeditor/ckeditor/lang/el.js | 5 + .../redmine_ckeditor/ckeditor/lang/en-au.js | 5 + .../redmine_ckeditor/ckeditor/lang/en-ca.js | 5 + .../redmine_ckeditor/ckeditor/lang/en-gb.js | 5 + .../redmine_ckeditor/ckeditor/lang/en.js | 5 + .../redmine_ckeditor/ckeditor/lang/eo.js | 5 + .../redmine_ckeditor/ckeditor/lang/es.js | 5 + .../redmine_ckeditor/ckeditor/lang/et.js | 5 + .../redmine_ckeditor/ckeditor/lang/eu.js | 5 + .../redmine_ckeditor/ckeditor/lang/fa.js | 5 + .../redmine_ckeditor/ckeditor/lang/fi.js | 5 + .../redmine_ckeditor/ckeditor/lang/fo.js | 5 + .../redmine_ckeditor/ckeditor/lang/fr-ca.js | 5 + .../redmine_ckeditor/ckeditor/lang/fr.js | 5 + .../redmine_ckeditor/ckeditor/lang/gl.js | 5 + .../redmine_ckeditor/ckeditor/lang/gu.js | 5 + .../redmine_ckeditor/ckeditor/lang/he.js | 5 + .../redmine_ckeditor/ckeditor/lang/hi.js | 5 + .../redmine_ckeditor/ckeditor/lang/hr.js | 5 + .../redmine_ckeditor/ckeditor/lang/hu.js | 5 + .../redmine_ckeditor/ckeditor/lang/id.js | 5 + .../redmine_ckeditor/ckeditor/lang/is.js | 5 + .../redmine_ckeditor/ckeditor/lang/it.js | 5 + .../redmine_ckeditor/ckeditor/lang/ja.js | 5 + .../redmine_ckeditor/ckeditor/lang/ka.js | 5 + .../redmine_ckeditor/ckeditor/lang/km.js | 5 + .../redmine_ckeditor/ckeditor/lang/ko.js | 5 + .../redmine_ckeditor/ckeditor/lang/ku.js | 5 + .../redmine_ckeditor/ckeditor/lang/lt.js | 5 + .../redmine_ckeditor/ckeditor/lang/lv.js | 5 + .../redmine_ckeditor/ckeditor/lang/mk.js | 5 + .../redmine_ckeditor/ckeditor/lang/mn.js | 5 + .../redmine_ckeditor/ckeditor/lang/ms.js | 5 + .../redmine_ckeditor/ckeditor/lang/nb.js | 5 + .../redmine_ckeditor/ckeditor/lang/nl.js | 5 + .../redmine_ckeditor/ckeditor/lang/no.js | 5 + .../redmine_ckeditor/ckeditor/lang/pl.js | 5 + .../redmine_ckeditor/ckeditor/lang/pt-br.js | 5 + .../redmine_ckeditor/ckeditor/lang/pt.js | 5 + .../redmine_ckeditor/ckeditor/lang/ro.js | 5 + .../redmine_ckeditor/ckeditor/lang/ru.js | 5 + .../redmine_ckeditor/ckeditor/lang/si.js | 5 + .../redmine_ckeditor/ckeditor/lang/sk.js | 5 + .../redmine_ckeditor/ckeditor/lang/sl.js | 5 + .../redmine_ckeditor/ckeditor/lang/sq.js | 5 + .../redmine_ckeditor/ckeditor/lang/sr-latn.js | 5 + .../redmine_ckeditor/ckeditor/lang/sr.js | 5 + .../redmine_ckeditor/ckeditor/lang/sv.js | 5 + .../redmine_ckeditor/ckeditor/lang/th.js | 5 + .../redmine_ckeditor/ckeditor/lang/tr.js | 5 + .../redmine_ckeditor/ckeditor/lang/ug.js | 5 + .../redmine_ckeditor/ckeditor/lang/uk.js | 5 + .../redmine_ckeditor/ckeditor/lang/vi.js | 5 + .../redmine_ckeditor/ckeditor/lang/zh-cn.js | 5 + .../redmine_ckeditor/ckeditor/lang/zh.js | 5 + .../plugins/a11yhelp/dialogs/a11yhelp.js | 10 + .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/ar.js | 11 + .../plugins/a11yhelp/dialogs/lang/bg.js | 11 + .../plugins/a11yhelp/dialogs/lang/ca.js | 12 + .../plugins/a11yhelp/dialogs/lang/cs.js | 13 + .../plugins/a11yhelp/dialogs/lang/cy.js | 11 + .../plugins/a11yhelp/dialogs/lang/da.js | 11 + .../plugins/a11yhelp/dialogs/lang/de.js | 12 + .../plugins/a11yhelp/dialogs/lang/el.js | 13 + .../plugins/a11yhelp/dialogs/lang/en.js | 11 + .../plugins/a11yhelp/dialogs/lang/eo.js | 12 + .../plugins/a11yhelp/dialogs/lang/es.js | 12 + .../plugins/a11yhelp/dialogs/lang/et.js | 11 + .../plugins/a11yhelp/dialogs/lang/fa.js | 11 + .../plugins/a11yhelp/dialogs/lang/fi.js | 12 + .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 12 + .../plugins/a11yhelp/dialogs/lang/fr.js | 13 + .../plugins/a11yhelp/dialogs/lang/gl.js | 12 + .../plugins/a11yhelp/dialogs/lang/gu.js | 11 + .../plugins/a11yhelp/dialogs/lang/he.js | 11 + .../plugins/a11yhelp/dialogs/lang/hi.js | 11 + .../plugins/a11yhelp/dialogs/lang/hr.js | 11 + .../plugins/a11yhelp/dialogs/lang/hu.js | 12 + .../plugins/a11yhelp/dialogs/lang/id.js | 11 + .../plugins/a11yhelp/dialogs/lang/it.js | 12 + .../plugins/a11yhelp/dialogs/lang/ja.js | 9 + .../plugins/a11yhelp/dialogs/lang/km.js | 11 + .../plugins/a11yhelp/dialogs/lang/ko.js | 11 + .../plugins/a11yhelp/dialogs/lang/ku.js | 12 + .../plugins/a11yhelp/dialogs/lang/lt.js | 11 + .../plugins/a11yhelp/dialogs/lang/lv.js | 13 + .../plugins/a11yhelp/dialogs/lang/mk.js | 11 + .../plugins/a11yhelp/dialogs/lang/mn.js | 11 + .../plugins/a11yhelp/dialogs/lang/nb.js | 11 + .../plugins/a11yhelp/dialogs/lang/nl.js | 12 + .../plugins/a11yhelp/dialogs/lang/no.js | 11 + .../plugins/a11yhelp/dialogs/lang/pl.js | 13 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 11 + .../plugins/a11yhelp/dialogs/lang/pt.js | 12 + .../plugins/a11yhelp/dialogs/lang/ro.js | 12 + .../plugins/a11yhelp/dialogs/lang/ru.js | 11 + .../plugins/a11yhelp/dialogs/lang/si.js | 10 + .../plugins/a11yhelp/dialogs/lang/sk.js | 12 + .../plugins/a11yhelp/dialogs/lang/sl.js | 12 + .../plugins/a11yhelp/dialogs/lang/sq.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr.js | 11 + .../plugins/a11yhelp/dialogs/lang/sv.js | 12 + .../plugins/a11yhelp/dialogs/lang/th.js | 11 + .../plugins/a11yhelp/dialogs/lang/tr.js | 12 + .../plugins/a11yhelp/dialogs/lang/ug.js | 11 + .../plugins/a11yhelp/dialogs/lang/uk.js | 12 + .../plugins/a11yhelp/dialogs/lang/vi.js | 11 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 10 + .../plugins/a11yhelp/dialogs/lang/zh.js | 9 + .../ckeditor/plugins/about/dialogs/about.js | 7 + .../about/dialogs/hidpi/logo_ckeditor.png | Bin 0 -> 13339 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 0 -> 6757 bytes .../plugins/clipboard/dialogs/paste.js | 11 + .../colordialog/dialogs/colordialog.js | 13 + .../plugins/dialog/dialogDefinition.js | 4 + .../ckeditor/plugins/div/dialogs/div.js | 9 + .../plugins/fakeobjects/images/spacer.gif | Bin 0 -> 43 bytes .../ckeditor/plugins/find/dialogs/find.js | 24 + .../ckeditor/plugins/flash/dialogs/flash.js | 24 + .../plugins/flash/images/placeholder.png | Bin 0 -> 256 bytes .../ckeditor/plugins/forms/dialogs/button.js | 8 + .../plugins/forms/dialogs/checkbox.js | 8 + .../ckeditor/plugins/forms/dialogs/form.js | 8 + .../plugins/forms/dialogs/hiddenfield.js | 8 + .../ckeditor/plugins/forms/dialogs/radio.js | 8 + .../ckeditor/plugins/forms/dialogs/select.js | 20 + .../plugins/forms/dialogs/textarea.js | 8 + .../plugins/forms/dialogs/textfield.js | 10 + .../plugins/forms/images/hiddenfield.gif | Bin 0 -> 105 bytes .../ckeditor/plugins/icons.png | Bin 0 -> 20643 bytes .../ckeditor/plugins/icons_hidpi.png | Bin 0 -> 67753 bytes .../ckeditor/plugins/iframe/dialogs/iframe.js | 10 + .../plugins/iframe/images/placeholder.png | Bin 0 -> 449 bytes .../ckeditor/plugins/image/dialogs/image.js | 43 + .../ckeditor/plugins/image/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/plugins/link/dialogs/anchor.js | 8 + .../ckeditor/plugins/link/dialogs/link.js | 37 + .../ckeditor/plugins/link/images/anchor.png | Bin 0 -> 763 bytes .../plugins/link/images/hidpi/anchor.png | Bin 0 -> 1597 bytes .../plugins/liststyle/dialogs/liststyle.js | 10 + .../plugins/magicline/images/hidpi/icon.png | Bin 0 -> 260 bytes .../plugins/magicline/images/icon.png | Bin 0 -> 172 bytes .../plugins/pagebreak/images/pagebreak.gif | Bin 0 -> 54 bytes .../plugins/pastefromword/filter/default.js | 31 + .../ckeditor/plugins/preview/preview.html | 10 + .../ckeditor/plugins/scayt/LICENSE.md | 28 + .../ckeditor/plugins/scayt/README.md | 25 + .../ckeditor/plugins/scayt/dialogs/options.js | 20 + .../plugins/scayt/dialogs/toolbar.css | 71 + .../showblocks/images/block_address.png | Bin 0 -> 171 bytes .../showblocks/images/block_blockquote.png | Bin 0 -> 181 bytes .../plugins/showblocks/images/block_div.png | Bin 0 -> 136 bytes .../plugins/showblocks/images/block_h1.png | Bin 0 -> 127 bytes .../plugins/showblocks/images/block_h2.png | Bin 0 -> 134 bytes .../plugins/showblocks/images/block_h3.png | Bin 0 -> 131 bytes .../plugins/showblocks/images/block_h4.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h5.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h6.png | Bin 0 -> 129 bytes .../plugins/showblocks/images/block_p.png | Bin 0 -> 119 bytes .../plugins/showblocks/images/block_pre.png | Bin 0 -> 136 bytes .../ckeditor/plugins/smiley/dialogs/smiley.js | 10 + .../plugins/smiley/images/angel_smile.gif | Bin 0 -> 1250 bytes .../plugins/smiley/images/angel_smile.png | Bin 0 -> 1294 bytes .../plugins/smiley/images/angry_smile.gif | Bin 0 -> 1221 bytes .../plugins/smiley/images/angry_smile.png | Bin 0 -> 1351 bytes .../plugins/smiley/images/broken_heart.gif | Bin 0 -> 1131 bytes .../plugins/smiley/images/broken_heart.png | Bin 0 -> 1213 bytes .../plugins/smiley/images/confused_smile.gif | Bin 0 -> 1210 bytes .../plugins/smiley/images/confused_smile.png | Bin 0 -> 1175 bytes .../plugins/smiley/images/cry_smile.gif | Bin 0 -> 795 bytes .../plugins/smiley/images/cry_smile.png | Bin 0 -> 1315 bytes .../plugins/smiley/images/devil_smile.gif | Bin 0 -> 1239 bytes .../plugins/smiley/images/devil_smile.png | Bin 0 -> 1299 bytes .../smiley/images/embaressed_smile.gif | Bin 0 -> 790 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 790 bytes .../smiley/images/embarrassed_smile.png | Bin 0 -> 1222 bytes .../plugins/smiley/images/envelope.gif | Bin 0 -> 712 bytes .../plugins/smiley/images/envelope.png | Bin 0 -> 1049 bytes .../ckeditor/plugins/smiley/images/heart.gif | Bin 0 -> 1091 bytes .../ckeditor/plugins/smiley/images/heart.png | Bin 0 -> 1073 bytes .../ckeditor/plugins/smiley/images/kiss.gif | Bin 0 -> 1082 bytes .../ckeditor/plugins/smiley/images/kiss.png | Bin 0 -> 1077 bytes .../plugins/smiley/images/lightbulb.gif | Bin 0 -> 1062 bytes .../plugins/smiley/images/lightbulb.png | Bin 0 -> 993 bytes .../plugins/smiley/images/omg_smile.gif | Bin 0 -> 1207 bytes .../plugins/smiley/images/omg_smile.png | Bin 0 -> 1196 bytes .../plugins/smiley/images/regular_smile.gif | Bin 0 -> 1216 bytes .../plugins/smiley/images/regular_smile.png | Bin 0 -> 1158 bytes .../plugins/smiley/images/sad_smile.gif | Bin 0 -> 1199 bytes .../plugins/smiley/images/sad_smile.png | Bin 0 -> 1189 bytes .../plugins/smiley/images/shades_smile.gif | Bin 0 -> 1234 bytes .../plugins/smiley/images/shades_smile.png | Bin 0 -> 1353 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 0 -> 1210 bytes .../plugins/smiley/images/teeth_smile.png | Bin 0 -> 1257 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 0 -> 1117 bytes .../plugins/smiley/images/thumbs_down.png | Bin 0 -> 1059 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 0 -> 1112 bytes .../plugins/smiley/images/thumbs_up.png | Bin 0 -> 1033 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 1216 bytes .../plugins/smiley/images/tongue_smile.png | Bin 0 -> 1206 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 0 -> 1216 bytes .../images/whatchutalkingabout_smile.gif | Bin 0 -> 1190 bytes .../images/whatchutalkingabout_smile.png | Bin 0 -> 1113 bytes .../plugins/smiley/images/wink_smile.gif | Bin 0 -> 1214 bytes .../plugins/smiley/images/wink_smile.png | Bin 0 -> 1188 bytes .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/ar.js | 13 + .../plugins/specialchar/dialogs/lang/bg.js | 13 + .../plugins/specialchar/dialogs/lang/ca.js | 14 + .../plugins/specialchar/dialogs/lang/cs.js | 13 + .../plugins/specialchar/dialogs/lang/cy.js | 14 + .../plugins/specialchar/dialogs/lang/de.js | 13 + .../plugins/specialchar/dialogs/lang/el.js | 13 + .../plugins/specialchar/dialogs/lang/en.js | 13 + .../plugins/specialchar/dialogs/lang/eo.js | 12 + .../plugins/specialchar/dialogs/lang/es.js | 13 + .../plugins/specialchar/dialogs/lang/et.js | 13 + .../plugins/specialchar/dialogs/lang/fa.js | 12 + .../plugins/specialchar/dialogs/lang/fi.js | 13 + .../plugins/specialchar/dialogs/lang/fr-ca.js | 10 + .../plugins/specialchar/dialogs/lang/fr.js | 11 + .../plugins/specialchar/dialogs/lang/gl.js | 13 + .../plugins/specialchar/dialogs/lang/he.js | 12 + .../plugins/specialchar/dialogs/lang/hr.js | 13 + .../plugins/specialchar/dialogs/lang/hu.js | 12 + .../plugins/specialchar/dialogs/lang/id.js | 13 + .../plugins/specialchar/dialogs/lang/it.js | 14 + .../plugins/specialchar/dialogs/lang/ja.js | 9 + .../plugins/specialchar/dialogs/lang/km.js | 13 + .../plugins/specialchar/dialogs/lang/ku.js | 13 + .../plugins/specialchar/dialogs/lang/lv.js | 13 + .../plugins/specialchar/dialogs/lang/nb.js | 11 + .../plugins/specialchar/dialogs/lang/nl.js | 13 + .../plugins/specialchar/dialogs/lang/no.js | 11 + .../plugins/specialchar/dialogs/lang/pl.js | 12 + .../plugins/specialchar/dialogs/lang/pt-br.js | 11 + .../plugins/specialchar/dialogs/lang/pt.js | 13 + .../plugins/specialchar/dialogs/lang/ru.js | 13 + .../plugins/specialchar/dialogs/lang/si.js | 13 + .../plugins/specialchar/dialogs/lang/sk.js | 13 + .../plugins/specialchar/dialogs/lang/sl.js | 12 + .../plugins/specialchar/dialogs/lang/sq.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 11 + .../plugins/specialchar/dialogs/lang/th.js | 13 + .../plugins/specialchar/dialogs/lang/tr.js | 12 + .../plugins/specialchar/dialogs/lang/ug.js | 13 + .../plugins/specialchar/dialogs/lang/uk.js | 12 + .../plugins/specialchar/dialogs/lang/vi.js | 14 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 12 + .../plugins/specialchar/dialogs/lang/zh.js | 9 + .../specialchar/dialogs/specialchar.js | 14 + .../ckeditor/plugins/table/dialogs/table.js | 21 + .../plugins/tabletools/dialogs/tableCell.js | 16 + .../plugins/templates/dialogs/templates.css | 84 + .../plugins/templates/dialogs/templates.js | 10 + .../plugins/templates/templates/default.js | 6 + .../templates/templates/images/template1.gif | Bin 0 -> 375 bytes .../templates/templates/images/template2.gif | Bin 0 -> 333 bytes .../templates/templates/images/template3.gif | Bin 0 -> 422 bytes .../ckeditor/plugins/wsc/LICENSE.md | 28 + .../ckeditor/plugins/wsc/README.md | 25 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 66 + .../ckeditor/plugins/wsc/dialogs/tmp.html | 118 + .../plugins/wsc/dialogs/tmpFrameset.html | 52 + .../ckeditor/plugins/wsc/dialogs/wsc.css | 82 + .../ckeditor/plugins/wsc/dialogs/wsc.js | 67 + .../ckeditor/plugins/wsc/dialogs/wsc_ie.js | 11 + .../ckeditor/samples/ajax.html | 82 + .../ckeditor/samples/api.html | 207 + .../ckeditor/samples/appendto.html | 57 + .../samples/assets/inlineall/logo.png | Bin 0 -> 4411 bytes .../assets/outputxhtml/outputxhtml.css | 204 + .../ckeditor/samples/assets/posteddata.php | 59 + .../ckeditor/samples/assets/sample.css | 3 + .../ckeditor/samples/assets/sample.jpg | Bin 0 -> 17932 bytes .../samples/assets/uilanguages/languages.js | 7 + .../ckeditor/samples/datafiltering.html | 401 ++ .../ckeditor/samples/divreplace.html | 141 + .../ckeditor/samples/index.html | 128 + .../ckeditor/samples/inlineall.html | 311 + .../ckeditor/samples/inlinebycode.html | 121 + .../ckeditor/samples/inlinetextarea.html | 110 + .../ckeditor/samples/jquery.html | 97 + .../plugins/dialog/assets/my_dialog.js | 48 + .../samples/plugins/dialog/dialog.html | 187 + .../samples/plugins/enterkey/enterkey.html | 103 + .../assets/outputforflash/outputforflash.fla | Bin 0 -> 85504 bytes .../assets/outputforflash/outputforflash.swf | Bin 0 -> 15571 bytes .../assets/outputforflash/swfobject.js | 18 + .../plugins/htmlwriter/outputforflash.html | 280 + .../plugins/htmlwriter/outputhtml.html | 221 + .../samples/plugins/magicline/magicline.html | 206 + .../samples/plugins/toolbar/toolbar.html | 232 + .../samples/plugins/wysiwygarea/fullpage.html | 77 + .../ckeditor/samples/readonly.html | 73 + .../ckeditor/samples/replacebyclass.html | 57 + .../ckeditor/samples/replacebycode.html | 56 + .../ckeditor/samples/sample.css | 356 ++ .../ckeditor/samples/sample.js | 50 + .../ckeditor/samples/sample_posteddata.php | 16 + .../ckeditor/samples/tabindex.html | 75 + .../ckeditor/samples/uicolor.html | 69 + .../ckeditor/samples/uilanguages.html | 119 + .../ckeditor/samples/xhtmlstyle.html | 231 + .../ckeditor/skins/moono/dialog.css | 5 + .../ckeditor/skins/moono/dialog_ie.css | 5 + .../ckeditor/skins/moono/dialog_ie7.css | 5 + .../ckeditor/skins/moono/dialog_ie8.css | 5 + .../ckeditor/skins/moono/dialog_iequirks.css | 5 + .../ckeditor/skins/moono/dialog_opera.css | 5 + .../ckeditor/skins/moono/editor.css | 5 + .../ckeditor/skins/moono/editor_gecko.css | 5 + .../ckeditor/skins/moono/editor_ie.css | 5 + .../ckeditor/skins/moono/editor_ie7.css | 5 + .../ckeditor/skins/moono/editor_ie8.css | 5 + .../ckeditor/skins/moono/editor_iequirks.css | 5 + .../ckeditor/skins/moono/icons.png | Bin 0 -> 20643 bytes .../ckeditor/skins/moono/icons_hidpi.png | Bin 0 -> 67753 bytes .../ckeditor/skins/moono/images/arrow.png | Bin 0 -> 261 bytes .../ckeditor/skins/moono/images/close.png | Bin 0 -> 824 bytes .../skins/moono/images/hidpi/close.png | Bin 0 -> 1792 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 0 -> 1503 bytes .../skins/moono/images/hidpi/lock.png | Bin 0 -> 1616 bytes .../skins/moono/images/hidpi/refresh.png | Bin 0 -> 2320 bytes .../ckeditor/skins/moono/images/lock-open.png | Bin 0 -> 736 bytes .../ckeditor/skins/moono/images/lock.png | Bin 0 -> 728 bytes .../ckeditor/skins/moono/images/refresh.png | Bin 0 -> 953 bytes .../ckeditor/skins/moono/readme.md | 51 + .../redmine_ckeditor/ckeditor/styles.js | 111 + .../images/document-thumb.png | Bin 0 -> 1218 bytes .../redmine_ckeditor/images/files.png | Bin 0 -> 639 bytes .../redmine_ckeditor/images/images.png | Bin 0 -> 677 bytes .../redmine_ckeditor/images/insert-many.png | Bin 0 -> 345 bytes .../redmine_ckeditor/images/insert-one.png | Bin 0 -> 428 bytes .../redmine_ckeditor/images/loading.png | Bin 0 -> 1412 bytes .../redmine_ckeditor/images/menu-dash.png | Bin 0 -> 118 bytes .../redmine_ckeditor/images/plus-red.png | Bin 0 -> 424 bytes .../redmine_ckeditor/images/plus.png | Bin 0 -> 3334 bytes .../redmine_ckeditor/images/rich.png | Bin 0 -> 732 bytes .../redmine_ckeditor/images/view-grid.png | Bin 0 -> 985 bytes .../redmine_ckeditor/images/view-list.png | Bin 0 -> 992 bytes .../redmine_ckeditor/images/x-red.png | Bin 0 -> 173 bytes .../javascripts/application.js | 1045 ++++ .../redmine_ckeditor/javascripts/browser.js | 1521 +++++ .../stylesheets/application.css | 450 ++ .../redmine_ckeditor/stylesheets/editor.css | 25 + .../redmine_ckeditor/stylesheets/selector.css | 19 + 503 files changed, 23590 insertions(+) create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.ckeditor.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.min.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoComplete.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoFormat.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/CommentSelectedRange.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/SearchCode.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/UncommentSelectedRange.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/dialog/dialog.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/closebrackets.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/closetag.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuecomment.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuelist.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/matchbrackets.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/brace-fold.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/foldcode.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/xml-fold.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/autoFormatAll.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/formatting.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/match-highlighter.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/search.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/searchcursor.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.addons.min.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.min.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.modes.min.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.search-addons.min.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/mode/css.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/mode/htmlmixed.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/mode/javascript.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/mode/xml.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/af.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ar.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/bg.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/bn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/bs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/cs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/cy.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/da.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/de.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/el.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/en-au.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/en-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/en-gb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/en.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/eo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/es.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/et.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/eu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/fa.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/fi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/fo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/fr-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/fr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/gl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/gu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/he.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/hi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/hr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/hu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/is.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/it.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ja.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ka.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/km.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ko.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ku.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/lt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/lv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/mk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/mn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ms.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/nb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/nl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/no.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/pl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/pt-br.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/pt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ro.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ru.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/sk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/sl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/sr-latn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/sr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/sv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/th.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/tr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/ug.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/uk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/vi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/zh-cn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/lang/zh.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/plugin.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/ambiance-mobile.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/ambiance.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/blackboard.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/cobalt.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/eclipse.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/elegant.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/erlang-dark.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/lesser-dark.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/monokai.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/neat.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/night.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/rubyblue.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/solarized.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/twilight.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/vibrant-ink.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/xq-dark.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/theme/xq-light.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/mediaembed/icons/hidpi/mediaembed.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/mediaembed/icons/mediaembed.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/mediaembed/plugin.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/richfile/plugin.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog_ie.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog_ie7.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog_ie8.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog_iequirks.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/dialog_opera.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/editor.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/editor_ie.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/editor_ie7.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/editor_ie8.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/editor_iequirks.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/icons.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/dialog_sides.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/dialog_sides.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/dialog_sides_rtl.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/mini.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/sprites.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/sprites_ie6.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/images/toolbar_start.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/readme.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor-contrib/skins/kama/skin.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/CHANGES.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/LICENSE.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/README.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/adapters/jquery.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/build-config.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/ckeditor.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/config.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/contents.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/af.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ar.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/bg.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/bn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/bs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/cs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/cy.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/da.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/de.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/el.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/en-au.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/en-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/en-gb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/en.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/eo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/es.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/et.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/eu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/fa.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/fi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/fo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/fr-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/fr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/gl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/gu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/he.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/hi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/hr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/hu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/id.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/is.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/it.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ja.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ka.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/km.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ko.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ku.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/lt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/lv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/mk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/mn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ms.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/nb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/nl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/no.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/pl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/pt-br.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/pt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ro.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ru.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/si.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sq.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sr-latn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/sv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/th.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/tr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/ug.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/uk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/vi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/zh-cn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/lang/zh.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/id.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/si.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/about/dialogs/about.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/about/dialogs/logo_ckeditor.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/div/dialogs/div.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/fakeobjects/images/spacer.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/find/dialogs/find.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/flash/dialogs/flash.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/flash/images/placeholder.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/button.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/form.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/radio.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/select.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/forms/images/hiddenfield.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/icons.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/icons_hidpi.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/iframe/dialogs/iframe.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/iframe/images/placeholder.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/image/dialogs/image.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/image/images/noimage.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/link/dialogs/anchor.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/link/dialogs/link.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/link/images/anchor.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/liststyle/dialogs/liststyle.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/magicline/images/hidpi/icon.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/magicline/images/icon.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/pagebreak/images/pagebreak.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/pastefromword/filter/default.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/preview/preview.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/scayt/LICENSE.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/scayt/README.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/scayt/dialogs/options.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_address.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_blockquote.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_div.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h1.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h2.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h3.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h4.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h5.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_h6.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_p.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/showblocks/images/block_pre.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/angel_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/angel_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/angry_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/angry_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/broken_heart.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/broken_heart.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/confused_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/confused_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/cry_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/cry_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/devil_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/devil_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/embaressed_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/envelope.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/envelope.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/heart.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/heart.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/kiss.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/kiss.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/lightbulb.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/lightbulb.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/omg_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/omg_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/regular_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/regular_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/sad_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/sad_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/shades_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/shades_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/teeth_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/teeth_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/thumbs_down.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/thumbs_down.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/thumbs_up.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/thumbs_up.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/tongue_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/tongue_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/tounge_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/wink_smile.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/smiley/images/wink_smile.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ar.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/bg.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cs.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cy.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/de.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/el.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/eo.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/es.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/et.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fa.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/gl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/he.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hu.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/id.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/it.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ja.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/km.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ku.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/lv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nb.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/no.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ru.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/si.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sl.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sq.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sv.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/th.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/tr.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ug.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/uk.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/vi.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/table/dialogs/table.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/dialogs/templates.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/dialogs/templates.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/templates/default.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/templates/images/template1.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/templates/images/template2.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/templates/templates/images/template3.gif create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/LICENSE.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/README.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/tmp.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/plugins/wsc/dialogs/wsc_ie.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/ajax.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/api.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/appendto.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/inlineall/logo.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/outputxhtml/outputxhtml.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/posteddata.php create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/sample.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/sample.jpg create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/assets/uilanguages/languages.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/datafiltering.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/divreplace.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/index.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/inlineall.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/inlinebycode.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/inlinetextarea.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/jquery.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/dialog/assets/my_dialog.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/dialog/dialog.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/enterkey/enterkey.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/htmlwriter/outputforflash.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/htmlwriter/outputhtml.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/magicline/magicline.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/toolbar/toolbar.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/plugins/wysiwygarea/fullpage.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/readonly.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/replacebyclass.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/replacebycode.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/sample.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/sample.js create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/sample_posteddata.php create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/tabindex.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/uicolor.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/uilanguages.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/samples/xhtmlstyle.html create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog_ie.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog_ie7.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog_ie8.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog_iequirks.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/dialog_opera.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor_gecko.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor_ie.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor_ie7.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor_ie8.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/editor_iequirks.css create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/icons.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/icons_hidpi.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/arrow.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/close.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/hidpi/close.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/hidpi/lock.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/lock-open.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/lock.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/images/refresh.png create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/skins/moono/readme.md create mode 100644 public/plugin_assets/redmine_ckeditor/ckeditor/styles.js create mode 100644 public/plugin_assets/redmine_ckeditor/images/document-thumb.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/files.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/images.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/insert-many.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/insert-one.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/loading.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/menu-dash.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/plus-red.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/plus.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/rich.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/view-grid.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/view-list.png create mode 100644 public/plugin_assets/redmine_ckeditor/images/x-red.png create mode 100644 public/plugin_assets/redmine_ckeditor/javascripts/application.js create mode 100644 public/plugin_assets/redmine_ckeditor/javascripts/browser.js create mode 100644 public/plugin_assets/redmine_ckeditor/stylesheets/application.css create mode 100644 public/plugin_assets/redmine_ckeditor/stylesheets/editor.css create mode 100644 public/plugin_assets/redmine_ckeditor/stylesheets/selector.css diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.ckeditor.css b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.ckeditor.css new file mode 100644 index 000000000..58c7f9620 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.ckeditor.css @@ -0,0 +1,112 @@ +/* Extra for the CKEditor CodeMirror Plugin */ + +.CodeMirror {font:13px/1.4em monospace;} + +.CodeMirror .activeline { background: #e8f2ff; } + +.CodeMirror .CodeMirror-foldmarker { + color: blue; + text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; + font-family: arial; + line-height: .3; + cursor: pointer; +} + +/* Fixes for themes */ +.cm-s-cobalt .CodeMirror-selected { background: #b36539 !important; } +.cm-s-erlang-dark .CodeMirror-selected { background: #b36539 !important; } +.cm-s-lesser-dark .CodeMirror-selected {background: #45443B !important;} +.cm-s-monokai .CodeMirror-selected {background: #49483E !important;} +.cm-s-night .CodeMirror-selected { background: #447 !important; } +.cm-s-rubyblue .CodeMirror-selected { background: #38566F !important; } +.cm-s-twilight .CodeMirror-selected { background: #323232 !important; } +.cm-s-xq-dark .CodeMirror-selected { background: #a8f !important; } + +.cm-s-blackboard .activeline, +.cm-s-cobalt .activeline, +.cm-s-erlang-dark .activeline, +.cm-s-lesser-dark .activeline, +.cm-s-monokai .activeline, +.cm-s-night .activeline, +.cm-s-rubyblue .activeline, +.cm-s-vibrant-ink .activeline, +.cm-s-xq-dark .activeline { background: #757575; } +.cm-s-twilight .activeline { background:#494949; } + +.CodeMirror-focused .cm-matchhighlight { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); + background-position: bottom; + background-repeat: repeat-x; +} + +/* Dialog Addon */ +.CodeMirror-dialog { + position: absolute; + left: 0; right: 0; + background: white; + z-index: 15; + padding: .1em .8em; + overflow: hidden; + color: #333; +} + +.CodeMirror-dialog-top { + border-bottom: 1px solid #eee; + top: 0; +} + +.CodeMirror-dialog-bottom { + border-top: 1px solid #eee; + bottom: 0; +} + +.CodeMirror-dialog input { + border: none; + outline: none; + background: transparent; + width: 20em; + color: inherit; + font-family: monospace; +} + +.CodeMirror-dialog button { + font-size: 70%; +} +.CodeMirror-hints { + position: absolute; + z-index: 10; + overflow: hidden; + list-style: none; + + margin: 0; + padding: 2px; + + -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); + -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); + box-shadow: 2px 3px 5px rgba(0,0,0,.2); + border-radius: 3px; + border: 1px solid silver; + + background: white; + font-size: 90%; + font-family: monospace; + + max-height: 20em; + overflow-y: auto; +} + +.CodeMirror-hint { + margin: 0; + padding: 0 4px; + border-radius: 2px; + max-width: 19em; + overflow: hidden; + white-space: pre; + color: black; + cursor: pointer; +} + +.CodeMirror-hint-active { + background: #08f; + color: white; +} \ No newline at end of file diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.css b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.css new file mode 100644 index 000000000..4e126154f --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.css @@ -0,0 +1,246 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; +} +.CodeMirror-scroll { + /* Set scrolling behaviour here */ + overflow: auto; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; +} + +/* CURSOR */ + +.CodeMirror div.CodeMirror-cursor { + border-left: 1px solid black; + z-index: 3; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor { + width: auto; + border: 0; + background: #7e7; + z-index: 1; +} +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {} + +.cm-tab { display: inline-block; } + +/* DEFAULT THEME */ + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable {color: black;} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3 {color: #085;} +.cm-s-default .cm-property {color: black;} +.cm-s-default .cm-operator {color: black;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-error {color: #f00;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} + +.cm-invalidchar {color: #f00;} + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + line-height: 1; + position: relative; + overflow: hidden; + background: white; + color: black; +} + +.CodeMirror-scroll { + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror, and the paddings in .CodeMirror-sizer */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; padding-right: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actuall scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; + z-index: 6; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + height: 100%; + padding-bottom: 30px; + z-index: 3; +} +.CodeMirror-gutter { + height: 100%; + padding-bottom: 30px; + margin-bottom: -32px; + display: inline-block; + /* Hack to make IE7 behave */ + *zoom:1; + *display:inline; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} + +.CodeMirror-lines { + cursor: text; +} +.CodeMirror pre { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; +} +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + overflow: auto; +} + +.CodeMirror-widget { + display: inline-block; +} + +.CodeMirror-wrap .CodeMirror-scroll { + overflow-x: hidden; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; height: 0px; + overflow: hidden; + visibility: hidden; +} +.CodeMirror-measure pre { position: static; } + +.CodeMirror div.CodeMirror-cursor { + position: absolute; + visibility: hidden; + border-right: none; + width: 0; +} +.CodeMirror-focused div.CodeMirror-cursor { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } + +.cm-searching { + background: #ffa; + background: rgba(255, 255, 0, .4); +} + +/* IE7 hack to prevent it from returning funny offsetTops on the spans */ +.CodeMirror span { *vertical-align: text-bottom; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursor { + visibility: hidden; + } +} diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.min.css b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.min.css new file mode 100644 index 000000000..43935ad0f --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/css/codemirror.min.css @@ -0,0 +1 @@ +.CodeMirror{font-family:monospace;height:300px}.CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7}.CodeMirror-linenumbers{}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid #000;z-index:3}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7;z-index:1}.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite{}.cm-tab{display:inline-block}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:#000}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-property{color:#000}.cm-s-default .cm-operator{color:#000}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-error{color:red}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:#fff;color:#000}.CodeMirror-scroll{margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;padding-right:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0;z-index:6}.CodeMirror-gutters{position:absolute;left:0;top:0;height:100%;padding-bottom:30px;z-index:3}.CodeMirror-gutter{height:100%;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-widget{display:inline-block}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;visibility:hidden;border-right:none;width:0}.CodeMirror-focused div.CodeMirror-cursor{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}@media print{.CodeMirror div.CodeMirror-cursor{visibility:hidden}}.CodeMirror{font:13px/1.4em monospace}.CodeMirror .activeline{background:#e8f2ff}.CodeMirror .CodeMirror-foldmarker{color:blue;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px;font-family:arial;line-height:.3;cursor:pointer}.cm-s-cobalt .CodeMirror-selected{background:#b36539!important}.cm-s-erlang-dark .CodeMirror-selected{background:#b36539!important}.cm-s-lesser-dark .CodeMirror-selected{background:#45443b!important}.cm-s-monokai .CodeMirror-selected{background:#49483e!important}.cm-s-night .CodeMirror-selected{background:#447!important}.cm-s-rubyblue .CodeMirror-selected{background:#38566f!important}.cm-s-twilight .CodeMirror-selected{background:#323232!important}.cm-s-xq-dark .CodeMirror-selected{background:#a8f!important}.cm-s-blackboard .activeline,.cm-s-cobalt .activeline,.cm-s-erlang-dark .activeline,.cm-s-lesser-dark .activeline,.cm-s-monokai .activeline,.cm-s-night .activeline,.cm-s-rubyblue .activeline,.cm-s-vibrant-ink .activeline,.cm-s-xq-dark .activeline{background:#757575}.cm-s-twilight .activeline{background:#494949}.CodeMirror-focused .cm-matchhighlight{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);background-position:bottom;background-repeat:repeat-x}.CodeMirror-dialog{position:absolute;left:0;right:0;background:#fff;z-index:15;padding:.1em .8em;overflow:hidden;color:#333}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;-webkit-box-shadow:2px 3px 5px rgba(0,0,0,.2);-moz-box-shadow:2px 3px 5px rgba(0,0,0,.2);box-shadow:2px 3px 5px rgba(0,0,0,.2);border-radius:3px;border:1px solid silver;background:#fff;font-size:90%;font-family:monospace;max-height:20em;overflow-y:auto}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;max-width:19em;overflow:hidden;white-space:pre;color:#000;cursor:pointer}.CodeMirror-hint-active{background:#08f;color:#fff} \ No newline at end of file diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoComplete.png b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoComplete.png new file mode 100644 index 0000000000000000000000000000000000000000..fd37b42ed992f381183efa9a74c96ec50eae53c6 GIT binary patch literal 1181 zcmaJ>U2NM_6uw?smUWs)S7|F#H7+iiRq5Pa8vvrb+vGfT?=`CJh8nybZ+AgoZS(yQbrTVA=9L zSKs%YbI;e_t1C3r zwFG^XmqW6hMpb=s(LvLTQ$=-gPK{~w_!x{gL?U1ytiXm*GhMNfpf_|yvi7!F8g4-F zT!Ma5R7uXmwB;bkGm)Sg;y5S>3>W1Efjb1lAuh~@$Snl9sK^Uqcoc44G|A>@Gh#u? zZssCUg05n0i!58O*O_{Rv7A|!i^XD|MmQWKh@iV*Vx}rX8eU%PCq`t<%MP)xwrrwQQK47U037x~W-pcVq)E%VN%Sv0|zyCnad2 z!05Ur#v<7ae>lRYqCCfOnQ)5ZrOfEWL?#^@6|xbj!<8&`-asbqaJ8pgp)1$3f?<=) z5_0snkd}2U18y8y)VtRb>8iKM)wwEh>OKAC zdv{K*ycF0oFz{&kY%gqvdTvuYm%ybQHFrjo_w#+t!~2&~A2xTd3?Jfy&Cd?3z#A9-Os0LehqkY;E}y&D|LZ;}epW4C l9)W+fj(y&g@3pUQ1D8IyuzvT4lV5m0j9g|)IzLf9^$*+4danQg literal 0 HcmV?d00001 diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoFormat.png b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/AutoFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a53a745464af340e6048d4474bf815e0cabc7c GIT binary patch literal 644 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDEfH31!Z9ZwBAX}2Ry9>jA5L~c#`DCDoYKdz^NlIc#s#S7P zDv)9@GB7mKH8j*UFb^>_wlXrYGB(jRFtjo-Sdq=T2}MJ0eoAIqC2kEj&GzyEHAsSN z2+mI{DNig)WhgH%*UQYyE>2D?NY%?PN}v7CMhfVY22U5q5DWjKlWn^W1&FkscL@ye zQ8hcLq!5;;$P&}A)>YuhA-A>8T;>UiVqsA`n7${h)lgcwCZ;j$--1VTzppzlc|0X8 zVb;%CPwxD__t#P}UnOJvZ4VWp4>tUh{FXBdw!Pl9Ms@wh_G?QfOfQXn-r};)KKo?$ z8|TxU`wnl?xn$BCwRTz;%R|mXA8O@ShH&+|F|WSL)qdD9b)V3y#w9m%9#!rAH1GLm z$!)odqt>o^qc8X7d$rDV?{`reB0DZ*m;~Llwy!df;X7Fts zXU)~D8+qG1T$E0vZQfI_BX+oIubYXK>&lQv#tYTnm06!jGu8`O8FJzE*9-5zUwm6O z(QoKLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0001`Nkln?h@G`+-otzyszi|zprJj<1C}}a z@Sy>yUvS$Wcpkv>fM$XgXaFkLH9nrYM$pv?nE60XL@I>vAqTL9nR=M1$3B+}=NtgE zzd=e#9VWOE#+dvBXSy$~k%+1n*BYI3qKIJC8DrGrc*nB5%3COD_1>Rur~5{yh+ym3 kVr6S>*~)+WjV*W&06H7ElA(dddH?_b07*qoM6N<$f`JWp;{X5v literal 0 HcmV?d00001 diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/SearchCode.png b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/SearchCode.png new file mode 100644 index 0000000000000000000000000000000000000000..1dea4b1e65e7ec84a8f25960cce4e6bd58dcc430 GIT binary patch literal 490 zcmVK`yovXw* z5UhQO^Z`My7CZ|p5z$~F_XIwI5J+KXV<#4ZrG+nWU6dH3-rme!0x{snjSG3UawzhSh2XlgWfRj>9XJ z3M>{2UaQqW*L7*RTx#3xwy|EXDYYpG&gXL-50HJ|7iD3|WEdtw==boD9IcPXBTy{m z5P|5y>2yk74GxFH&NNLRMgJEPT=}CMQ32lV7Xe|L%?2L%pAtk@$mjFgQvy|0A)QV` z*i?ZH1_O!q)oRsM6h)AvQYoQV1k{+>Y$gEPwgJ1m3!e%?{}`XMUMv>181}QEIWP>v zMFLJjmiC0lm9Xh_%3asxWTP1QRu3LEExG?6g5(_Bnu~ie;xFL1ek4B1cs`#u;|cd- gq~v%0t9%PE01Y(`Ill+ literal 0 HcmV?d00001 diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/UncommentSelectedRange.png b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/icons/UncommentSelectedRange.png new file mode 100644 index 0000000000000000000000000000000000000000..035f99fac1b845613af47afcd5c16511cd4c001e GIT binary patch literal 3124 zcmV-449oM0P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004BNkl%ly1^#mTTsrxz_58jr^c^0tQKwxcCMHj zm>3user=eqs=zP#_}t}l=PsW+C;9lCssjJ74fAo@a79Mv^WLK-v3|R{3mF&~+_Iz2 zF5dJ|-C7Ns21bY3JQ?badUHT*|G&{0|NuYe+GuX z>>Lbt?=mnj{AK6(&%m&M|9&*HeSCbjY}vx_|NsA`ZHMvR z4olk_|Dys22Z#Uv|1&W#Fi4%*X)DOGd+uuWCA-y^?A|?hwXGnF)R~=FJ= 0 || SPACE_CHAR_REGEX.test(nextChar)) + cm.replaceSelection(left + right, {head: ahead, anchor: ahead}); + else + return CodeMirror.Pass; + }; + if (left != right) map["'" + right + "'"] = maybeOverwrite; + })(pairs.charAt(i), pairs.charAt(i + 1)); + return map; + } +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/closetag.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/closetag.js new file mode 100644 index 000000000..54fa19546 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/closetag.js @@ -0,0 +1,85 @@ +/** + * Tag-closer extension for CodeMirror. + * + * This extension adds an "autoCloseTags" option that can be set to + * either true to get the default behavior, or an object to further + * configure its behavior. + * + * These are supported options: + * + * `whenClosing` (default true) + * Whether to autoclose when the '/' of a closing tag is typed. + * `whenOpening` (default true) + * Whether to autoclose the tag when the final '>' of an opening + * tag is typed. + * `dontCloseTags` (default is empty tags for HTML, none for XML) + * An array of tag names that should not be autoclosed. + * `indentTags` (default is block tags for HTML, none for XML) + * An array of tag names that should, when opened, cause a + * blank line to be added inside the tag, and the blank line and + * closing line to be indented. + * + * See demos/closetag.html for a usage example. + */ + +(function() { + CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) { + if (val && (old == CodeMirror.Init || !old)) { + var map = {name: "autoCloseTags"}; + if (typeof val != "object" || val.whenClosing) + map["'/'"] = function(cm) { return autoCloseTag(cm, '/'); }; + if (typeof val != "object" || val.whenOpening) + map["'>'"] = function(cm) { return autoCloseTag(cm, '>'); }; + cm.addKeyMap(map); + } else if (!val && (old != CodeMirror.Init && old)) { + cm.removeKeyMap("autoCloseTags"); + } + }); + + var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", + "source", "track", "wbr"]; + var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4", + "h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"]; + + function autoCloseTag(cm, ch) { + var pos = cm.getCursor(), tok = cm.getTokenAt(pos); + var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state; + if (inner.mode.name != "xml") return CodeMirror.Pass; + + var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html"; + var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose); + var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent); + + if (ch == ">" && state.tagName) { + var tagName = state.tagName; + if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch); + var lowerTagName = tagName.toLowerCase(); + // Don't process the '>' at the end of an end-tag or self-closing tag + if (tok.type == "tag" && state.type == "closeTag" || tok.string.indexOf("/") > -1 || + dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1) + return CodeMirror.Pass; + + var doIndent = indentTags && indexOf(indentTags, lowerTagName) > -1; + var curPos = doIndent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1); + cm.replaceSelection(">" + (doIndent ? "\n\n" : "") + "", + {head: curPos, anchor: curPos}); + if (doIndent) { + cm.indentLine(pos.line + 1); + cm.indentLine(pos.line + 2); + } + return; + } else if (ch == "/" && tok.string == "<") { + var tagName = state.context && state.context.tagName; + if (tagName) cm.replaceSelection("/" + tagName + ">", "end"); + return; + } + return CodeMirror.Pass; + } + + function indexOf(collection, elt) { + if (collection.indexOf) return collection.indexOf(elt); + for (var i = 0, e = collection.length; i < e; ++i) + if (collection[i] == elt) return i; + return -1; + } +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuecomment.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuecomment.js new file mode 100644 index 000000000..308026229 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuecomment.js @@ -0,0 +1,44 @@ +(function() { + var modes = ["clike", "css", "javascript"]; + for (var i = 0; i < modes.length; ++i) + CodeMirror.extendMode(modes[i], {blockCommentStart: "/*", + blockCommentEnd: "*/", + blockCommentContinue: " * "}); + + function continueComment(cm) { + var pos = cm.getCursor(), token = cm.getTokenAt(pos); + var mode = CodeMirror.innerMode(cm.getMode(), token.state).mode; + var space; + + if (token.type == "comment" && mode.blockCommentStart) { + var end = token.string.indexOf(mode.blockCommentEnd); + var full = cm.getRange(CodeMirror.Pos(pos.line, 0), CodeMirror.Pos(pos.line, token.end)), found; + if (end != -1 && end == token.string.length - mode.blockCommentEnd.length) { + // Comment ended, don't continue it + } else if (token.string.indexOf(mode.blockCommentStart) == 0) { + space = full.slice(0, token.start); + if (!/^\s*$/.test(space)) { + space = ""; + for (var i = 0; i < token.start; ++i) space += " "; + } + } else if ((found = full.indexOf(mode.blockCommentContinue)) != -1 && + found + mode.blockCommentContinue.length > token.start && + /^\s*$/.test(full.slice(0, found))) { + space = full.slice(0, found); + } + } + + if (space != null) + cm.replaceSelection("\n" + space + mode.blockCommentContinue, "end"); + else + return CodeMirror.Pass; + } + + CodeMirror.defineOption("continueComments", null, function(cm, val, prev) { + if (prev && prev != CodeMirror.Init) + cm.removeKeyMap("continueComment"); + var map = {name: "continueComment"}; + map[typeof val == "string" ? val : "Enter"] = continueComment; + cm.addKeyMap(map); + }); +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuelist.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuelist.js new file mode 100644 index 000000000..fb1fc38ba --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/continuelist.js @@ -0,0 +1,25 @@ +(function() { + 'use strict'; + + var listRE = /^(\s*)([*+-]|(\d+)\.)(\s*)/, + unorderedBullets = '*+-'; + + CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) { + var pos = cm.getCursor(), + inList = cm.getStateAfter(pos.line).list, + match; + + if (!inList || !(match = cm.getLine(pos.line).match(listRE))) { + cm.execCommand('newlineAndIndent'); + return; + } + + var indent = match[1], after = match[4]; + var bullet = unorderedBullets.indexOf(match[2]) >= 0 + ? match[2] + : (parseInt(match[3], 10) + 1) + '.'; + + cm.replaceSelection('\n' + indent + bullet + after, 'end'); + }; + +}()); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/matchbrackets.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/matchbrackets.js new file mode 100644 index 000000000..f4925b725 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/edit/matchbrackets.js @@ -0,0 +1,74 @@ +(function() { + var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && + (document.documentMode == null || document.documentMode < 8); + + var Pos = CodeMirror.Pos; + // Disable brace matching in long lines, since it'll cause hugely slow updates + var maxLineLen = 1000; + + var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"}; + function findMatchingBracket(cm) { + var cur = cm.getCursor(), line = cm.getLineHandle(cur.line), pos = cur.ch - 1; + var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)]; + if (!match) return null; + var forward = match.charAt(1) == ">", d = forward ? 1 : -1; + var style = cm.getTokenAt(Pos(cur.line, pos + 1)).type; + + var stack = [line.text.charAt(pos)], re = /[(){}[\]]/; + function scan(line, lineNo, start) { + if (!line.text) return; + var pos = forward ? 0 : line.text.length - 1, end = forward ? line.text.length : -1; + if (start != null) pos = start + d; + for (; pos != end; pos += d) { + var ch = line.text.charAt(pos); + if (re.test(ch) && cm.getTokenAt(Pos(lineNo, pos + 1)).type == style) { + var match = matching[ch]; + if (match.charAt(1) == ">" == forward) stack.push(ch); + else if (stack.pop() != match.charAt(0)) return {pos: pos, match: false}; + else if (!stack.length) return {pos: pos, match: true}; + } + } + } + for (var i = cur.line, found, e = forward ? Math.min(i + 100, cm.lineCount()) : Math.max(-1, i - 100); i != e; i+=d) { + if (i == cur.line) found = scan(line, i, pos); + else found = scan(cm.getLineHandle(i), i); + if (found) break; + } + return {from: Pos(cur.line, pos), to: found && Pos(i, found.pos), match: found && found.match}; + } + + function matchBrackets(cm, autoclear) { + var found = findMatchingBracket(cm); + if (!found || cm.getLine(found.from.line).length > maxLineLen || + found.to && cm.getLine(found.to.line).length > maxLineLen) + return; + + var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; + var one = cm.markText(found.from, Pos(found.from.line, found.from.ch + 1), {className: style}); + var two = found.to && cm.markText(found.to, Pos(found.to.line, found.to.ch + 1), {className: style}); + // Kludge to work around the IE bug from issue #1193, where text + // input stops going to the textare whever this fires. + if (ie_lt8 && cm.state.focused) cm.display.input.focus(); + var clear = function() { + cm.operation(function() { one.clear(); two && two.clear(); }); + }; + if (autoclear) setTimeout(clear, 800); + else return clear; + } + + var currentlyHighlighted = null; + function doMatchBrackets(cm) { + cm.operation(function() { + if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} + if (!cm.somethingSelected()) currentlyHighlighted = matchBrackets(cm, false); + }); + } + + CodeMirror.defineOption("matchBrackets", false, function(cm, val) { + if (val) cm.on("cursorActivity", doMatchBrackets); + else cm.off("cursorActivity", doMatchBrackets); + }); + + CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); + CodeMirror.defineExtension("findMatchingBracket", function(){return findMatchingBracket(this);}); +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/brace-fold.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/brace-fold.js new file mode 100644 index 000000000..aad6e0141 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/brace-fold.js @@ -0,0 +1,31 @@ +CodeMirror.braceRangeFinder = function(cm, start) { + var line = start.line, lineText = cm.getLine(line); + var at = lineText.length, startChar, tokenType; + for (;;) { + var found = lineText.lastIndexOf("{", at); + if (found < start.ch) break; + tokenType = cm.getTokenAt(CodeMirror.Pos(line, found + 1)).type; + if (!/^(comment|string)/.test(tokenType)) { startChar = found; break; } + at = found - 1; + } + if (startChar == null || lineText.lastIndexOf("}") > startChar) return; + var count = 1, lastLine = cm.lineCount(), end, endCh; + outer: for (var i = line + 1; i < lastLine; ++i) { + var text = cm.getLine(i), pos = 0; + for (;;) { + var nextOpen = text.indexOf("{", pos), nextClose = text.indexOf("}", pos); + if (nextOpen < 0) nextOpen = text.length; + if (nextClose < 0) nextClose = text.length; + pos = Math.min(nextOpen, nextClose); + if (pos == text.length) break; + if (cm.getTokenAt(CodeMirror.Pos(i, pos + 1)).type == tokenType) { + if (pos == nextOpen) ++count; + else if (!--count) { end = i; endCh = pos; break outer; } + } + ++pos; + } + } + if (end == null || end == line + 1) return; + return {from: CodeMirror.Pos(line, startChar + 1), + to: CodeMirror.Pos(end, endCh)}; +}; diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/foldcode.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/foldcode.js new file mode 100644 index 000000000..b8b4b0da9 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/foldcode.js @@ -0,0 +1,32 @@ +CodeMirror.newFoldFunction = function(rangeFinder, widget) { + if (widget == null) widget = "\u2194"; + if (typeof widget == "string") { + var text = document.createTextNode(widget); + widget = document.createElement("span"); + widget.appendChild(text); + widget.className = "CodeMirror-foldmarker"; + } + + return function(cm, pos) { + if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0); + var range = rangeFinder(cm, pos); + if (!range) return; + + var present = cm.findMarksAt(range.from), cleared = 0; + for (var i = 0; i < present.length; ++i) { + if (present[i].__isFold) { + ++cleared; + present[i].clear(); + } + } + if (cleared) return; + + var myWidget = widget.cloneNode(true); + CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();}); + var myRange = cm.markText(range.from, range.to, { + replacedWith: myWidget, + clearOnEnter: true, + __isFold: true + }); + }; +}; diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/xml-fold.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/xml-fold.js new file mode 100644 index 000000000..79c524d48 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/fold/xml-fold.js @@ -0,0 +1,64 @@ +CodeMirror.tagRangeFinder = (function() { + var nameStartChar = "A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; + var nameChar = nameStartChar + "\-\:\.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; + var xmlTagStart = new RegExp("<(/?)([" + nameStartChar + "][" + nameChar + "]*)", "g"); + + return function(cm, start) { + var line = start.line, ch = start.ch, lineText = cm.getLine(line); + + function nextLine() { + if (line >= cm.lastLine()) return; + ch = 0; + lineText = cm.getLine(++line); + return true; + } + function toTagEnd() { + for (;;) { + var gt = lineText.indexOf(">", ch); + if (gt == -1) { if (nextLine()) continue; else return; } + var lastSlash = lineText.lastIndexOf("/", gt); + var selfClose = lastSlash > -1 && /^\s*$/.test(lineText.slice(lastSlash + 1, gt)); + ch = gt + 1; + return selfClose ? "selfClose" : "regular"; + } + } + function toNextTag() { + for (;;) { + xmlTagStart.lastIndex = ch; + var found = xmlTagStart.exec(lineText); + if (!found) { if (nextLine()) continue; else return; } + ch = found.index + found[0].length; + return found; + } + } + + var stack = [], startCh; + for (;;) { + var openTag = toNextTag(), end; + if (!openTag || line != start.line || !(end = toTagEnd())) return; + if (!openTag[1] && end != "selfClose") { + stack.push(openTag[2]); + startCh = ch; + break; + } + } + + for (;;) { + var next = toNextTag(), end, tagLine = line, tagCh = ch - (next ? next[0].length : 0); + if (!next || !(end = toTagEnd())) return; + if (end == "selfClose") continue; + if (next[1]) { // closing tag + for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == next[2]) { + stack.length = i; + break; + } + if (!stack.length) return { + from: CodeMirror.Pos(start.line, startCh), + to: CodeMirror.Pos(tagLine, tagCh) + }; + } else { // opening tag + stack.push(next[2]); + } + } + }; +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/autoFormatAll.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/autoFormatAll.js new file mode 100644 index 000000000..2e44a6949 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/autoFormatAll.js @@ -0,0 +1,43 @@ +(function() { + + // Applies automatic formatting to the specified range + CodeMirror.defineExtension("autoFormatAll", function (from, to) { + var cm = this; + var outer = cm.getMode(), text = cm.getRange(from, to).split("\n"); + var state = CodeMirror.copyState(outer, cm.getTokenAt(from).state); + var tabSize = cm.getOption("tabSize"); + + var out = "", lines = 0, atSol = from.ch == 0; + function newline() { + out += "\n"; + atSol = true; + ++lines; + } + + for (var i = 0; i < text.length; ++i) { + var stream = new CodeMirror.StringStream(text[i], tabSize); + while (!stream.eol()) { + var inner = CodeMirror.innerMode(outer, state); + var style = outer.token(stream, state), cur = stream.current(); + stream.start = stream.pos; + if (!atSol || /\S/.test(cur)) { + out += cur; + atSol = false; + } + if (!atSol && inner.mode.newlineAfterToken && + inner.mode.newlineAfterToken(style, cur, stream.string.slice(stream.pos) || text[i+1] || "", inner.state)) + newline(); + } + if (!stream.pos && outer.blankLine) outer.blankLine(state); + if (!atSol && i < text.length - 1) newline(); + } + + cm.operation(function () { + cm.replaceRange(out, from, to); + for (var cur = from.line + 1, end = from.line + lines; cur <= end; ++cur) + cm.indentLine(cur, "smart"); + + cm.setCursor({ line:0, ch:0 }); + }); + }); +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/formatting.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/formatting.js new file mode 100644 index 000000000..88b84307f --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/format/formatting.js @@ -0,0 +1,114 @@ +(function() { + + CodeMirror.extendMode("css", { + commentStart: "/*", + commentEnd: "*/", + newlineAfterToken: function(_type, content) { + return /^[;{}]$/.test(content); + } + }); + + CodeMirror.extendMode("javascript", { + commentStart: "/*", + commentEnd: "*/", + // FIXME semicolons inside of for + newlineAfterToken: function(_type, content, textAfter, state) { + if (this.jsonMode) { + return /^[\[,{]$/.test(content) || /^}/.test(textAfter); + } else { + if (content == ";" && state.lexical && state.lexical.type == ")") return false; + return /^[;{}]$/.test(content) && !/^;/.test(textAfter); + } + } + }); + + var inlineElements = /^(a|abbr|acronym|area|base|bdo|big|br|button|caption|cite|code|col|colgroup|dd|del|dfn|em|frame|hr|iframe|img|input|ins|kbd|label|legend|link|map|object|optgroup|option|param|q|samp|script|select|small|span|strong|sub|sup|textarea|tt|var)$/; + + CodeMirror.extendMode("xml", { + commentStart: "", + newlineAfterToken: function(type, content, textAfter, state) { + var inline = false; + if (this.configuration == "html") + inline = state.context ? inlineElements.test(state.context.tagName) : false; + return !inline && ((type == "tag" && />$/.test(content) && state.context) || + /^ -1 && endIndex > -1 && endIndex > startIndex) { + // Take string till comment start + selText = selText.substr(0, startIndex) + // From comment start till comment end + + selText.substring(startIndex + curMode.commentStart.length, endIndex) + // From comment end till string end + + selText.substr(endIndex + curMode.commentEnd.length); + } + cm.replaceRange(selText, from, to); + } + }); + }); + + // Applies automatic mode-aware indentation to the specified range + CodeMirror.defineExtension("autoIndentRange", function (from, to) { + var cmInstance = this; + this.operation(function () { + for (var i = from.line; i <= to.line; i++) { + cmInstance.indentLine(i, "smart"); + } + }); + }); + + // Applies automatic formatting to the specified range + CodeMirror.defineExtension("autoFormatRange", function (from, to) { + var cm = this; + var outer = cm.getMode(), text = cm.getRange(from, to).split("\n"); + var state = CodeMirror.copyState(outer, cm.getTokenAt(from).state); + var tabSize = cm.getOption("tabSize"); + + var out = "", lines = 0, atSol = from.ch == 0; + function newline() { + out += "\n"; + atSol = true; + ++lines; + } + + for (var i = 0; i < text.length; ++i) { + var stream = new CodeMirror.StringStream(text[i], tabSize); + while (!stream.eol()) { + var inner = CodeMirror.innerMode(outer, state); + var style = outer.token(stream, state), cur = stream.current(); + stream.start = stream.pos; + if (!atSol || /\S/.test(cur)) { + out += cur; + atSol = false; + } + if (!atSol && inner.mode.newlineAfterToken && + inner.mode.newlineAfterToken(style, cur, stream.string.slice(stream.pos) || text[i+1] || "", inner.state)) + newline(); + } + if (!stream.pos && outer.blankLine) outer.blankLine(state); + if (!atSol && i < text.length - 1) newline(); + } + + cm.operation(function () { + cm.replaceRange(out, from, to); + for (var cur = from.line + 1, end = from.line + lines; cur <= end; ++cur) + cm.indentLine(cur, "smart"); + cm.setSelection(from, cm.getCursor(false)); + }); + }); +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/match-highlighter.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/match-highlighter.js new file mode 100644 index 000000000..c6e35cd97 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/match-highlighter.js @@ -0,0 +1,60 @@ +// Highlighting text that matches the selection +// +// Defines an option highlightSelectionMatches, which, when enabled, +// will style strings that match the selection throughout the +// document. +// +// The option can be set to true to simply enable it, or to a +// {minChars, style} object to explicitly configure it. minChars is +// the minimum amount of characters that should be selected for the +// behavior to occur, and style is the token style to apply to the +// matches. This will be prefixed by "cm-" to create an actual CSS +// class name. + +(function() { + var DEFAULT_MIN_CHARS = 2; + var DEFAULT_TOKEN_STYLE = "matchhighlight"; + + function State(options) { + this.minChars = typeof options == "object" && options.minChars || DEFAULT_MIN_CHARS; + this.style = typeof options == "object" && options.style || DEFAULT_TOKEN_STYLE; + this.overlay = null; + } + + CodeMirror.defineOption("highlightSelectionMatches", false, function(cm, val, old) { + var prev = old && old != CodeMirror.Init; + if (val && !prev) { + cm._matchHighlightState = new State(val); + cm.on("cursorActivity", highlightMatches); + } else if (!val && prev) { + var over = cm._matchHighlightState.overlay; + if (over) cm.removeOverlay(over); + cm._matchHighlightState = null; + cm.off("cursorActivity", highlightMatches); + } + }); + + function highlightMatches(cm) { + cm.operation(function() { + var state = cm._matchHighlightState; + if (state.overlay) { + cm.removeOverlay(state.overlay); + state.overlay = null; + } + + if (!cm.somethingSelected()) return; + var selection = cm.getSelection().replace(/^\s+|\s+$/g, ""); + if (selection.length < state.minChars) return; + + cm.addOverlay(state.overlay = makeOverlay(selection, state.style)); + }); + } + + function makeOverlay(query, style) { + return {token: function(stream) { + if (stream.match(query)) return style; + stream.next(); + stream.skipTo(query.charAt(0)) || stream.skipToEnd(); + }}; + } +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/search.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/search.js new file mode 100644 index 000000000..cb4aa1c2b --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/search.js @@ -0,0 +1,131 @@ +// Define search commands. Depends on dialog.js or another +// implementation of the openDialog method. + +// Replace works a little oddly -- it will do the replace on the next +// Ctrl-G (or whatever is bound to findNext) press. You prevent a +// replace by making sure the match is no longer selected when hitting +// Ctrl-G. + +(function() { + function searchOverlay(query) { + if (typeof query == "string") return {token: function(stream) { + if (stream.match(query)) return "searching"; + stream.next(); + stream.skipTo(query.charAt(0)) || stream.skipToEnd(); + }}; + return {token: function(stream) { + if (stream.match(query)) return "searching"; + while (!stream.eol()) { + stream.next(); + if (stream.match(query, false)) break; + } + }}; + } + + function SearchState() { + this.posFrom = this.posTo = this.query = null; + this.overlay = null; + } + function getSearchState(cm) { + return cm._searchState || (cm._searchState = new SearchState()); + } + function getSearchCursor(cm, query, pos) { + // Heuristic: if the query string is all lowercase, do a case insensitive search. + return cm.getSearchCursor(query, pos, typeof query == "string" && query == query.toLowerCase()); + } + function dialog(cm, text, shortText, f) { + if (cm.openDialog) cm.openDialog(text, f); + else f(prompt(shortText, "")); + } + function confirmDialog(cm, text, shortText, fs) { + if (cm.openConfirm) cm.openConfirm(text, fs); + else if (confirm(shortText)) fs[0](); + } + function parseQuery(query) { + var isRE = query.match(/^\/(.*)\/([a-z]*)$/); + return isRE ? new RegExp(isRE[1], isRE[2].indexOf("i") == -1 ? "" : "i") : query; + } + var queryDialog = + 'Search: (Use /re/ syntax for regexp search)'; + function doSearch(cm, rev) { + var state = getSearchState(cm); + if (state.query) return findNext(cm, rev); + dialog(cm, queryDialog, "Search for:", function(query) { + cm.operation(function() { + if (!query || state.query) return; + state.query = parseQuery(query); + cm.removeOverlay(state.overlay); + state.overlay = searchOverlay(query); + cm.addOverlay(state.overlay); + state.posFrom = state.posTo = cm.getCursor(); + findNext(cm, rev); + }); + }); + } + function findNext(cm, rev) {cm.operation(function() { + var state = getSearchState(cm); + var cursor = getSearchCursor(cm, state.query, rev ? state.posFrom : state.posTo); + if (!cursor.find(rev)) { + cursor = getSearchCursor(cm, state.query, rev ? CodeMirror.Pos(cm.lastLine()) : CodeMirror.Pos(cm.firstLine(), 0)); + if (!cursor.find(rev)) return; + } + cm.setSelection(cursor.from(), cursor.to()); + state.posFrom = cursor.from(); state.posTo = cursor.to(); + });} + function clearSearch(cm) {cm.operation(function() { + var state = getSearchState(cm); + if (!state.query) return; + state.query = null; + cm.removeOverlay(state.overlay); + });} + + var replaceQueryDialog = + 'Replace: (Use /re/ syntax for regexp search)'; + var replacementQueryDialog = 'With: '; + var doReplaceConfirm = "Replace? "; + function replace(cm, all) { + dialog(cm, replaceQueryDialog, "Replace:", function(query) { + if (!query) return; + query = parseQuery(query); + dialog(cm, replacementQueryDialog, "Replace with:", function(text) { + if (all) { + cm.operation(function() { + for (var cursor = getSearchCursor(cm, query); cursor.findNext();) { + if (typeof query != "string") { + var match = cm.getRange(cursor.from(), cursor.to()).match(query); + cursor.replace(text.replace(/\$(\d)/, function(_, i) {return match[i];})); + } else cursor.replace(text); + } + }); + } else { + clearSearch(cm); + var cursor = getSearchCursor(cm, query, cm.getCursor()); + var advance = function() { + var start = cursor.from(), match; + if (!(match = cursor.findNext())) { + cursor = getSearchCursor(cm, query); + if (!(match = cursor.findNext()) || + (start && cursor.from().line == start.line && cursor.from().ch == start.ch)) return; + } + cm.setSelection(cursor.from(), cursor.to()); + confirmDialog(cm, doReplaceConfirm, "Replace?", + [function() {doReplace(match);}, advance]); + }; + var doReplace = function(match) { + cursor.replace(typeof query == "string" ? text : + text.replace(/\$(\d)/, function(_, i) {return match[i];})); + advance(); + }; + advance(); + } + }); + }); + } + + CodeMirror.commands.find = function(cm) {clearSearch(cm); doSearch(cm);}; + CodeMirror.commands.findNext = doSearch; + CodeMirror.commands.findPrev = function(cm) {doSearch(cm, true);}; + CodeMirror.commands.clearSearch = clearSearch; + CodeMirror.commands.replace = replace; + CodeMirror.commands.replaceAll = function(cm) {replace(cm, true);}; +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/searchcursor.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/searchcursor.js new file mode 100644 index 000000000..fd134636e --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/addon/search/searchcursor.js @@ -0,0 +1,130 @@ +(function(){ + var Pos = CodeMirror.Pos; + + function SearchCursor(cm, query, pos, caseFold) { + this.atOccurrence = false; this.cm = cm; + if (caseFold == null && typeof query == "string") caseFold = false; + + pos = pos ? cm.clipPos(pos) : Pos(0, 0); + this.pos = {from: pos, to: pos}; + + // The matches method is filled in based on the type of query. + // It takes a position and a direction, and returns an object + // describing the next occurrence of the query, or null if no + // more matches were found. + if (typeof query != "string") { // Regexp match + if (!query.global) query = new RegExp(query.source, query.ignoreCase ? "ig" : "g"); + this.matches = function(reverse, pos) { + if (reverse) { + query.lastIndex = 0; + var line = cm.getLine(pos.line).slice(0, pos.ch), cutOff = 0, match, start; + for (;;) { + query.lastIndex = cutOff; + var newMatch = query.exec(line); + if (!newMatch) break; + match = newMatch; + start = match.index; + cutOff = match.index + 1; + } + } else { + query.lastIndex = pos.ch; + var line = cm.getLine(pos.line), match = query.exec(line), + start = match && match.index; + } + if (match && match[0]) + return {from: Pos(pos.line, start), + to: Pos(pos.line, start + match[0].length), + match: match}; + }; + } else { // String query + if (caseFold) query = query.toLowerCase(); + var fold = caseFold ? function(str){return str.toLowerCase();} : function(str){return str;}; + var target = query.split("\n"); + // Different methods for single-line and multi-line queries + if (target.length == 1) { + if (!query.length) { + // Empty string would match anything and never progress, so + // we define it to match nothing instead. + this.matches = function() {}; + } else { + this.matches = function(reverse, pos) { + var line = fold(cm.getLine(pos.line)), len = query.length, match; + if (reverse ? (pos.ch >= len && (match = line.lastIndexOf(query, pos.ch - len)) != -1) + : (match = line.indexOf(query, pos.ch)) != -1) + return {from: Pos(pos.line, match), + to: Pos(pos.line, match + len)}; + }; + } + } else { + this.matches = function(reverse, pos) { + var ln = pos.line, idx = (reverse ? target.length - 1 : 0), match = target[idx], line = fold(cm.getLine(ln)); + var offsetA = (reverse ? line.indexOf(match) + match.length : line.lastIndexOf(match)); + if (reverse ? offsetA >= pos.ch || offsetA != match.length + : offsetA <= pos.ch || offsetA != line.length - match.length) + return; + for (;;) { + if (reverse ? !ln : ln == cm.lineCount() - 1) return; + line = fold(cm.getLine(ln += reverse ? -1 : 1)); + match = target[reverse ? --idx : ++idx]; + if (idx > 0 && idx < target.length - 1) { + if (line != match) return; + else continue; + } + var offsetB = (reverse ? line.lastIndexOf(match) : line.indexOf(match) + match.length); + if (reverse ? offsetB != line.length - match.length : offsetB != match.length) + return; + var start = Pos(pos.line, offsetA), end = Pos(ln, offsetB); + return {from: reverse ? end : start, to: reverse ? start : end}; + } + }; + } + } + } + + SearchCursor.prototype = { + findNext: function() {return this.find(false);}, + findPrevious: function() {return this.find(true);}, + + find: function(reverse) { + var self = this, pos = this.cm.clipPos(reverse ? this.pos.from : this.pos.to); + function savePosAndFail(line) { + var pos = Pos(line, 0); + self.pos = {from: pos, to: pos}; + self.atOccurrence = false; + return false; + } + + for (;;) { + if (this.pos = this.matches(reverse, pos)) { + if (!this.pos.from || !this.pos.to) { console.log(this.matches, this.pos); } + this.atOccurrence = true; + return this.pos.match || true; + } + if (reverse) { + if (!pos.line) return savePosAndFail(0); + pos = Pos(pos.line-1, this.cm.getLine(pos.line-1).length); + } + else { + var maxLine = this.cm.lineCount(); + if (pos.line == maxLine - 1) return savePosAndFail(maxLine); + pos = Pos(pos.line + 1, 0); + } + } + }, + + from: function() {if (this.atOccurrence) return this.pos.from;}, + to: function() {if (this.atOccurrence) return this.pos.to;}, + + replace: function(newText) { + if (!this.atOccurrence) return; + var lines = CodeMirror.splitLines(newText); + this.cm.replaceRange(lines, this.pos.from, this.pos.to); + this.pos.to = Pos(this.pos.from.line + lines.length - 1, + lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0)); + } + }; + + CodeMirror.defineExtension("getSearchCursor", function(query, pos, caseFold) { + return new SearchCursor(this, query, pos, caseFold); + }); +})(); diff --git a/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.addons.min.js b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.addons.min.js new file mode 100644 index 000000000..f1550c2a3 --- /dev/null +++ b/public/plugin_assets/redmine_ckeditor/ckeditor-contrib/plugins/codemirror/js/codemirror.addons.min.js @@ -0,0 +1 @@ +(function(){function i(n){for(var r={name:"autoCloseBrackets",Backspace:function(t){if(t.somethingSelected())return CodeMirror.Pass;var i=t.getCursor(),r=t.getLine(i.line);if(i.ch&&i.ch=0||t.test(c))r.replaceSelection(n+i,{head:s,anchor:s});else return CodeMirror.Pass}},n!=i&&(r["'"+i+"'"]=f)})(n.charAt(i),n.charAt(i+1));return r}var n="()[]{}''\"\"",t=/\s/;CodeMirror.defineOption("autoCloseBrackets",!1,function(t,r,u){var f=u&&u!=CodeMirror.Init;r&&!f?t.addKeyMap(i(typeof r=="string"?r:n)):!r&&f&&t.removeKeyMap("autoCloseBrackets")})})(),function(){function n(n,u){var e=n.getCursor(),o=n.getTokenAt(e),l=CodeMirror.innerMode(n.getMode(),o.state),s=l.state,a,c,v,f;if(l.mode.name!="xml")return CodeMirror.Pass;var h=n.getOption("autoCloseTags"),y=l.mode.configuration=="html",p=typeof h=="object"&&h.dontCloseTags||y&&i,w=typeof h=="object"&&h.indentTags||y&&r;if(u==">"&&s.tagName){if(f=s.tagName,o.end>e.ch&&(f=f.slice(0,f.length-o.end+e.ch)),a=f.toLowerCase(),o.type=="tag"&&s.type=="closeTag"||o.string.indexOf("/")>-1||p&&t(p,a)>-1)return CodeMirror.Pass;c=w&&t(w,a)>-1,v=c?CodeMirror.Pos(e.line+1,0):CodeMirror.Pos(e.line,e.ch+1),n.replaceSelection(">"+(c?"\n\n":"")+"<\/"+f+">",{head:v,anchor:v}),c&&(n.indentLine(e.line+1),n.indentLine(e.line+2));return}if(u=="/"&&o.string=="<"){f=s.context&&s.context.tagName,f&&n.replaceSelection("/"+f+">","end");return}return CodeMirror.Pass}function t(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0,r=n.length;i'"]=function(t){return n(t,">")}),t.addKeyMap(u)}else!i&&r!=CodeMirror.Init&&r&&t.removeKeyMap("autoCloseTags")});var i=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],r=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"]}(),function(){function i(n){var e=n.getCursor(),t=n.getTokenAt(e),i=CodeMirror.innerMode(n.getMode(),t.state).mode,r,o,u,f,s;if(t.type=="comment"&&i.blockCommentStart&&(o=t.string.indexOf(i.blockCommentEnd),u=n.getRange(CodeMirror.Pos(e.line,0),CodeMirror.Pos(e.line,t.end)),o==-1||o!=t.string.length-i.blockCommentEnd.length))if(t.string.indexOf(i.blockCommentStart)==0){if(r=u.slice(0,t.start),!/^\s*$/.test(r))for(r="",s=0;st.start&&/^\s*$/.test(u.slice(0,f))&&(r=u.slice(0,f));if(r!=null)n.replaceSelection("\n"+r+i.blockCommentContinue,"end");else return CodeMirror.Pass}for(var t=["clike","css","javascript"],n=0;n"==o)c.push(s);else{if(c.pop()!=l.charAt(0))return{pos:e,match:!1};if(!c.length)return{pos:e,match:!0}}}var f=t.getCursor(),s=t.getLineHandle(f.line),u=f.ch-1,l=u>=0&&i[s.text.charAt(u)]||i[s.text.charAt(++u)],r,e,v;if(!l)return null;var o=l.charAt(1)==">",h=o?1:-1,y=t.getTokenAt(n(f.line,u+1)).type,c=[s.text.charAt(u)],p=/[(){}[\]]/;for(r=f.line,v=o?Math.min(r+100,t.lineCount()):Math.max(-1,r-100);r!=v;r+=h)if(e=r==f.line?a(s,r,u):a(t.getLineHandle(r),r),e)break;return{from:n(f.line,u),to:e&&n(r,e.pos),match:e&&e.match}}function f(t,i){var f=u(t),e;if(f&&!(t.getLine(f.from.line).length>r)&&(!f.to||!(t.getLine(f.to.line).length>r))){var s=f.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",c=t.markText(f.from,n(f.from.line,f.from.ch+1),{className:s}),h=f.to&&t.markText(f.to,n(f.to.line,f.to.ch+1),{className:s});if(o&&t.state.focused&&t.display.input.focus(),e=function(){t.operation(function(){c.clear(),h&&h.clear()})},i)setTimeout(e,800);else return e}}function e(n){n.operation(function(){t&&(t(),t=null),n.somethingSelected()||(t=f(n,!1))})}var o=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),n=CodeMirror.Pos,r=1e3,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},t=null;CodeMirror.defineOption("matchBrackets",!1,function(n,t){if(t)n.on("cursorActivity",e);else n.off("cursorActivity",e)}),CodeMirror.defineExtension("matchBrackets",function(){f(this,!0)}),CodeMirror.defineExtension("findMatchingBracket",function(){return u(this)})}(),CodeMirror.newFoldFunction=function(n,t){if(t==null&&(t="↔"),typeof t=="string"){var i=document.createTextNode(t);t=document.createElement("span"),t.appendChild(i),t.className="CodeMirror-foldmarker"}return function(i,r){var u,e,o,f,s,h;if(typeof r=="number"&&(r=CodeMirror.Pos(r,0)),u=n(i,r),u){for(e=i.findMarksAt(u.from),o=0,f=0;fs)){v=1,p=n.lineCount();n:for(r=f+1;r=n.lastLine()))return r=0,o=n.getLine(++e),!0}function a(){for(var n,t,i;;){if(n=o.indexOf(">",r),n==-1)if(l())continue;else return;return t=o.lastIndexOf("/",n),i=t>-1&&/^\s*$/.test(o.slice(t+1,n)),r=n+1,i?"selfClose":"regular"}}function v(){for(;;){t.lastIndex=r;var n=t.exec(o);if(!n)if(l())continue;else return;return r=n.index+n[0].length,n}}for(var e=i.line,r=i.ch,o=n.getLine(e),u=[],y,h,c,s;;){if(h=v(),!h||e!=i.line||!(c=a()))return;if(!h[1]&&c!="selfClose"){u.push(h[2]),y=r;break}}for(;;){var f=v(),c,p=e,w=r-(f?f[0].length:0);if(!f||!(c=a()))return;if(c!="selfClose")if(f[1]){for(s=u.length-1;s>=0;--s)if(u[s]==f[2]){u.length=s;break}if(!u.length)return{from:CodeMirror.Pos(i.line,y),to:CodeMirror.Pos(p,w)}}else u.push(f[2])}}}(),function(){CodeMirror.defineExtension("autoFormatAll",function(n,t){function v(){h+="\n",e=!0,++a}for(var r=this,f=r.getMode(),o=r.getRange(n,t).split("\n"),s=CodeMirror.copyState(f,r.getTokenAt(n).state),y=r.getOption("tabSize"),h="",a=0,e=n.ch==0,i,u=0;u",newlineAfterToken:function(t,i,r,u){var f=!1;return this.configuration=="html"&&(f=u.context?n.test(u.context.tagName):!1),!f&&(t=="tag"&&/>$/.test(i)&&u.context||/^-1&&o>-1&&o>e&&(f=f.substr(0,e)+f.substring(e+u.commentStart.length,o)+f.substr(o+u.commentEnd.length)),r.replaceRange(f,t,i)}})}),CodeMirror.defineExtension("autoIndentRange",function(n,t){var i=this;this.operation(function(){for(var r=n.line;r<=t.line;r++)i.indentLine(r,"smart")})}),CodeMirror.defineExtension("autoFormatRange",function(n,t){function v(){h+="\n",e=!0,++a}for(var i=this,f=i.getMode(),o=i.getRange(n,t).split("\n"),s=CodeMirror.copyState(f,i.getTokenAt(n).state),y=i.getOption("tabSize"),h="",a=0,e=n.ch==0,r,u=0;u