]> git.immae.eu Git - perso/Immae/Projets/packagist/ludivine-ckeditor-component.git/commitdiff
Update to 4.7.3 master 4.7.3
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 4 Dec 2017 17:55:29 +0000 (18:55 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 4 Dec 2017 17:55:29 +0000 (18:55 +0100)
451 files changed:
build-config.js
release/CHANGES.md
release/ckeditor.js
release/lang/en.js
release/lang/fr.js
release/plugins/a11yhelp/dialogs/a11yhelp.js
release/plugins/a11yhelp/dialogs/lang/af.js
release/plugins/a11yhelp/dialogs/lang/ar.js
release/plugins/a11yhelp/dialogs/lang/az.js
release/plugins/a11yhelp/dialogs/lang/bg.js
release/plugins/a11yhelp/dialogs/lang/ca.js
release/plugins/a11yhelp/dialogs/lang/cs.js
release/plugins/a11yhelp/dialogs/lang/cy.js
release/plugins/a11yhelp/dialogs/lang/da.js
release/plugins/a11yhelp/dialogs/lang/de-ch.js
release/plugins/a11yhelp/dialogs/lang/de.js
release/plugins/a11yhelp/dialogs/lang/el.js
release/plugins/a11yhelp/dialogs/lang/en-gb.js
release/plugins/a11yhelp/dialogs/lang/en.js
release/plugins/a11yhelp/dialogs/lang/eo.js
release/plugins/a11yhelp/dialogs/lang/es-mx.js [new file with mode: 0644]
release/plugins/a11yhelp/dialogs/lang/es.js
release/plugins/a11yhelp/dialogs/lang/et.js
release/plugins/a11yhelp/dialogs/lang/eu.js
release/plugins/a11yhelp/dialogs/lang/fa.js
release/plugins/a11yhelp/dialogs/lang/fi.js
release/plugins/a11yhelp/dialogs/lang/fo.js
release/plugins/a11yhelp/dialogs/lang/fr-ca.js
release/plugins/a11yhelp/dialogs/lang/fr.js
release/plugins/a11yhelp/dialogs/lang/gl.js
release/plugins/a11yhelp/dialogs/lang/gu.js
release/plugins/a11yhelp/dialogs/lang/he.js
release/plugins/a11yhelp/dialogs/lang/hi.js
release/plugins/a11yhelp/dialogs/lang/hr.js
release/plugins/a11yhelp/dialogs/lang/hu.js
release/plugins/a11yhelp/dialogs/lang/id.js
release/plugins/a11yhelp/dialogs/lang/it.js
release/plugins/a11yhelp/dialogs/lang/ja.js
release/plugins/a11yhelp/dialogs/lang/km.js
release/plugins/a11yhelp/dialogs/lang/ko.js
release/plugins/a11yhelp/dialogs/lang/ku.js
release/plugins/a11yhelp/dialogs/lang/lt.js
release/plugins/a11yhelp/dialogs/lang/lv.js
release/plugins/a11yhelp/dialogs/lang/mk.js
release/plugins/a11yhelp/dialogs/lang/mn.js
release/plugins/a11yhelp/dialogs/lang/nb.js
release/plugins/a11yhelp/dialogs/lang/nl.js
release/plugins/a11yhelp/dialogs/lang/no.js
release/plugins/a11yhelp/dialogs/lang/oc.js
release/plugins/a11yhelp/dialogs/lang/pl.js
release/plugins/a11yhelp/dialogs/lang/pt-br.js
release/plugins/a11yhelp/dialogs/lang/pt.js
release/plugins/a11yhelp/dialogs/lang/ro.js
release/plugins/a11yhelp/dialogs/lang/ru.js
release/plugins/a11yhelp/dialogs/lang/si.js
release/plugins/a11yhelp/dialogs/lang/sk.js
release/plugins/a11yhelp/dialogs/lang/sl.js
release/plugins/a11yhelp/dialogs/lang/sq.js
release/plugins/a11yhelp/dialogs/lang/sr-latn.js
release/plugins/a11yhelp/dialogs/lang/sr.js
release/plugins/a11yhelp/dialogs/lang/sv.js
release/plugins/a11yhelp/dialogs/lang/th.js
release/plugins/a11yhelp/dialogs/lang/tr.js
release/plugins/a11yhelp/dialogs/lang/tt.js
release/plugins/a11yhelp/dialogs/lang/ug.js
release/plugins/a11yhelp/dialogs/lang/uk.js
release/plugins/a11yhelp/dialogs/lang/vi.js
release/plugins/a11yhelp/dialogs/lang/zh-cn.js
release/plugins/a11yhelp/dialogs/lang/zh.js
release/plugins/clipboard/dialogs/paste.js [deleted file]
release/plugins/div/dialogs/div.js
release/plugins/html5audio/dialogs/html5audio.js
release/plugins/html5video/dialogs/html5video.js
release/plugins/link/dialogs/anchor.js
release/plugins/link/dialogs/link.js
release/samples/index.html
release/samples/old/assets/uilanguages/languages.js
release/samples/toolbarconfigurator/index.html
release/skins/moonocolor/editor.css
release/skins/moonocolor/editor_gecko.css
release/skins/moonocolor/editor_ie.css
release/skins/moonocolor/editor_ie7.css
release/skins/moonocolor/editor_ie8.css
release/skins/moonocolor/editor_iequirks.css
release/styles.js
sources/CHANGES.md
sources/config.js
sources/core/_bootstrap.js
sources/core/ckeditor.js
sources/core/command.js
sources/core/creators/themedui.js
sources/core/dom/document.js
sources/core/dom/domobject.js
sources/core/dom/element.js
sources/core/dom/elementpath.js
sources/core/dom/iterator.js
sources/core/dom/node.js
sources/core/dom/nodelist.js
sources/core/dom/range.js
sources/core/dom/rangelist.js
sources/core/dom/text.js
sources/core/dom/walker.js
sources/core/editable.js
sources/core/editor.js
sources/core/env.js
sources/core/filter.js
sources/core/focusmanager.js
sources/core/htmldataprocessor.js
sources/core/htmlparser.js
sources/core/htmlparser/basicwriter.js
sources/core/htmlparser/element.js
sources/core/htmlparser/fragment.js
sources/core/lang.js
sources/core/loader.js
sources/core/scriptloader.js
sources/core/selection.js
sources/core/skin.js
sources/core/style.js
sources/core/template.js
sources/core/tools.js
sources/lang/af.js
sources/lang/cs.js
sources/lang/de.js
sources/lang/el.js
sources/lang/eo.js
sources/lang/es-mx.js [new file with mode: 0644]
sources/lang/fr.js
sources/lang/gl.js
sources/lang/hr.js
sources/lang/hu.js
sources/lang/ja.js
sources/lang/ko.js
sources/lang/ku.js
sources/lang/pt.js
sources/lang/uk.js
sources/plugins/a11yhelp/dialogs/a11yhelp.js
sources/plugins/a11yhelp/dialogs/lang/af.js
sources/plugins/a11yhelp/dialogs/lang/ar.js
sources/plugins/a11yhelp/dialogs/lang/az.js
sources/plugins/a11yhelp/dialogs/lang/bg.js
sources/plugins/a11yhelp/dialogs/lang/ca.js
sources/plugins/a11yhelp/dialogs/lang/cs.js
sources/plugins/a11yhelp/dialogs/lang/cy.js
sources/plugins/a11yhelp/dialogs/lang/da.js
sources/plugins/a11yhelp/dialogs/lang/de-ch.js
sources/plugins/a11yhelp/dialogs/lang/de.js
sources/plugins/a11yhelp/dialogs/lang/el.js
sources/plugins/a11yhelp/dialogs/lang/en-gb.js
sources/plugins/a11yhelp/dialogs/lang/en.js
sources/plugins/a11yhelp/dialogs/lang/eo.js
sources/plugins/a11yhelp/dialogs/lang/es-mx.js [new file with mode: 0644]
sources/plugins/a11yhelp/dialogs/lang/es.js
sources/plugins/a11yhelp/dialogs/lang/et.js
sources/plugins/a11yhelp/dialogs/lang/eu.js
sources/plugins/a11yhelp/dialogs/lang/fa.js
sources/plugins/a11yhelp/dialogs/lang/fi.js
sources/plugins/a11yhelp/dialogs/lang/fo.js
sources/plugins/a11yhelp/dialogs/lang/fr-ca.js
sources/plugins/a11yhelp/dialogs/lang/fr.js
sources/plugins/a11yhelp/dialogs/lang/gl.js
sources/plugins/a11yhelp/dialogs/lang/gu.js
sources/plugins/a11yhelp/dialogs/lang/he.js
sources/plugins/a11yhelp/dialogs/lang/hi.js
sources/plugins/a11yhelp/dialogs/lang/hr.js
sources/plugins/a11yhelp/dialogs/lang/hu.js
sources/plugins/a11yhelp/dialogs/lang/id.js
sources/plugins/a11yhelp/dialogs/lang/it.js
sources/plugins/a11yhelp/dialogs/lang/ja.js
sources/plugins/a11yhelp/dialogs/lang/km.js
sources/plugins/a11yhelp/dialogs/lang/ko.js
sources/plugins/a11yhelp/dialogs/lang/ku.js
sources/plugins/a11yhelp/dialogs/lang/lt.js
sources/plugins/a11yhelp/dialogs/lang/lv.js
sources/plugins/a11yhelp/dialogs/lang/mk.js
sources/plugins/a11yhelp/dialogs/lang/mn.js
sources/plugins/a11yhelp/dialogs/lang/nb.js
sources/plugins/a11yhelp/dialogs/lang/nl.js
sources/plugins/a11yhelp/dialogs/lang/no.js
sources/plugins/a11yhelp/dialogs/lang/oc.js
sources/plugins/a11yhelp/dialogs/lang/pl.js
sources/plugins/a11yhelp/dialogs/lang/pt-br.js
sources/plugins/a11yhelp/dialogs/lang/pt.js
sources/plugins/a11yhelp/dialogs/lang/ro.js
sources/plugins/a11yhelp/dialogs/lang/ru.js
sources/plugins/a11yhelp/dialogs/lang/si.js
sources/plugins/a11yhelp/dialogs/lang/sk.js
sources/plugins/a11yhelp/dialogs/lang/sl.js
sources/plugins/a11yhelp/dialogs/lang/sq.js
sources/plugins/a11yhelp/dialogs/lang/sr-latn.js
sources/plugins/a11yhelp/dialogs/lang/sr.js
sources/plugins/a11yhelp/dialogs/lang/sv.js
sources/plugins/a11yhelp/dialogs/lang/th.js
sources/plugins/a11yhelp/dialogs/lang/tr.js
sources/plugins/a11yhelp/dialogs/lang/tt.js
sources/plugins/a11yhelp/dialogs/lang/ug.js
sources/plugins/a11yhelp/dialogs/lang/uk.js
sources/plugins/a11yhelp/dialogs/lang/vi.js
sources/plugins/a11yhelp/dialogs/lang/zh-cn.js
sources/plugins/a11yhelp/dialogs/lang/zh.js
sources/plugins/a11yhelp/plugin.js
sources/plugins/basicstyles/lang/es-mx.js [new file with mode: 0644]
sources/plugins/basicstyles/lang/hr.js
sources/plugins/basicstyles/plugin.js
sources/plugins/button/lang/es-mx.js [new file with mode: 0644]
sources/plugins/button/lang/hr.js [new file with mode: 0644]
sources/plugins/button/plugin.js
sources/plugins/clipboard/dev/dnd.html
sources/plugins/clipboard/dialogs/paste.js [deleted file]
sources/plugins/clipboard/lang/af.js
sources/plugins/clipboard/lang/ar.js
sources/plugins/clipboard/lang/az.js
sources/plugins/clipboard/lang/bg.js
sources/plugins/clipboard/lang/bn.js
sources/plugins/clipboard/lang/bs.js
sources/plugins/clipboard/lang/ca.js
sources/plugins/clipboard/lang/cs.js
sources/plugins/clipboard/lang/cy.js
sources/plugins/clipboard/lang/da.js
sources/plugins/clipboard/lang/de-ch.js
sources/plugins/clipboard/lang/de.js
sources/plugins/clipboard/lang/el.js
sources/plugins/clipboard/lang/en-au.js
sources/plugins/clipboard/lang/en-ca.js
sources/plugins/clipboard/lang/en-gb.js
sources/plugins/clipboard/lang/en.js
sources/plugins/clipboard/lang/eo.js
sources/plugins/clipboard/lang/es-mx.js [new file with mode: 0644]
sources/plugins/clipboard/lang/es.js
sources/plugins/clipboard/lang/et.js
sources/plugins/clipboard/lang/eu.js
sources/plugins/clipboard/lang/fa.js
sources/plugins/clipboard/lang/fi.js
sources/plugins/clipboard/lang/fo.js
sources/plugins/clipboard/lang/fr-ca.js
sources/plugins/clipboard/lang/fr.js
sources/plugins/clipboard/lang/gl.js
sources/plugins/clipboard/lang/gu.js
sources/plugins/clipboard/lang/he.js
sources/plugins/clipboard/lang/hi.js
sources/plugins/clipboard/lang/hr.js
sources/plugins/clipboard/lang/hu.js
sources/plugins/clipboard/lang/id.js
sources/plugins/clipboard/lang/is.js
sources/plugins/clipboard/lang/it.js
sources/plugins/clipboard/lang/ja.js
sources/plugins/clipboard/lang/ka.js
sources/plugins/clipboard/lang/km.js
sources/plugins/clipboard/lang/ko.js
sources/plugins/clipboard/lang/ku.js
sources/plugins/clipboard/lang/lt.js
sources/plugins/clipboard/lang/lv.js
sources/plugins/clipboard/lang/mk.js
sources/plugins/clipboard/lang/mn.js
sources/plugins/clipboard/lang/ms.js
sources/plugins/clipboard/lang/nb.js
sources/plugins/clipboard/lang/nl.js
sources/plugins/clipboard/lang/no.js
sources/plugins/clipboard/lang/oc.js
sources/plugins/clipboard/lang/pl.js
sources/plugins/clipboard/lang/pt-br.js
sources/plugins/clipboard/lang/pt.js
sources/plugins/clipboard/lang/ro.js
sources/plugins/clipboard/lang/ru.js
sources/plugins/clipboard/lang/si.js
sources/plugins/clipboard/lang/sk.js
sources/plugins/clipboard/lang/sl.js
sources/plugins/clipboard/lang/sq.js
sources/plugins/clipboard/lang/sr-latn.js
sources/plugins/clipboard/lang/sr.js
sources/plugins/clipboard/lang/sv.js
sources/plugins/clipboard/lang/th.js
sources/plugins/clipboard/lang/tr.js
sources/plugins/clipboard/lang/tt.js
sources/plugins/clipboard/lang/ug.js
sources/plugins/clipboard/lang/uk.js
sources/plugins/clipboard/lang/vi.js
sources/plugins/clipboard/lang/zh-cn.js
sources/plugins/clipboard/lang/zh.js
sources/plugins/clipboard/plugin.js
sources/plugins/colorbutton/lang/az.js
sources/plugins/colorbutton/lang/cs.js
sources/plugins/colorbutton/lang/de.js
sources/plugins/colorbutton/lang/el.js
sources/plugins/colorbutton/lang/eo.js
sources/plugins/colorbutton/lang/es-mx.js [new file with mode: 0644]
sources/plugins/colorbutton/lang/fr.js
sources/plugins/colorbutton/lang/gl.js
sources/plugins/colorbutton/lang/hr.js
sources/plugins/colorbutton/lang/hu.js
sources/plugins/colorbutton/lang/ja.js
sources/plugins/colorbutton/lang/ko.js
sources/plugins/colorbutton/lang/ku.js
sources/plugins/colorbutton/lang/nb.js
sources/plugins/colorbutton/lang/pt-br.js
sources/plugins/colorbutton/lang/pt.js
sources/plugins/colorbutton/lang/ru.js
sources/plugins/colorbutton/lang/sk.js
sources/plugins/colorbutton/lang/sv.js
sources/plugins/colorbutton/lang/tr.js
sources/plugins/colorbutton/lang/zh-cn.js
sources/plugins/colorbutton/lang/zh.js
sources/plugins/colorbutton/plugin.js
sources/plugins/colordialog/lang/es-mx.js [new file with mode: 0644]
sources/plugins/colordialog/lang/nb.js
sources/plugins/colordialog/plugin.js
sources/plugins/contextmenu/lang/es-mx.js [new file with mode: 0644]
sources/plugins/contextmenu/plugin.js
sources/plugins/dialog/plugin.js
sources/plugins/dialogui/plugin.js
sources/plugins/div/dialogs/div.js
sources/plugins/div/lang/es-mx.js [new file with mode: 0644]
sources/plugins/div/lang/ja.js
sources/plugins/div/lang/pt.js
sources/plugins/div/plugin.js
sources/plugins/elementspath/lang/es-mx.js [new file with mode: 0644]
sources/plugins/elementspath/lang/hr.js
sources/plugins/elementspath/plugin.js
sources/plugins/enterkey/plugin.js
sources/plugins/fakeobjects/lang/es-mx.js [new file with mode: 0644]
sources/plugins/fakeobjects/plugin.js
sources/plugins/filebrowser/plugin.js
sources/plugins/floatingspace/plugin.js
sources/plugins/floatpanel/plugin.js
sources/plugins/font/lang/es-mx.js [new file with mode: 0644]
sources/plugins/font/lang/hr.js
sources/plugins/font/plugin.js
sources/plugins/format/lang/es-mx.js [new file with mode: 0644]
sources/plugins/format/lang/hr.js
sources/plugins/format/plugin.js
sources/plugins/horizontalrule/lang/es-mx.js [new file with mode: 0644]
sources/plugins/horizontalrule/plugin.js
sources/plugins/html5audio/dialogs/html5audio.js
sources/plugins/html5audio/lang/de.js
sources/plugins/html5audio/lang/el.js [new file with mode: 0644]
sources/plugins/html5audio/lang/en.js
sources/plugins/html5audio/lang/es.js
sources/plugins/html5audio/lang/eu.js
sources/plugins/html5audio/lang/fr.js
sources/plugins/html5audio/lang/ru.js
sources/plugins/html5audio/lang/uk.js
sources/plugins/html5audio/lang/uz.js
sources/plugins/html5audio/lang/zh-cn.js [new file with mode: 0644]
sources/plugins/html5audio/plugin.js
sources/plugins/html5video/dialogs/html5video.js
sources/plugins/html5video/lang/en.js
sources/plugins/html5video/lang/ru.js
sources/plugins/html5video/plugin.js
sources/plugins/htmlwriter/plugin.js
sources/plugins/iframe/dialogs/iframe.js
sources/plugins/iframe/lang/es-mx.js [new file with mode: 0644]
sources/plugins/iframe/lang/hr.js
sources/plugins/iframe/plugin.js
sources/plugins/image/dialogs/image.js
sources/plugins/image/lang/es-mx.js [new file with mode: 0644]
sources/plugins/image/lang/hr.js
sources/plugins/image/lang/pt.js
sources/plugins/image/plugin.js
sources/plugins/indent/lang/es-mx.js [new file with mode: 0644]
sources/plugins/indent/plugin.js
sources/plugins/indentlist/plugin.js
sources/plugins/justify/lang/es-mx.js [new file with mode: 0644]
sources/plugins/justify/plugin.js
sources/plugins/lineutils/plugin.js
sources/plugins/link/dialogs/anchor.js
sources/plugins/link/dialogs/link.js
sources/plugins/link/lang/eo.js
sources/plugins/link/lang/es-mx.js [new file with mode: 0644]
sources/plugins/link/lang/fr.js
sources/plugins/link/lang/gl.js
sources/plugins/link/lang/hr.js
sources/plugins/link/lang/hu.js
sources/plugins/link/lang/ja.js
sources/plugins/link/lang/ko.js
sources/plugins/link/lang/ku.js
sources/plugins/link/lang/ru.js
sources/plugins/link/lang/sk.js
sources/plugins/link/lang/zh.js
sources/plugins/link/plugin.js
sources/plugins/list/lang/es-mx.js [new file with mode: 0644]
sources/plugins/list/plugin.js
sources/plugins/listblock/plugin.js
sources/plugins/liststyle/lang/es-mx.js [new file with mode: 0644]
sources/plugins/liststyle/plugin.js
sources/plugins/magicline/lang/es-mx.js [new file with mode: 0644]
sources/plugins/magicline/lang/pt.js
sources/plugins/magicline/plugin.js
sources/plugins/maximize/lang/es-mx.js [new file with mode: 0644]
sources/plugins/maximize/plugin.js
sources/plugins/menu/plugin.js
sources/plugins/notification/lang/az.js [new file with mode: 0644]
sources/plugins/notification/lang/ca.js [new file with mode: 0644]
sources/plugins/notification/lang/cs.js [new file with mode: 0644]
sources/plugins/notification/lang/da.js [new file with mode: 0644]
sources/plugins/notification/lang/de-ch.js [new file with mode: 0644]
sources/plugins/notification/lang/de.js [new file with mode: 0644]
sources/plugins/notification/lang/en.js [new file with mode: 0644]
sources/plugins/notification/lang/eo.js [new file with mode: 0644]
sources/plugins/notification/lang/es-mx.js [new file with mode: 0644]
sources/plugins/notification/lang/es.js [new file with mode: 0644]
sources/plugins/notification/lang/eu.js [new file with mode: 0644]
sources/plugins/notification/lang/fr.js [new file with mode: 0644]
sources/plugins/notification/lang/gl.js [new file with mode: 0644]
sources/plugins/notification/lang/hr.js [new file with mode: 0644]
sources/plugins/notification/lang/hu.js [new file with mode: 0644]
sources/plugins/notification/lang/id.js [new file with mode: 0644]
sources/plugins/notification/lang/it.js [new file with mode: 0644]
sources/plugins/notification/lang/ja.js [new file with mode: 0644]
sources/plugins/notification/lang/km.js [new file with mode: 0644]
sources/plugins/notification/lang/ko.js [new file with mode: 0644]
sources/plugins/notification/lang/ku.js [new file with mode: 0644]
sources/plugins/notification/lang/nb.js [new file with mode: 0644]
sources/plugins/notification/lang/nl.js [new file with mode: 0644]
sources/plugins/notification/lang/oc.js [new file with mode: 0644]
sources/plugins/notification/lang/pl.js [new file with mode: 0644]
sources/plugins/notification/lang/pt-br.js [new file with mode: 0644]
sources/plugins/notification/lang/pt.js [new file with mode: 0644]
sources/plugins/notification/lang/ru.js [new file with mode: 0644]
sources/plugins/notification/lang/sk.js [new file with mode: 0644]
sources/plugins/notification/lang/sv.js [new file with mode: 0644]
sources/plugins/notification/lang/tr.js [new file with mode: 0644]
sources/plugins/notification/lang/ug.js [new file with mode: 0644]
sources/plugins/notification/lang/uk.js [new file with mode: 0644]
sources/plugins/notification/lang/zh-cn.js [new file with mode: 0644]
sources/plugins/notification/lang/zh.js [new file with mode: 0644]
sources/plugins/notification/plugin.js [new file with mode: 0644]
sources/plugins/panel/plugin.js
sources/plugins/popup/plugin.js
sources/plugins/removeformat/lang/es-mx.js [new file with mode: 0644]
sources/plugins/removeformat/plugin.js
sources/plugins/resize/plugin.js
sources/plugins/richcombo/plugin.js
sources/plugins/sourcearea/lang/es-mx.js [new file with mode: 0644]
sources/plugins/sourcearea/plugin.js
sources/plugins/toolbar/lang/es-mx.js [new file with mode: 0644]
sources/plugins/toolbar/plugin.js
sources/plugins/widget/dev/assets/simplebox/plugin.js
sources/plugins/widget/lang/eo.js
sources/plugins/widget/lang/es-mx.js [new file with mode: 0644]
sources/plugins/widget/lang/gl.js
sources/plugins/widget/lang/hr.js
sources/plugins/widget/lang/hu.js
sources/plugins/widget/lang/ko.js
sources/plugins/widget/lang/sk.js
sources/plugins/widget/plugin.js
sources/plugins/widgetselection/plugin.js
sources/plugins/wysiwygarea/plugin.js
sources/samples/index.html
sources/samples/old/assets/uilanguages/languages.js
sources/samples/toolbarconfigurator/index.html
sources/samples/toolbarconfigurator/lib/codemirror/codemirror.js
sources/styles.js

index f17ea49079e7baa6331a0b0742a9ddcf9dccd950..b26107b01614c438f8f288d7ce29638dcc172788 100644 (file)
@@ -1,54 +1,55 @@
-/**\r
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
- * For licensing, see LICENSE.md or http://ckeditor.com/license\r
- */\r
-\r
-/**\r
- * This file was added automatically by CKEditor builder.\r
- * You may re-use it at any time to build CKEditor again.\r
- *\r
- * If you would like to build CKEditor online again\r
- * (for example to upgrade), visit one the following links:\r
- *\r
- * (1) http://ckeditor.com/builder\r
- *     Visit online builder to build CKEditor from scratch.\r
- *\r
- * (2) http://ckeditor.com/builder/b49fe8199b5f563a76c58f2a8f351380\r
- *     Visit online builder to build CKEditor, starting with the same setup as before.\r
- *\r
- * (3) http://ckeditor.com/builder/download/b49fe8199b5f563a76c58f2a8f351380\r
- *     Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.\r
- *\r
- * NOTE:\r
- *    This file is not used by CKEditor, you may remove it.\r
- *    Changing this file will not change your CKEditor configuration.\r
- */\r
-\r
-var CKBUILDER_CONFIG = {\r
-       skin: 'moonocolor',\r
-       preset: 'full',\r
-       ignore: [\r
-               '.bender',\r
-               'bender.js',\r
-               'bender-err.log',\r
-               'bender-out.log',\r
-               'dev',\r
-               '.DS_Store',\r
-               '.editorconfig',\r
-               '.gitattributes',\r
-               '.gitignore',\r
-               'gruntfile.js',\r
-               '.idea',\r
-               '.jscsrc',\r
-               '.jshintignore',\r
-               '.jshintrc',\r
-               'less',\r
-               '.mailmap',\r
-               'node_modules',\r
-               'package.json',\r
-               'README.md',\r
-               'tests'\r
-       ],\r
+/**
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+/**
+ * This file was added automatically by CKEditor builder.
+ * You may re-use it at any time to build CKEditor again.
+ *
+ * If you would like to build CKEditor online again
+ * (for example to upgrade), visit one the following links:
+ *
+ * (1) http://ckeditor.com/builder
+ *     Visit online builder to build CKEditor from scratch.
+ *
+ * (2) http://ckeditor.com/builder/ab6fd4399c66ab6bfeb9644420a9651f
+ *     Visit online builder to build CKEditor, starting with the same setup as before.
+ *
+ * (3) http://ckeditor.com/builder/download/ab6fd4399c66ab6bfeb9644420a9651f
+ *     Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
+ *
+ * NOTE:
+ *    This file is not used by CKEditor, you may remove it.
+ *    Changing this file will not change your CKEditor configuration.
+ */
+
+var CKBUILDER_CONFIG = {
+       skin: 'moonocolor',
+       preset: 'full',
+       ignore: [
+               '.DS_Store',
+               '.bender',
+               '.editorconfig',
+               '.gitattributes',
+               '.gitignore',
+               '.idea',
+               '.jscsrc',
+               '.jshintignore',
+               '.jshintrc',
+               '.mailmap',
+               '.travis.yml',
+               'bender-err.log',
+               'bender-out.log',
+               'bender.ci.js',
+               'bender.js',
+               'dev',
+               'gruntfile.js',
+               'less',
+               'node_modules',
+               'package.json',
+               'tests'
+       ],
        plugins : {
                'a11yhelp' : 1,
                'basicstyles' : 1,
index ff58654f6a188db2c2cccc3e20da1460c8f8f778..08036149fe7b182e000bb45f17f4d9f44cf41fa0 100644 (file)
@@ -1,6 +1,145 @@
 CKEditor 4 Changelog\r
 ====================\r
 \r
+## CKEditor 4.7.3\r
+\r
+New Features:\r
+\r
+* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-disallowedContent) property.\r
+\r
+Fixed Issues:\r
+\r
+* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)!\r
+* [#566](https://github.com/ckeditor/ckeditor-dev/issues/566): Fixed: The CSS `border` shorthand property with zero width (`border: 0px solid #000;`) causes the table to have the border attribute set to 1.\r
+* [#779](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/addon/language) plugin.\r
+* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is set to `CKEDITOR.ENTER_BR`.\r
+* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/addon/image2) plugin can be resized when the editor is in [read-only mode](https://docs.ckeditor.com/#!/guide/dev_readonly).\r
+* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/addon/tabletools) plugin throws an error when trying to delete columns.\r
+* [#867](https://github.com/ckeditor/ckeditor-dev/issues/867): Fixed: Typing into a selected table throws an error.\r
+* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/addon/sourcearea).\r
+\r
+Other Changes:\r
+\r
+* Updated the [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin:\r
+       * [#40](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/40): Fixed: IE10 throws an error when spell checking is started.\r
+* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-isCollapsed) method which is a simpler way to check if the selection is collapsed.\r
+* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://docs.ckeditor.com/#!/api/CKEDITOR.dialogCommand).\r
+\r
+## CKEditor 4.7.2\r
+\r
+New Features:\r
+\r
+* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with the [Justify](http://ckeditor.com/addon/justify) plugin.\r
+\r
+Fixed Issues:\r
+\r
+* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error.\r
+* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](http://ckeditor.com/addon/tableselection) plugin:\r
+  * [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell.\r
+  * [#460](https://github.com/ckeditor/ckeditor-dev/issues/460): Fixed: Editor gone after pasting into an editor within a table.\r
+* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](http://ckeditor.com/addon/table) dialog.\r
+* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/addon/selectall) button in [Source Mode](http://ckeditor.com/addon/sourcearea).\r
+* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)!\r
+* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the [Notification](http://ckeditor.com/addon/notification) plugin.\r
+* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without any selection.\r
+* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](http://ckeditor.com/addon/link) plugin.\r
+* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error.\r
+* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error.\r
+* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element.\r
+* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected.\r
+* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`.\r
+\r
+Other Changes:\r
+\r
+* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) plugin:\r
+       * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it.\r
+* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList).\r
+\r
+## CKEditor 4.7.1\r
+\r
+New Features:\r
+\r
+* Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)!\r
+* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) instructions.\r
+\r
+Fixed Issues:\r
+\r
+* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](http://ckeditor.com/addon/tableselection) plugin is loaded.\r
+* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down.\r
+* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: <kbd>Enter</kbd> key breaks the table structure when pressed in a table selection.\r
+* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection.\r
+* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed:  Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin when pressing <kbd>Enter</kbd> with no selection.\r
+* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent List](http://ckeditor.com/addon/indentlist) plugins when pressing <kbd>Tab</kbd> with no selection in inline editor.\r
+* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed selection cannot be edited.\r
+* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error when used with a table with only header or footer rows.\r
+* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke.\r
+* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in Quirks Mode.\r
+* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property.\r
+\r
+## CKEditor 4.7\r
+\r
+**Important Notes:**\r
+\r
+* [#13793](http://dev.ckeditor.com/ticket/13793): The [`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is no longer preset by default.\r
+* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used).\r
+\r
+New Features:\r
+\r
+* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table Selection](http://ckeditor.com/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column).\r
+* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel.\r
+* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)!\r
+* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](http://ckeditor.com/addon/tabletools) plugin.\r
+* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.\r
+* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.\r
+* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](http://ckeditor.com/addon/contextmenu).\r
+* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument.\r
+* [#17010](http://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus `<br>` elements.\r
+\r
+Fixed Issues:\r
+\r
+* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error.\r
+* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor.\r
+* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: <kbd>Ctrl+Shift+V</kbd> blocked by [Copy Formatting](http://ckeditor.com/addon/copyformatting).\r
+* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled.\r
+* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin.\r
+* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor.\r
+* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work.\r
+* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor.\r
+* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `<span>` elements with `height` style stacked when [pasting from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into lists with some corrupted data.\r
+* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](http://ckeditor.com/addon/pastefromword).\r
+* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click.\r
+* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link.\r
+* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `<div>` elements with a `<div>`.\r
+* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.\r
+* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.\r
+* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](http://ckeditor.com/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles.\r
+* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](http://ckeditor.com/addon/tableresize) on table header and footer.\r
+* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](http://ckeditor.com/addon/tableresize) plugin is active.\r
+* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop widgets into the editor.\r
+* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened.\r
+* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) plugin.\r
+* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar.\r
+* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited.\r
+* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)!\r
+* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct dependency.\r
+* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)!\r
+* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object.\r
+* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `<iframe>` element in a CKEditor setup with ACF turned off and without the [Iframe Dialog](http://ckeditor.com/addon/iframe) plugin. The issue was originally reported as a security issue by [Sriramk21](https://twitter.com/sriramk21) from Pegasystems and was later downgraded by the security team into a normal issue due to the requirement of having ACF turned off. Disabling [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) is against [security best practices](http://docs.ckeditor.com/#!/guide/dev_best_practices-section-security), so the problem described above has not been considered a security issue as such.\r
+\r
+Other Changes:\r
+\r
+* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](http://ckeditor.com/addon/wsc) plugins:\r
+       * Fixed: DOM Exception after clicking "Remove Language" on a selected word with enabled [Language](http://ckeditor.com/addon/language) plugin in SCAYT.\r
+* [#16958](http://dev.ckeditor.com/ticket/16958): Switched the default MathJax CDN provider for the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin from `cdn.mathjax.org` to [cdnjs](https://cdnjs.com/), due to closing of `cdn.mathjax.org` scheduled for April 30, 2017.\r
+* [#16954](http://dev.ckeditor.com/ticket/16954): Removed the paste dialog.\r
+* [#16982](http://dev.ckeditor.com/ticket/16982): Latest Safari now supports enhanced Clipboard API introduced in CKEditor 4.5.0.\r
+* [#17025](http://dev.ckeditor.com/ticket/17025): Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.4.2.\r
+\r
 ## CKEditor 4.6.2\r
 \r
 New Features:\r
@@ -428,7 +567,7 @@ New Features:
 * Notification system:\r
   * [#11580](http://dev.ckeditor.com/ticket/11580): Introduced the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification).\r
   * [#12810](http://dev.ckeditor.com/ticket/12810): Introduced a [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) for the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification) which simplifies displaying progress of many concurrent tasks.\r
-* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.deleteSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml).\r
+* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.extractSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-extractSelectedHtml).\r
 * [#12416](http://dev.ckeditor.com/ticket/12416): Added the [`widget.definition.upcastPriority`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority) property which gives more control over widget upcasting order to the widget author.\r
 * [#12036](http://dev.ckeditor.com/ticket/12036): Initialize the editor in [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) mode when the `<textarea>` element has a `readonly` attribute.\r
 * [#11905](http://dev.ckeditor.com/ticket/11905): The [`resize` event](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-resize) passes the current dimensions in its data.\r
index e572854a9b8ce31d0811f80641a27790f6a98161..f22643e7a39ed62e0cf6973364ceecac70ee68f9 100644 (file)
@@ -2,14 +2,14 @@
 Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,d={timestamp:"H0CG",version:"4.6.2",revision:"20af917",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var h=c[d].src.match(a);if(h){b=h[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,d={timestamp:"H8DA",version:"4.7.3",revision:"dee99e2",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var k=c[d].src.match(a);if(k){b=k[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+
 b:location.href.match(/^[^\?]*\/(?:)/)[0]+b);if(!b)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return b}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&"/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a)&&(a+=(0<=a.indexOf("?")?"\x26":"?")+"t\x3d"+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",
-a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function d(){try{document.documentElement.doScroll("left")}catch(f){setTimeout(d,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",
-a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(r){}document.documentElement.doScroll&&b&&d()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}());
+a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function n(){try{document.documentElement.doScroll("left")}catch(f){setTimeout(n,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",
+a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(q){}document.documentElement.doScroll&&b&&n()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}());
 CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var d=CKEDITOR.event.prototype,b;for(b in d)null==a[b]&&(a[b]=d[b])},CKEDITOR.event.prototype=function(){function a(a){var e=d(this);return e[a]||(e[a]=new b(a))}var d=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var b=0,d=this.listeners;b<d.length;b++)if(d[b].fn==a)return b;return-1}};
-return{define:function(b,d){var g=a.call(this,b);CKEDITOR.tools.extend(g,d,!0)},on:function(b,d,g,k,h){function p(a,f,B,h){a={name:b,sender:this,editor:a,data:f,listenerData:k,stop:B,cancel:h,removeListener:r};return!1===d.call(g,a)?!1:a.data}function r(){B.removeListener(b,d)}var f=a.call(this,b);if(0>f.getListenerIndex(d)){f=f.listeners;g||(g=this);isNaN(h)&&(h=10);var B=this;p.fn=d;p.priority=h;for(var u=f.length-1;0<=u;u--)if(f[u].priority<=h)return f.splice(u+1,0,p),{removeListener:r};f.unshift(p)}return{removeListener:r}},
-once:function(){var a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},g=0,k=function(){g=1};return function(h,p,r){var f=d(this)[h];h=a;var B=g;a=g=0;if(f){var u=f.listeners;if(u.length)for(var u=u.slice(0),z,y=0;y<u.length;y++){if(f.errorProof)try{z=
-u[y].call(this,r,p,b,k)}catch(m){}else z=u[y].call(this,r,p,b,k);!1===z?g=1:"undefined"!=typeof z&&(p=z);if(a||g)break}}p=g?!1:"undefined"==typeof p?!0:p;a=h;g=B;return p}}(),fireOnce:function(a,b,g){b=this.fire(a,b,g);delete d(this)[a];return b},removeListener:function(a,b){var g=d(this)[a];if(g){var k=g.getListenerIndex(b);0<=k&&g.listeners.splice(k,1)}},removeAllListeners:function(){var a=d(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=d(this)[a])&&0<a.listeners.length}}}());
+return{define:function(b,d){var g=a.call(this,b);CKEDITOR.tools.extend(g,d,!0)},on:function(b,d,g,h,k){function n(a,f,D,k){a={name:b,sender:this,editor:a,data:f,listenerData:h,stop:D,cancel:k,removeListener:q};return!1===d.call(g,a)?!1:a.data}function q(){D.removeListener(b,d)}var f=a.call(this,b);if(0>f.getListenerIndex(d)){f=f.listeners;g||(g=this);isNaN(k)&&(k=10);var D=this;n.fn=d;n.priority=k;for(var w=f.length-1;0<=w;w--)if(f[w].priority<=k)return f.splice(w+1,0,n),{removeListener:q};f.unshift(n)}return{removeListener:q}},
+once:function(){var a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},g=0,h=function(){g=1};return function(k,n,q){var f=d(this)[k];k=a;var D=g;a=g=0;if(f){var w=f.listeners;if(w.length)for(var w=w.slice(0),A,G=0;G<w.length;G++){if(f.errorProof)try{A=
+w[G].call(this,q,n,b,h)}catch(x){}else A=w[G].call(this,q,n,b,h);!1===A?g=1:"undefined"!=typeof A&&(n=A);if(a||g)break}}n=g?!1:"undefined"==typeof n?!0:n;a=k;g=D;return n}}(),fireOnce:function(a,b,g){b=this.fire(a,b,g);delete d(this)[a];return b},removeListener:function(a,b){var g=d(this)[a];if(g){var h=g.getListenerIndex(b);0<=h&&g.listeners.splice(h,1)}},removeAllListeners:function(){var a=d(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=d(this)[a])&&0<a.listeners.length}}}());
 CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=!0);return CKEDITOR.event.prototype.fire.call(this,a,d,this)},CKEDITOR.editor.prototype.fireOnce=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=!0);return CKEDITOR.event.prototype.fireOnce.call(this,a,d,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype));
 CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),d=a.match(/edge[ \/](\d+.?\d*)/),b=-1<a.indexOf("trident/"),b=!(!d&&!b),b={ie:b,edge:!!d,webkit:!b&&-1<a.indexOf(" applewebkit/"),air:-1<a.indexOf(" adobeair/"),mac:-1<a.indexOf("macintosh"),quirks:"BackCompat"==document.compatMode&&(!document.documentMode||10>document.documentMode),mobile:-1<a.indexOf("mobile"),iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return!1;var a=document.domain,b=window.location.hostname;
 return a!=b&&a!="["+b+"]"},secure:"https:"==location.protocol};b.gecko="Gecko"==navigator.product&&!b.webkit&&!b.ie;b.webkit&&(-1<a.indexOf("chrome")?b.chrome=!0:b.safari=!0);var c=0;b.ie&&(c=d?parseFloat(d[1]):b.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode,b.ie9Compat=9==c,b.ie8Compat=8==c,b.ie7Compat=7==c,b.ie6Compat=7>c||b.quirks);b.gecko&&(d=a.match(/rv:([\d\.]+)/))&&(d=d[1].split("."),c=1E4*d[0]+100*(d[1]||0)+1*(d[2]||0));b.air&&(c=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));
@@ -19,39 +19,41 @@ b.iOS&&(b.cssClass+=" cke_browser_ios");b.hidpi&&(b.cssClass+=" cke_hidpi");retu
 CKEDITOR.loadFullCore,d=CKEDITOR.loadFullCoreTimeout;a&&(CKEDITOR.status="basic_ready",a&&a._load?a():d&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*d))})})();CKEDITOR.status="basic_loaded"}();"use strict";CKEDITOR.VERBOSITY_WARN=1;CKEDITOR.VERBOSITY_ERROR=2;CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR;CKEDITOR.warn=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:a,additionalData:d})};
 CKEDITOR.error=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log",{type:"error",errorCode:a,additionalData:d})};
 CKEDITOR.on("log",function(a){if(window.console&&window.console.log){var d=console[a.data.type]?a.data.type:"log",b=a.data.errorCode;if(a=a.data.additionalData)console[d]("[CKEDITOR] Error code: "+b+".",a);else console[d]("[CKEDITOR] Error code: "+b+".");console[d]("[CKEDITOR] For more information about this error go to http://docs.ckeditor.com/#!/guide/dev_errors-section-"+b)}},null,null,999);CKEDITOR.dom={};
-(function(){var a=[],d=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,e=/</g,g=/"/g,k=/&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,h={lt:"\x3c",gt:"\x3e",amp:"\x26",quot:'"',nbsp:" ",shy:"­"},p=function(a,f){return"#"==f[0]?String.fromCharCode(parseInt(f.slice(1),10)):h[f]};CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,f){if(!a&&!f)return!0;if(!a||!f||a.length!=f.length)return!1;for(var b=0;b<a.length;b++)if(a[b]!=f[b])return!1;
+(function(){var a=[],d=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,e=/</g,g=/"/g,h=/&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,k={lt:"\x3c",gt:"\x3e",amp:"\x26",quot:'"',nbsp:" ",shy:"­"},n=function(a,f){return"#"==f[0]?String.fromCharCode(parseInt(f.slice(1),10)):k[f]};CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,f){if(!a&&!f)return!0;if(!a||!f||a.length!=f.length)return!1;for(var b=0;b<a.length;b++)if(a[b]!=f[b])return!1;
 return!0},getIndex:function(a,f){for(var b=0;b<a.length;++b)if(f(a[b]))return b;return-1},clone:function(a){var f;if(a&&a instanceof Array){f=[];for(var b=0;b<a.length;b++)f[b]=CKEDITOR.tools.clone(a[b]);return f}if(null===a||"object"!=typeof a||a instanceof String||a instanceof Number||a instanceof Boolean||a instanceof Date||a instanceof RegExp||a.nodeType||a.window===a)return a;f=new a.constructor;for(b in a)f[b]=CKEDITOR.tools.clone(a[b]);return f},capitalize:function(a,f){return a.charAt(0).toUpperCase()+
-(f?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var f=arguments.length,b,c;"boolean"==typeof(b=arguments[f-1])?f--:"boolean"==typeof(b=arguments[f-2])&&(c=arguments[f-1],f-=2);for(var h=1;h<f;h++){var d=arguments[h],m;for(m in d)if(!0===b||null==a[m])if(!c||m in c)a[m]=d[m]}return a},prototypedCopy:function(a){var f=function(){};f.prototype=a;return new f},copy:function(a){var f={},b;for(b in a)f[b]=a[b];return f},isArray:function(a){return"[object Array]"==Object.prototype.toString.call(a)},
+(f?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var f=arguments.length,b,c;"boolean"==typeof(b=arguments[f-1])?f--:"boolean"==typeof(b=arguments[f-2])&&(c=arguments[f-1],f-=2);for(var k=1;k<f;k++){var d=arguments[k],n;for(n in d)if(!0===b||null==a[n])if(!c||n in c)a[n]=d[n]}return a},prototypedCopy:function(a){var f=function(){};f.prototype=a;return new f},copy:function(a){var f={},b;for(b in a)f[b]=a[b];return f},isArray:function(a){return"[object Array]"==Object.prototype.toString.call(a)},
 isEmpty:function(a){for(var f in a)if(a.hasOwnProperty(f))return!1;return!0},cssVendorPrefix:function(a,f,b){if(b)return d+a+":"+f+";"+a+":"+f;b={};b[a]=f;b[d+a]=f;return b},cssStyleToDomStyle:function(){var a=document.createElement("div").style,f="undefined"!=typeof a.cssFloat?"cssFloat":"undefined"!=typeof a.styleFloat?"styleFloat":"float";return function(a){return"float"==a?f:a.replace(/-./g,function(a){return a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){a=[].concat(a);for(var f,
-b=[],c=0;c<a.length;c++)if(f=a[c])/@import|[{}]/.test(f)?b.push("\x3cstyle\x3e"+f+"\x3c/style\x3e"):b.push('\x3clink type\x3d"text/css" rel\x3dstylesheet href\x3d"'+f+'"\x3e');return b.join("")},htmlEncode:function(a){return void 0===a||null===a?"":String(a).replace(b,"\x26amp;").replace(c,"\x26gt;").replace(e,"\x26lt;")},htmlDecode:function(a){return a.replace(k,p)},htmlEncodeAttr:function(a){return CKEDITOR.tools.htmlEncode(a).replace(g,"\x26quot;")},htmlDecodeAttr:function(a){return CKEDITOR.tools.htmlDecode(a)},
-transformPlainTextToHtml:function(a,f){var b=f==CKEDITOR.ENTER_BR,c=this.htmlEncode(a.replace(/\r\n/g,"\n")),c=c.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;"),h=f==CKEDITOR.ENTER_P?"p":"div";if(!b){var d=/\n{2}/g;if(d.test(c))var m="\x3c"+h+"\x3e",p="\x3c/"+h+"\x3e",c=m+c.replace(d,function(){return p+m})+p}c=c.replace(/\n/g,"\x3cbr\x3e");b||(c=c.replace(new RegExp("\x3cbr\x3e(?\x3d\x3c/"+h+"\x3e)"),function(a){return CKEDITOR.tools.repeat(a,2)}));c=c.replace(/^ | $/g,"\x26nbsp;");return c=c.replace(/(>|\s) /g,
-function(a,f){return f+"\x26nbsp;"}).replace(/ (?=<)/g,"\x26nbsp;")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var a="e",f=0;8>f;f++)a+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return a},override:function(a,f){var b=f(a);b.prototype=a.prototype;return b},setTimeout:function(a,f,b,c,h){h||(h=window);b||(b=h);return h.setTimeout(function(){c?a.apply(b,[].concat(c)):a.apply(b)},
+b=[],c=0;c<a.length;c++)if(f=a[c])/@import|[{}]/.test(f)?b.push("\x3cstyle\x3e"+f+"\x3c/style\x3e"):b.push('\x3clink type\x3d"text/css" rel\x3dstylesheet href\x3d"'+f+'"\x3e');return b.join("")},htmlEncode:function(a){return void 0===a||null===a?"":String(a).replace(b,"\x26amp;").replace(c,"\x26gt;").replace(e,"\x26lt;")},htmlDecode:function(a){return a.replace(h,n)},htmlEncodeAttr:function(a){return CKEDITOR.tools.htmlEncode(a).replace(g,"\x26quot;")},htmlDecodeAttr:function(a){return CKEDITOR.tools.htmlDecode(a)},
+transformPlainTextToHtml:function(a,f){var b=f==CKEDITOR.ENTER_BR,c=this.htmlEncode(a.replace(/\r\n/g,"\n")),c=c.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;"),k=f==CKEDITOR.ENTER_P?"p":"div";if(!b){var d=/\n{2}/g;if(d.test(c))var n="\x3c"+k+"\x3e",m="\x3c/"+k+"\x3e",c=n+c.replace(d,function(){return m+n})+m}c=c.replace(/\n/g,"\x3cbr\x3e");b||(c=c.replace(new RegExp("\x3cbr\x3e(?\x3d\x3c/"+k+"\x3e)"),function(a){return CKEDITOR.tools.repeat(a,2)}));c=c.replace(/^ | $/g,"\x26nbsp;");return c=c.replace(/(>|\s) /g,
+function(a,f){return f+"\x26nbsp;"}).replace(/ (?=<)/g,"\x26nbsp;")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var a="e",f=0;8>f;f++)a+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return a},override:function(a,f){var b=f(a);b.prototype=a.prototype;return b},setTimeout:function(a,f,b,c,k){k||(k=window);b||(b=k);return k.setTimeout(function(){c?a.apply(b,[].concat(c)):a.apply(b)},
 f||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(f){return f.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(f){return f.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(f){return f.replace(a,"")}}(),indexOf:function(a,f){if("function"==typeof f)for(var b=0,c=a.length;b<c;b++){if(f(a[b]))return b}else{if(a.indexOf)return a.indexOf(f);b=0;for(c=a.length;b<c;b++)if(a[b]===f)return b}return-1},search:function(a,f){var b=CKEDITOR.tools.indexOf(a,
-f);return 0<=b?a[b]:null},bind:function(a,f){return function(){return a.apply(f,arguments)}},createClass:function(a){var f=a.$,b=a.base,c=a.privates||a._,h=a.proto;a=a.statics;!f&&(f=function(){b&&this.base.apply(this,arguments)});if(c)var d=f,f=function(){var a=this._||(this._={}),f;for(f in c){var b=c[f];a[f]="function"==typeof b?CKEDITOR.tools.bind(b,this):b}d.apply(this,arguments)};b&&(f.prototype=this.prototypedCopy(b.prototype),f.prototype.constructor=f,f.base=b,f.baseProto=b.prototype,f.prototype.base=
-function(){this.base=b.prototype.base;b.apply(this,arguments);this.base=arguments.callee});h&&this.extend(f.prototype,h,!0);a&&this.extend(f,a,!0);return f},addFunction:function(b,f){return a.push(function(){return b.apply(f||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var f=a[b];return f&&f.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\d+\.?\d*px$/,f;return function(b){f=CKEDITOR.tools.trim(b+"")+"px";return a.test(f)?
-f:b||""}}(),convertToPx:function(){var a;return function(f){a||(a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"\x3e\x3c/div\x3e',CKEDITOR.document),CKEDITOR.document.getBody().append(a));return/%$/.test(f)?f:(a.setStyle("width",f),a.$.clientWidth)}}(),repeat:function(a,f){return Array(f+1).join(a)},tryThese:function(){for(var a,f=0,b=arguments.length;f<b;f++){var c=arguments[f];try{a=c();break}catch(h){}}return a},
-genKey:function(){return Array.prototype.slice.call(arguments).join("-")},defer:function(a){return function(){var f=arguments,b=this;window.setTimeout(function(){a.apply(b,f)},0)}},normalizeCssText:function(a,f){var b=[],c,h=CKEDITOR.tools.parseCssText(a,!0,f);for(c in h)b.push(c+":"+h[c]);b.sort();return b.length?b.join(";")+";":""},convertRgbToHex:function(a){return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,h){a=[b,c,h];for(b=0;3>b;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2);
-return"#"+a.join("")})},normalizeHex:function(a){return a.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(a,b,c,h){a=b.toLowerCase();3==a.length&&(a=a.split(""),a=[a[0],a[0],a[1],a[1],a[2],a[2]].join(""));return"#"+a+h})},parseCssText:function(a,f,b){var c={};b&&(a=(new CKEDITOR.dom.element("span")).setAttribute("style",a).getAttribute("style")||"");a&&(a=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(a)));if(!a||";"==a)return c;a.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,
-function(a,b,h){f&&(b=b.toLowerCase(),"font-family"==b&&(h=h.replace(/\s*,\s*/g,",")),h=CKEDITOR.tools.trim(h));c[b]=h});return c},writeCssText:function(a,b){var c,h=[];for(c in a)h.push(c+":"+a[c]);b&&h.sort();return h.join("; ")},objectCompare:function(a,b,c){var h;if(!a&&!b)return!0;if(!a||!b)return!1;for(h in a)if(a[h]!=b[h])return!1;if(!c)for(h in b)if(a[h]!=b[h])return!1;return!0},objectKeys:function(a){var b=[],c;for(c in a)b.push(c);return b},convertArrayToObject:function(a,b){var c={};1==
-arguments.length&&(b=!0);for(var h=0,d=a.length;h<d;++h)c[a[h]]=b;return c},fixDomain:function(){for(var a;;)try{a=window.parent.document.domain;break}catch(b){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,b,c){function h(){p=(new Date).getTime();d=!1;c?b.call(c):b()}var d,p=0;return{input:function(){if(!d){var b=(new Date).getTime()-p;b<a?d=setTimeout(h,a-b):h()}},reset:function(){d&&clearTimeout(d);d=p=0}}},enableHtml5Elements:function(a,
-b){for(var c="abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video".split(" "),h=c.length,d;h--;)d=a.createElement(c[h]),b&&a.appendChild(d)},checkIfAnyArrayItemMatches:function(a,b){for(var c=0,h=a.length;c<h;++c)if(a[c].match(b))return!0;return!1},checkIfAnyObjectPropertyMatches:function(a,b){for(var c in a)if(c.match(b))return!0;return!1},keystrokeToString:function(a,b){var c=b&16711680,h=
-b&65535,d=CKEDITOR.env.mac,p=[],m=[];c&CKEDITOR.CTRL&&(p.push(d?"⌘":a[17]),m.push(d?a[224]:a[17]));c&CKEDITOR.ALT&&(p.push(d?"⌥":a[18]),m.push(a[18]));c&CKEDITOR.SHIFT&&(p.push(d?"⇧":a[16]),m.push(a[16]));h&&(a[h]?(p.push(a[h]),m.push(a[h])):(p.push(String.fromCharCode(h)),m.push(String.fromCharCode(h))));return{display:p.join("+"),aria:m.join("+")}},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw\x3d\x3d",getCookie:function(a){a=a.toLowerCase();
-for(var b=document.cookie.split(";"),c,h,d=0;d<b.length;d++)if(c=b[d].split("\x3d"),h=decodeURIComponent(CKEDITOR.tools.trim(c[0]).toLowerCase()),h===a)return decodeURIComponent(1<c.length?c[1]:"");return null},setCookie:function(a,b){document.cookie=encodeURIComponent(a)+"\x3d"+encodeURIComponent(b)+";path\x3d/"},getCsrfToken:function(){var a=CKEDITOR.tools.getCookie("ckCsrfToken");if(!a||40!=a.length){var a=[],b="";if(window.crypto&&window.crypto.getRandomValues)a=new Uint8Array(40),window.crypto.getRandomValues(a);
-else for(var c=0;40>c;c++)a.push(Math.floor(256*Math.random()));for(c=0;c<a.length;c++)var h="abcdefghijklmnopqrstuvwxyz0123456789".charAt(a[c]%36),b=b+(.5<Math.random()?h.toUpperCase():h);a=b;CKEDITOR.tools.setCookie("ckCsrfToken",a)}return a},escapeCss:function(a){return a?window.CSS&&CSS.escape?CSS.escape(a):isNaN(parseInt(a.charAt(0),10))?a:"\\3"+a.charAt(0)+" "+a.substring(1,a.length):""},style:{parse:{_colors:{aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",
-beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",
-darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",
-grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",
-lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",
-orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",
-slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(a){var b=[],c=[],c=this._findColor(a);
-c.length&&(b.color=c[0],CKEDITOR.tools.array.forEach(c,function(b){a=a.replace(b,"")}));if(a=CKEDITOR.tools.trim(a))b.unprocessed=a;return b},margin:function(a){function b(a){c.top=h[a[0]];c.right=h[a[1]];c.bottom=h[a[2]];c.left=h[a[3]]}var c={},h=a.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g)||["0px"];switch(h.length){case 1:b([0,0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}return c},_findColor:function(a){var b=[],c=CKEDITOR.tools.array,b=
-b.concat(a.match(this._rgbaRegExp)||[]),b=b.concat(a.match(this._hslaRegExp)||[]);return b=b.concat(c.filter(a.split(/\s+/),function(a){return a.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:a.toLowerCase()in CKEDITOR.tools.style.parse._colors}))}}},array:{filter:function(a,b,c){var h=[];this.forEach(a,function(d,p){b.call(c,d,p,a)&&h.push(d)});return h},forEach:function(a,b,c){var h=a.length,d;for(d=0;d<h;d++)b.call(c,a[d],d,a)},map:function(a,b,c){for(var h=[],d=0;d<a.length;d++)h.push(b.call(c,
-a[d],d,a));return h},reduce:function(a,b,c,h){for(var d=0;d<a.length;d++)c=b.call(h,c,a[d],d,a);return c}}};CKEDITOR.tools.array.indexOf=CKEDITOR.tools.indexOf;CKEDITOR.tools.array.isArray=CKEDITOR.tools.isArray})();
-CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,d=function(a,b){for(var c=CKEDITOR.tools.clone(a),h=1;h<arguments.length;h++){b=arguments[h];for(var d in b)delete c[d]}return c},b={},c={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},g={command:1,link:1,meta:1,noscript:1,script:1,style:1},k={},h={"#":1},p={center:1,dir:1,noframes:1};
-a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},h,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,e,b,p);d={a:d(b,{a:1,button:1}),abbr:b,address:c,
-area:k,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:k,bdi:b,bdo:b,blockquote:c,body:c,br:k,button:d(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:k,colgroup:{col:1},command:k,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:k,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},g),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:k,html:a({head:1,
-body:1},c,g),i:b,iframe:h,img:k,input:k,ins:b,kbd:b,keygen:k,label:b,legend:b,li:c,link:k,main:c,map:c,mark:b,menu:a({li:1},c),meta:k,meter:d(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:h,output:b,p:b,param:k,pre:b,progress:d(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:h,section:c,select:{optgroup:1,option:1},small:b,source:k,span:b,strong:b,style:h,sub:b,summary:a({h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},b),
-sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:h,tfoot:{tr:1},th:c,thead:{tr:1},time:d(b,{time:1}),title:h,tr:{th:1,td:1},track:k,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:k,acronym:b,applet:a({param:1},c),basefont:k,big:b,center:c,dialog:k,dir:{li:1},font:b,isindex:k,noframes:c,strike:b,tt:b};a(d,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},e,p),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,
+f);return 0<=b?a[b]:null},bind:function(a,f){return function(){return a.apply(f,arguments)}},createClass:function(a){var f=a.$,b=a.base,c=a.privates||a._,k=a.proto;a=a.statics;!f&&(f=function(){b&&this.base.apply(this,arguments)});if(c)var d=f,f=function(){var a=this._||(this._={}),f;for(f in c){var b=c[f];a[f]="function"==typeof b?CKEDITOR.tools.bind(b,this):b}d.apply(this,arguments)};b&&(f.prototype=this.prototypedCopy(b.prototype),f.prototype.constructor=f,f.base=b,f.baseProto=b.prototype,f.prototype.base=
+function(){this.base=b.prototype.base;b.apply(this,arguments);this.base=arguments.callee});k&&this.extend(f.prototype,k,!0);a&&this.extend(f,a,!0);return f},addFunction:function(b,f){return a.push(function(){return b.apply(f||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var f=a[b];return f&&f.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\d+\.?\d*px$/,f;return function(b){f=CKEDITOR.tools.trim(b+"")+"px";return a.test(f)?
+f:b||""}}(),convertToPx:function(){var a;return function(f){a||(a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"\x3e\x3c/div\x3e',CKEDITOR.document),CKEDITOR.document.getBody().append(a));return/%$/.test(f)?f:(a.setStyle("width",f),a.$.clientWidth)}}(),repeat:function(a,f){return Array(f+1).join(a)},tryThese:function(){for(var a,f=0,b=arguments.length;f<b;f++){var c=arguments[f];try{a=c();break}catch(k){}}return a},
+genKey:function(){return Array.prototype.slice.call(arguments).join("-")},defer:function(a){return function(){var f=arguments,b=this;window.setTimeout(function(){a.apply(b,f)},0)}},normalizeCssText:function(a,f){var b=[],c,k=CKEDITOR.tools.parseCssText(a,!0,f);for(c in k)b.push(c+":"+k[c]);b.sort();return b.length?b.join(";")+";":""},convertRgbToHex:function(a){return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,k){a=[b,c,k];for(b=0;3>b;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2);
+return"#"+a.join("")})},normalizeHex:function(a){return a.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(a,b,c,k){a=b.toLowerCase();3==a.length&&(a=a.split(""),a=[a[0],a[0],a[1],a[1],a[2],a[2]].join(""));return"#"+a+k})},parseCssText:function(a,f,b){var c={};b&&(a=(new CKEDITOR.dom.element("span")).setAttribute("style",a).getAttribute("style")||"");a&&(a=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(a)));if(!a||";"==a)return c;a.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,
+function(a,b,k){f&&(b=b.toLowerCase(),"font-family"==b&&(k=k.replace(/\s*,\s*/g,",")),k=CKEDITOR.tools.trim(k));c[b]=k});return c},writeCssText:function(a,f){var b,c=[];for(b in a)c.push(b+":"+a[b]);f&&c.sort();return c.join("; ")},objectCompare:function(a,f,b){var c;if(!a&&!f)return!0;if(!a||!f)return!1;for(c in a)if(a[c]!=f[c])return!1;if(!b)for(c in f)if(a[c]!=f[c])return!1;return!0},objectKeys:function(a){var f=[],b;for(b in a)f.push(b);return f},convertArrayToObject:function(a,f){var b={};1==
+arguments.length&&(f=!0);for(var c=0,k=a.length;c<k;++c)b[a[c]]=f;return b},fixDomain:function(){for(var a;;)try{a=window.parent.document.domain;break}catch(f){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,f,b){function c(){d=(new Date).getTime();k=!1;b?f.call(b):f()}var k,d=0;return{input:function(){if(!k){var f=(new Date).getTime()-d;f<a?k=setTimeout(c,a-f):c()}},reset:function(){k&&clearTimeout(k);k=d=0}}},enableHtml5Elements:function(a,
+f){for(var b="abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video".split(" "),c=b.length,k;c--;)k=a.createElement(b[c]),f&&a.appendChild(k)},checkIfAnyArrayItemMatches:function(a,f){for(var b=0,c=a.length;b<c;++b)if(a[b].match(f))return!0;return!1},checkIfAnyObjectPropertyMatches:function(a,f){for(var b in a)if(b.match(f))return!0;return!1},keystrokeToString:function(a,b){var c=b&16711680,k=
+b&65535,d=CKEDITOR.env.mac,n=[],e=[];c&CKEDITOR.CTRL&&(n.push(d?"⌘":a[17]),e.push(d?a[224]:a[17]));c&CKEDITOR.ALT&&(n.push(d?"⌥":a[18]),e.push(a[18]));c&CKEDITOR.SHIFT&&(n.push(d?"⇧":a[16]),e.push(a[16]));k&&(a[k]?(n.push(a[k]),e.push(a[k])):(n.push(String.fromCharCode(k)),e.push(String.fromCharCode(k))));return{display:n.join("+"),aria:e.join("+")}},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw\x3d\x3d",getCookie:function(a){a=a.toLowerCase();
+for(var b=document.cookie.split(";"),c,k,d=0;d<b.length;d++)if(c=b[d].split("\x3d"),k=decodeURIComponent(CKEDITOR.tools.trim(c[0]).toLowerCase()),k===a)return decodeURIComponent(1<c.length?c[1]:"");return null},setCookie:function(a,b){document.cookie=encodeURIComponent(a)+"\x3d"+encodeURIComponent(b)+";path\x3d/"},getCsrfToken:function(){var a=CKEDITOR.tools.getCookie("ckCsrfToken");if(!a||40!=a.length){var a=[],b="";if(window.crypto&&window.crypto.getRandomValues)a=new Uint8Array(40),window.crypto.getRandomValues(a);
+else for(var c=0;40>c;c++)a.push(Math.floor(256*Math.random()));for(c=0;c<a.length;c++)var k="abcdefghijklmnopqrstuvwxyz0123456789".charAt(a[c]%36),b=b+(.5<Math.random()?k.toUpperCase():k);a=b;CKEDITOR.tools.setCookie("ckCsrfToken",a)}return a},escapeCss:function(a){return a?window.CSS&&CSS.escape?CSS.escape(a):isNaN(parseInt(a.charAt(0),10))?a:"\\3"+a.charAt(0)+" "+a.substring(1,a.length):""},getMouseButton:function(a){var b=(a=a.data)&&a.$;return a&&b?CKEDITOR.env.ie&&9>CKEDITOR.env.version?4===
+b.button?CKEDITOR.MOUSE_BUTTON_MIDDLE:1===b.button?CKEDITOR.MOUSE_BUTTON_LEFT:CKEDITOR.MOUSE_BUTTON_RIGHT:b.button:!1},style:{parse:{_colors:{aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",
+crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",
+dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",
+lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",
+mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",
+red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},
+_borderStyle:"none hidden dotted dashed solid double groove ridge inset outset".split(" "),_widthRegExp:/^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/,_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(a){var b={},c=this._findColor(a);c.length&&(b.color=c[0],CKEDITOR.tools.array.forEach(c,function(b){a=a.replace(b,"")}));if(a=CKEDITOR.tools.trim(a))b.unprocessed=
+a;return b},margin:function(a){function b(a){c.top=k[a[0]];c.right=k[a[1]];c.bottom=k[a[2]];c.left=k[a[3]]}var c={},k=a.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g)||["0px"];switch(k.length){case 1:b([0,0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}return c},border:function(a){var b={};a=a.split(/\s+/);CKEDITOR.tools.array.forEach(a,function(a){if(!b.color){var c=CKEDITOR.tools.style.parse._findColor(a);if(c.length){b.color=c[0];return}}b.style||
+-1===CKEDITOR.tools.indexOf(CKEDITOR.tools.style.parse._borderStyle,a)?!b.width&&CKEDITOR.tools.style.parse._widthRegExp.test(a)&&(b.width=a):b.style=a});return b},_findColor:function(a){var b=[],c=CKEDITOR.tools.array,b=b.concat(a.match(this._rgbaRegExp)||[]),b=b.concat(a.match(this._hslaRegExp)||[]);return b=b.concat(c.filter(a.split(/\s+/),function(a){return a.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:a.toLowerCase()in CKEDITOR.tools.style.parse._colors}))}}},array:{filter:function(a,b,c){var k=
+[];this.forEach(a,function(d,n){b.call(c,d,n,a)&&k.push(d)});return k},forEach:function(a,b,c){var k=a.length,d;for(d=0;d<k;d++)b.call(c,a[d],d,a)},map:function(a,b,c){for(var k=[],d=0;d<a.length;d++)k.push(b.call(c,a[d],d,a));return k},reduce:function(a,b,c,k){for(var d=0;d<a.length;d++)c=b.call(k,c,a[d],d,a);return c}},object:{findKey:function(a,b){if("object"!==typeof a)return null;for(var c in a)if(a[c]===b)return c;return null}}};CKEDITOR.tools.array.indexOf=CKEDITOR.tools.indexOf;CKEDITOR.tools.array.isArray=
+CKEDITOR.tools.isArray;CKEDITOR.MOUSE_BUTTON_LEFT=0;CKEDITOR.MOUSE_BUTTON_MIDDLE=1;CKEDITOR.MOUSE_BUTTON_RIGHT=2})();
+CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,d=function(a,b){for(var c=CKEDITOR.tools.clone(a),k=1;k<arguments.length;k++){b=arguments[k];for(var d in b)delete c[d]}return c},b={},c={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},g={command:1,link:1,meta:1,noscript:1,script:1,style:1},h={},k={"#":1},n={center:1,dir:1,noframes:1};
+a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},k,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,e,b,n);d={a:d(b,{a:1,button:1}),abbr:b,address:c,
+area:h,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:h,bdi:b,bdo:b,blockquote:c,body:c,br:h,button:d(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:h,colgroup:{col:1},command:h,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:h,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},g),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:h,html:a({head:1,
+body:1},c,g),i:b,iframe:k,img:h,input:h,ins:b,kbd:b,keygen:h,label:b,legend:b,li:c,link:h,main:c,map:c,mark:b,menu:a({li:1},c),meta:h,meter:d(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:k,output:b,p:b,param:h,pre:b,progress:d(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:k,section:c,select:{optgroup:1,option:1},small:b,source:h,span:b,strong:b,style:k,sub:b,summary:a({h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},b),
+sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:k,tfoot:{tr:1},th:c,thead:{tr:1},time:d(b,{time:1}),title:k,tr:{th:1,td:1},track:h,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:h,acronym:b,applet:a({param:1},c),basefont:h,big:b,center:c,dialog:h,dir:{li:1},font:b,isindex:h,noframes:c,strike:b,tt:b};a(d,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},e,n),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,
 fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,main:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,
 track:1,wbr:1},$inline:b,$list:{dl:1,ol:1,ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},d.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,
 s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return d}();
@@ -68,8 +70,8 @@ CKEDITOR.dom.node=function(a){return a?new CKEDITOR.dom[a.nodeType==CKEDITOR.NOD
 CKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16;
 CKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(a,d){a.append(this,d);return a},clone:function(a,d){function b(c){c["data-cke-expando"]&&(c["data-cke-expando"]=!1);if(c.nodeType==CKEDITOR.NODE_ELEMENT||c.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)if(d||c.nodeType!=CKEDITOR.NODE_ELEMENT||c.removeAttribute("id",!1),a){c=c.childNodes;for(var e=0;e<c.length;e++)b(c[e])}}function c(b){if(b.type==CKEDITOR.NODE_ELEMENT||b.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT){if(b.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=
 b.getName();":"==d[0]&&b.renameNode(d.substring(1))}if(a)for(d=0;d<b.getChildCount();d++)c(b.getChild(d))}}var e=this.$.cloneNode(a);b(e);e=new CKEDITOR.dom.node(e);CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&c(e);return e},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$,a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,
-a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var d=[],b=this.getDocument().$.documentElement,c=this.$;c&&c!=b;){var e=c.parentNode;e&&d.unshift(this.getIndex.call({$:c},a));c=e}return d},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){function d(a,c){var p=c?a.nextSibling:a.previousSibling;return p&&p.nodeType==CKEDITOR.NODE_TEXT?b(p)?d(p,
-c):p:null}function b(a){return!a.nodeValue||a.nodeValue==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE}var c=this.$,e=-1,g;if(!this.$.parentNode||a&&c.nodeType==CKEDITOR.NODE_TEXT&&b(c)&&!d(c)&&!d(c,!0))return-1;do a&&c!=this.$&&c.nodeType==CKEDITOR.NODE_TEXT&&(g||b(c))||(e++,g=c.nodeType==CKEDITOR.NODE_TEXT);while(c=c.previousSibling);return e},getNextSourceNode:function(a,d,b){if(b&&!b.call){var c=b;b=function(a){return!a.equals(c)}}a=!a&&this.getFirst&&this.getFirst();var e;if(!a){if(this.type==
+a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var d=[],b=this.getDocument().$.documentElement,c=this.$;c&&c!=b;){var e=c.parentNode;e&&d.unshift(this.getIndex.call({$:c},a));c=e}return d},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){function d(a,c){var n=c?a.nextSibling:a.previousSibling;return n&&n.nodeType==CKEDITOR.NODE_TEXT?b(n)?d(n,
+c):n:null}function b(a){return!a.nodeValue||a.nodeValue==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE}var c=this.$,e=-1,g;if(!this.$.parentNode||a&&c.nodeType==CKEDITOR.NODE_TEXT&&b(c)&&!d(c)&&!d(c,!0))return-1;do a&&c!=this.$&&c.nodeType==CKEDITOR.NODE_TEXT&&(g||b(c))||(e++,g=c.nodeType==CKEDITOR.NODE_TEXT);while(c=c.previousSibling);return e},getNextSourceNode:function(a,d,b){if(b&&!b.call){var c=b;b=function(a){return!a.equals(c)}}a=!a&&this.getFirst&&this.getFirst();var e;if(!a){if(this.type==
 CKEDITOR.NODE_ELEMENT&&b&&!1===b(this,!0))return null;a=this.getNext()}for(;!a&&(e=(e||this).getParent());){if(b&&!1===b(e,!0))return null;a=e.getNext()}return!a||b&&!1===b(a)?null:d&&d!=a.type?a.getNextSourceNode(!1,d,b):a},getPreviousSourceNode:function(a,d,b){if(b&&!b.call){var c=b;b=function(a){return!a.equals(c)}}a=!a&&this.getLast&&this.getLast();var e;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&!1===b(this,!0))return null;a=this.getPrevious()}for(;!a&&(e=(e||this).getParent());){if(b&&!1===
 b(e,!0))return null;a=e.getPrevious()}return!a||b&&!1===b(a)?null:d&&a.type!=d?a.getPreviousSourceNode(!1,d,b):a},getPrevious:function(a){var d=this.$,b;do b=(d=d.previousSibling)&&10!=d.nodeType&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getNext:function(a){var d=this.$,b;do b=(d=d.nextSibling)&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getParent:function(a){var d=this.$.parentNode;return d&&(d.nodeType==CKEDITOR.NODE_ELEMENT||a&&d.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?
 new CKEDITOR.dom.node(d):null},getParents:function(a){var d=this,b=[];do b[a?"push":"unshift"](d);while(d=d.getParent());return b},getCommonAncestor:function(a){if(a.equals(this))return this;if(a.contains&&a.contains(this))return a;var d=this.contains?this:this.getParent();do if(d.contains(a))return d;while(d=d.getParent());return null},getPosition:function(a){var d=this.$,b=a.$;if(d.compareDocumentPosition)return d.compareDocumentPosition(b);if(d==b)return CKEDITOR.POSITION_IDENTICAL;if(this.type==
@@ -83,13 +85,14 @@ CKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.foc
 a.body.scrollTop||0}},getFrame:function(){var a=this.$.frameElement;return a?new CKEDITOR.dom.element.get(a):null}});CKEDITOR.dom.document=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject;
 CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(a){if(this.$.createStyleSheet)this.$.createStyleSheet(a);else{var d=new CKEDITOR.dom.element("link");d.setAttributes({rel:"stylesheet",type:"text/css",href:a});this.getHead().append(d)}},appendStyleText:function(a){if(this.$.createStyleSheet){var d=this.$.createStyleSheet("");d.cssText=a}else{var b=new CKEDITOR.dom.element("style",this);b.append(new CKEDITOR.dom.text(a,this));this.getHead().append(b)}return d||
 b.$.sheet},createElement:function(a,d){var b=new CKEDITOR.dom.element(a,this);d&&(d.attributes&&b.setAttributes(d.attributes),d.styles&&b.setStyles(d.styles));return b},createText:function(a){return new CKEDITOR.dom.text(a,this)},focus:function(){this.getWindow().focus()},getActive:function(){var a;try{a=this.$.activeElement}catch(d){return null}return new CKEDITOR.dom.element(a)},getById:function(a){return(a=this.$.getElementById(a))?new CKEDITOR.dom.element(a):null},getByAddress:function(a,d){for(var b=
-this.$.documentElement,c=0;b&&c<a.length;c++){var e=a[c];if(d)for(var g=-1,k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(!0!==d||3!=h.nodeType||!h.previousSibling||3!=h.previousSibling.nodeType)if(g++,g==e){b=h;break}}else b=b.childNodes[e]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,d){CKEDITOR.env.ie&&8>=document.documentMode||!d||(a=d+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0];
+this.$.documentElement,c=0;b&&c<a.length;c++){var e=a[c];if(d)for(var g=-1,h=0;h<b.childNodes.length;h++){var k=b.childNodes[h];if(!0!==d||3!=k.nodeType||!k.previousSibling||3!=k.previousSibling.nodeType)if(g++,g==e){b=k;break}}else b=b.childNodes[e]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,d){CKEDITOR.env.ie&&8>=document.documentMode||!d||(a=d+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0];
 return a=a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.ie&&(a=a.replace(/(?:^\s*<!DOCTYPE[^>]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+
 CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))},findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData("html5ShivFrag");a||(a=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(a,!0),this.setCustomData("html5ShivFrag",a));return a}});CKEDITOR.dom.nodeList=function(a){this.$=a};
-CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){return 0>a||a>=this.$.length?null:(a=this.$[a])?new CKEDITOR.dom.node(a):null}};CKEDITOR.dom.element=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.element.get=function(a){return(a="string"==typeof a?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;
-CKEDITOR.dom.element.createFromHtml=function(a,d){var b=new CKEDITOR.dom.element("div",d);b.setHtml(a);return b.getFirst().remove()};CKEDITOR.dom.element.setMarker=function(a,d,b,c){var e=d.getCustomData("list_marker_id")||d.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),g=d.getCustomData("list_marker_names")||d.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[e]=d;g[b]=1;return d.setCustomData(b,c)};
-CKEDITOR.dom.element.clearAllMarkers=function(a){for(var d in a)CKEDITOR.dom.element.clearMarkers(a,a[d],1)};CKEDITOR.dom.element.clearMarkers=function(a,d,b){var c=d.getCustomData("list_marker_names"),e=d.getCustomData("list_marker_id"),g;for(g in c)d.removeCustomData(g);d.removeCustomData("list_marker_names");b&&(d.removeCustomData("list_marker_id"),delete a[e])};
-(function(){function a(a,b){return-1<(" "+a+" ").replace(g," ").indexOf(" "+b+" ")}function d(a){var b=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),b=!1);return function(){b||a.removeAttribute("id")}}function b(a,b){var c=CKEDITOR.tools.escapeCss(a.$.id);return"#"+c+" "+b.split(/,\s*/).join(", #"+c+" ")}function c(a){for(var b=0,c=0,f=k[a].length;c<f;c++)b+=parseFloat(this.getComputedStyle(k[a][c])||0,10)||0;return b}var e=document.createElement("_").classList,e="undefined"!==typeof e&&
+CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){return 0>a||a>=this.$.length?null:(a=this.$[a])?new CKEDITOR.dom.node(a):null},toArray:function(){return CKEDITOR.tools.array.map(this.$,function(a){return new CKEDITOR.dom.node(a)})}};CKEDITOR.dom.element=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)};
+CKEDITOR.dom.element.get=function(a){return(a="string"==typeof a?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(a,d){var b=new CKEDITOR.dom.element("div",d);b.setHtml(a);return b.getFirst().remove()};
+CKEDITOR.dom.element.setMarker=function(a,d,b,c){var e=d.getCustomData("list_marker_id")||d.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),g=d.getCustomData("list_marker_names")||d.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[e]=d;g[b]=1;return d.setCustomData(b,c)};CKEDITOR.dom.element.clearAllMarkers=function(a){for(var d in a)CKEDITOR.dom.element.clearMarkers(a,a[d],1)};
+CKEDITOR.dom.element.clearMarkers=function(a,d,b){var c=d.getCustomData("list_marker_names"),e=d.getCustomData("list_marker_id"),g;for(g in c)d.removeCustomData(g);d.removeCustomData("list_marker_names");b&&(d.removeCustomData("list_marker_id"),delete a[e])};
+(function(){function a(a,b){return-1<(" "+a+" ").replace(g," ").indexOf(" "+b+" ")}function d(a){var b=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),b=!1);return function(){b||a.removeAttribute("id")}}function b(a,b){var c=CKEDITOR.tools.escapeCss(a.$.id);return"#"+c+" "+b.split(/,\s*/).join(", #"+c+" ")}function c(a){for(var b=0,c=0,f=h[a].length;c<f;c++)b+=parseFloat(this.getComputedStyle(h[a][c])||0,10)||0;return b}var e=document.createElement("_").classList,e="undefined"!==typeof e&&
 null!==String(e.add).match(/\[Native code\]/gi),g=/[\n\t\r]/g;CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_ELEMENT,addClass:e?function(a){this.$.classList.add(a);return this}:function(b){var c=this.$.className;c&&(a(c,b)||(c+=" "+b));this.$.className=c||b;return this},removeClass:e?function(a){var b=this.$;b.classList.remove(a);b.className||b.removeAttribute("class");return this}:function(b){var c=this.getAttribute("class");c&&a(c,b)&&((c=c.replace(new RegExp("(?:^|\\s+)"+
 b+"(?\x3d\\s|$)"),"").replace(/^\s+/,""))?this.setAttribute("class",c):this.removeAttribute("class"));return this},hasClass:function(b){return a(this.$.className,b)},append:function(a,b){"string"==typeof a&&(a=this.getDocument().createElement(a));b?this.$.insertBefore(a.$,this.$.firstChild):this.$.appendChild(a.$);return a},appendHtml:function(a){if(this.$.childNodes.length){var b=new CKEDITOR.dom.element("div",this.getDocument());b.setHtml(a);b.moveChildren(this)}else this.setHtml(a)},appendText:function(a){null!=
 this.$.text&&CKEDITOR.env.ie&&9>CKEDITOR.env.version?this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type","_moz"),this.append(a))}},breakParent:function(a,b){var c=new CKEDITOR.dom.range(this.getDocument());c.setStartAfter(this);c.setEndAfter(a);
@@ -107,174 +110,176 @@ a.getOuterHtml();if(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&this.is("a")){var c
 for(var a=this.getChildren(),b=0,c=a.count();b<c;b++){var f=a.getItem(b);if(f.type!=CKEDITOR.NODE_ELEMENT||!f.data("cke-bookmark"))if(f.type==CKEDITOR.NODE_ELEMENT&&!f.isEmptyInlineRemoveable()||f.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(f.getText()))return!1}return!0},hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(){for(var a=this.$.attributes,b=0;b<a.length;b++){var c=a[b];switch(c.nodeName){case "class":if(this.getAttribute("class"))return!0;case "data-cke-expando":continue;
 default:if(c.specified)return!0}}return!1}:function(){var a=this.$.attributes,b=a.length,c={"data-cke-expando":1,_moz_dirty:1};return 0<b&&(2<b||!c[a[0].nodeName]||2==b&&!c[a[1].nodeName])},hasAttribute:function(){function a(b){var c=this.$.attributes.getNamedItem(b);if("input"==this.getName())switch(b){case "class":return 0<this.$.className.length;case "checked":return!!this.$.checked;case "value":return b=this.getAttribute("type"),"checkbox"==b||"radio"==b?"on"!=this.$.value:!!this.$.value}return c?
 c.specified:!1}return CKEDITOR.env.ie?8>CKEDITOR.env.version?function(b){return"name"==b?!!this.$.name:a.call(this,b)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var c=this.$;a=a.$;if(c!=a){var f;if(b)for(;f=c.lastChild;)a.insertBefore(c.removeChild(f),a.firstChild);else for(;f=c.firstChild;)a.appendChild(c.removeChild(f))}},mergeSiblings:function(){function a(b,c,f){if(c&&c.type==CKEDITOR.NODE_ELEMENT){for(var d=
-[];c.data("cke-bookmark")||c.isEmptyInlineRemoveable();)if(d.push(c),c=f?c.getNext():c.getPrevious(),!c||c.type!=CKEDITOR.NODE_ELEMENT)return;if(b.isIdentical(c)){for(var h=f?b.getLast():b.getFirst();d.length;)d.shift().move(b,!f);c.moveChildren(b,!f);c.remove();h&&h.type==CKEDITOR.NODE_ELEMENT&&h.mergeSiblings()}}}return function(b){if(!1===b||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"",
+[];c.data("cke-bookmark")||c.isEmptyInlineRemoveable();)if(d.push(c),c=f?c.getNext():c.getPrevious(),!c||c.type!=CKEDITOR.NODE_ELEMENT)return;if(b.isIdentical(c)){for(var k=f?b.getLast():b.getFirst();d.length;)d.shift().move(b,!f);c.moveChildren(b,!f);c.remove();k&&k.type==CKEDITOR.NODE_ELEMENT&&k.mergeSiblings()}}}return function(b){if(!1===b||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"",
 visibility:""})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(b,c){"class"==b?this.$.className=c:"style"==b?this.$.style.cssText=c:"tabindex"==b?this.$.tabIndex=c:"checked"==b?this.$.checked=c:"contenteditable"==b?a.call(this,"contentEditable",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if("src"==b&&c.match(/^http:\/\//))try{a.apply(this,
 arguments)}catch(f){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){"class"==a?a="className":"tabindex"==a?a="tabIndex":"contenteditable"==a&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b=
-0;b<a.length;b++)this.removeAttribute(a[b]);else for(b in a=a||this.getAttributes(),a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=this.$.style;if(b.removeProperty||"border"!=a&&"margin"!=a&&"padding"!=a)b.removeProperty?b.removeProperty(a):b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a)),this.$.style.cssText||this.removeAttribute("style");else{var c=["top","left","right","bottom"],f;"border"==a&&(f=["color","style","width"]);for(var b=[],d=0;d<c.length;d++)if(f)for(var u=
-0;u<f.length;u++)b.push([a,c[d],f[u]].join("-"));else b.push([a,c[d]].join("-"));for(a=0;a<b.length;a++)this.removeStyle(b[a])}},setStyle:function(a,b){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){CKEDITOR.env.ie&&9>CKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select",
-"none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,f=b.count();c<f;c++)a=b.getItem(c),a.setAttribute("unselectable","on")}},getPositionedAncestor:function(){for(var a=this;"html"!=a.getName();){if("static"!=a.getComputedStyle("position"))return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0,c=0,f=this.getDocument(),d=f.getBody(),u="BackCompat"==f.$.compatMode;if(document.documentElement.getBoundingClientRect&&(CKEDITOR.env.ie?
-8!==CKEDITOR.env.version:1)){var e=this.$.getBoundingClientRect(),g=f.$.documentElement,m=g.clientTop||d.$.clientTop||0,x=g.clientLeft||d.$.clientLeft||0,k=!0;CKEDITOR.env.ie&&(k=f.getDocumentElement().contains(this),f=f.getBody().contains(this),k=u&&f||!u&&k);k&&(CKEDITOR.env.webkit||CKEDITOR.env.ie&&12<=CKEDITOR.env.version?(b=d.$.scrollLeft||g.scrollLeft,c=d.$.scrollTop||g.scrollTop):(c=u?d.$:g,b=c.scrollLeft,c=c.scrollTop),b=e.left+b-x,c=e.top+c-m)}else for(m=this,x=null;m&&"body"!=m.getName()&&
-"html"!=m.getName();){b+=m.$.offsetLeft-m.$.scrollLeft;c+=m.$.offsetTop-m.$.scrollTop;m.equals(this)||(b+=m.$.clientLeft||0,c+=m.$.clientTop||0);for(;x&&!x.equals(m);)b-=x.$.scrollLeft,c-=x.$.scrollTop,x=x.getParent();x=m;m=(e=m.$.offsetParent)?new CKEDITOR.dom.element(e):null}a&&(e=this.getWindow(),m=a.getWindow(),!e.equals(m)&&e.$.frameElement&&(a=(new CKEDITOR.dom.element(e.$.frameElement)).getDocumentPosition(a),b+=a.x,c+=a.y));document.documentElement.getBoundingClientRect||!CKEDITOR.env.gecko||
-u||(b+=this.$.clientLeft?1:0,c+=this.$.clientTop?1:0);return{x:b,y:c}},scrollIntoView:function(a){var b=this.getParent();if(b){do if((b.$.clientWidth&&b.$.clientWidth<b.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is("body")&&this.scrollIntoParent(b,a,1),b.is("html")){var c=b.getWindow();try{var f=c.$.frameElement;f&&(b=new CKEDITOR.dom.element(f))}catch(d){}}while(b=b.getParent())}},scrollIntoParent:function(a,b,c){var f,d,e,z;function g(b,c){/body|html/.test(a.getName())?
-a.getWindow().$.scrollBy(b,c):(a.$.scrollLeft+=b,a.$.scrollTop+=c)}function m(a,b){var c={x:0,y:0};if(!a.is(k?"body":"html")){var f=a.$.getBoundingClientRect();c.x=f.left;c.y=f.top}f=a.getWindow();f.equals(b)||(f=m(CKEDITOR.dom.element.get(f.$.frameElement),b),c.x+=f.x,c.y+=f.y);return c}function x(a,b){return parseInt(a.getComputedStyle("margin-"+b)||0,10)||0}!a&&(a=this.getWindow());e=a.getDocument();var k="BackCompat"==e.$.compatMode;a instanceof CKEDITOR.dom.window&&(a=k?e.getBody():e.getDocumentElement());
-CKEDITOR.env.webkit&&(e=this.getEditor(!1))&&(e._.previousScrollTop=null);e=a.getWindow();d=m(this,e);var w=m(a,e),F=this.$.offsetHeight;f=this.$.offsetWidth;var l=a.$.clientHeight,q=a.$.clientWidth;e=d.x-x(this,"left")-w.x||0;z=d.y-x(this,"top")-w.y||0;f=d.x+f+x(this,"right")-(w.x+q)||0;d=d.y+F+x(this,"bottom")-(w.y+l)||0;(0>z||0<d)&&g(0,!0===b?z:!1===b?d:0>z?z:d);c&&(0>e||0<f)&&g(0>e?e:f,0)},setState:function(a,b,c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+
+0;b<a.length;b++)this.removeAttribute(a[b]);else for(b in a=a||this.getAttributes(),a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=this.$.style;if(b.removeProperty||"border"!=a&&"margin"!=a&&"padding"!=a)b.removeProperty?b.removeProperty(a):b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a)),this.$.style.cssText||this.removeAttribute("style");else{var c=["top","left","right","bottom"],f;"border"==a&&(f=["color","style","width"]);for(var b=[],d=0;d<c.length;d++)if(f)for(var w=
+0;w<f.length;w++)b.push([a,c[d],f[w]].join("-"));else b.push([a,c[d]].join("-"));for(a=0;a<b.length;a++)this.removeStyle(b[a])}},setStyle:function(a,b){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){CKEDITOR.env.ie&&9>CKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select",
+"none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,f=b.count();c<f;c++)a=b.getItem(c),a.setAttribute("unselectable","on")}},getPositionedAncestor:function(){for(var a=this;"html"!=a.getName();){if("static"!=a.getComputedStyle("position"))return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0,c=0,f=this.getDocument(),d=f.getBody(),w="BackCompat"==f.$.compatMode;if(document.documentElement.getBoundingClientRect&&(CKEDITOR.env.ie?
+8!==CKEDITOR.env.version:1)){var e=this.$.getBoundingClientRect(),g=f.$.documentElement,x=g.clientTop||d.$.clientTop||0,m=g.clientLeft||d.$.clientLeft||0,h=!0;CKEDITOR.env.ie&&(h=f.getDocumentElement().contains(this),f=f.getBody().contains(this),h=w&&f||!w&&h);h&&(CKEDITOR.env.webkit||CKEDITOR.env.ie&&12<=CKEDITOR.env.version?(b=d.$.scrollLeft||g.scrollLeft,c=d.$.scrollTop||g.scrollTop):(c=w?d.$:g,b=c.scrollLeft,c=c.scrollTop),b=e.left+b-m,c=e.top+c-x)}else for(x=this,m=null;x&&"body"!=x.getName()&&
+"html"!=x.getName();){b+=x.$.offsetLeft-x.$.scrollLeft;c+=x.$.offsetTop-x.$.scrollTop;x.equals(this)||(b+=x.$.clientLeft||0,c+=x.$.clientTop||0);for(;m&&!m.equals(x);)b-=m.$.scrollLeft,c-=m.$.scrollTop,m=m.getParent();m=x;x=(e=x.$.offsetParent)?new CKEDITOR.dom.element(e):null}a&&(e=this.getWindow(),x=a.getWindow(),!e.equals(x)&&e.$.frameElement&&(a=(new CKEDITOR.dom.element(e.$.frameElement)).getDocumentPosition(a),b+=a.x,c+=a.y));document.documentElement.getBoundingClientRect||!CKEDITOR.env.gecko||
+w||(b+=this.$.clientLeft?1:0,c+=this.$.clientTop?1:0);return{x:b,y:c}},scrollIntoView:function(a){var b=this.getParent();if(b){do if((b.$.clientWidth&&b.$.clientWidth<b.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is("body")&&this.scrollIntoParent(b,a,1),b.is("html")){var c=b.getWindow();try{var f=c.$.frameElement;f&&(b=new CKEDITOR.dom.element(f))}catch(d){}}while(b=b.getParent())}},scrollIntoParent:function(a,b,c){var f,d,w,e;function g(b,c){/body|html/.test(a.getName())?
+a.getWindow().$.scrollBy(b,c):(a.$.scrollLeft+=b,a.$.scrollTop+=c)}function x(a,b){var c={x:0,y:0};if(!a.is(h?"body":"html")){var f=a.$.getBoundingClientRect();c.x=f.left;c.y=f.top}f=a.getWindow();f.equals(b)||(f=x(CKEDITOR.dom.element.get(f.$.frameElement),b),c.x+=f.x,c.y+=f.y);return c}function m(a,b){return parseInt(a.getComputedStyle("margin-"+b)||0,10)||0}!a&&(a=this.getWindow());w=a.getDocument();var h="BackCompat"==w.$.compatMode;a instanceof CKEDITOR.dom.window&&(a=h?w.getBody():w.getDocumentElement());
+CKEDITOR.env.webkit&&(w=this.getEditor(!1))&&(w._.previousScrollTop=null);w=a.getWindow();d=x(this,w);var z=x(a,w),I=this.$.offsetHeight;f=this.$.offsetWidth;var l=a.$.clientHeight,r=a.$.clientWidth;w=d.x-m(this,"left")-z.x||0;e=d.y-m(this,"top")-z.y||0;f=d.x+f+m(this,"right")-(z.x+r)||0;d=d.y+I+m(this,"bottom")-(z.y+l)||0;(0>e||0<d)&&g(0,!0===b?e:!1===b?d:0>e?e:d);c&&(0>w||0<f)&&g(0>w?w:f,0)},setState:function(a,b,c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+
 "_off");this.removeClass(b+"_disabled");c&&this.setAttribute("aria-pressed",!0);c&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");c&&this.setAttribute("aria-disabled",!0);c&&this.removeAttribute("aria-pressed");break;default:this.addClass(b+"_off"),this.removeClass(b+"_on"),this.removeClass(b+"_disabled"),c&&this.removeAttribute("aria-pressed"),c&&this.removeAttribute("aria-disabled")}},
-getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){var c=this.$.attributes;b=b||{};for(var f=0;f<c.length;f++){var d=c[f],e=d.nodeName.toLowerCase(),g;if(!(e in b))if("checked"==e&&(g=this.getAttribute(e)))a.setAttribute(e,g);else if(!CKEDITOR.env.ie||this.hasAttribute(e))g=this.getAttribute(e),null===g&&(g=d.nodeValue),a.setAttribute(e,g)}""!==this.$.style.cssText&&
+getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){var c=this.$.attributes;b=b||{};for(var f=0;f<c.length;f++){var d=c[f],w=d.nodeName.toLowerCase(),e;if(!(w in b))if("checked"==w&&(e=this.getAttribute(w)))a.setAttribute(w,e);else if(!CKEDITOR.env.ie||this.hasAttribute(w))e=this.getAttribute(w),null===e&&(e=d.nodeValue),a.setAttribute(w,e)}""!==this.$.style.cssText&&
 (a.$.style.cssText=this.$.style.cssText)},renameNode:function(a){if(this.getName()!=a){var b=this.getDocument();a=new CKEDITOR.dom.element(a,b);this.copyAttributes(a);this.moveChildren(a);this.getParent(!0)&&this.$.parentNode.replaceChild(a.$,this.$);a.$["data-cke-expando"]=this.$["data-cke-expando"];this.$=a.$;delete this.getName}},getChild:function(){function a(b,c){var f=b.childNodes;if(0<=c&&c<f.length)return f[c]}return function(b){var c=this.$;if(b.slice)for(b=b.slice();0<b.length&&c;)c=a(c,
 b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT&&b.hasClass("cke_enable_context_menu")}this.on("contextmenu",function(b){b.data.getTarget().getAscendant(a,!0)||b.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir||
 "ltr":this.getStyle("direction")||this.getAttribute("dir")},data:function(a,b){a="data-"+a;if(void 0===b)return this.getAttribute(a);!1===b?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(a){var b=CKEDITOR.instances,c,f,d;a=a||void 0===a;for(c in b)if(f=b[c],f.element.equals(this)&&f.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||!a&&(d=f.editable())&&(d.equals(this)||d.contains(this)))return f;return null},find:function(a){var c=d(this);a=new CKEDITOR.dom.nodeList(this.$.querySelectorAll(b(this,
-a)));c();return a},findOne:function(a){var c=d(this);a=this.$.querySelector(b(this,a));c();return a?new CKEDITOR.dom.element(a):null},forEach:function(a,b,c){if(!(c||b&&this.type!=b))var f=a(this);if(!1!==f){c=this.getChildren();for(var d=0;d<c.count();d++)f=c.getItem(d),f.type==CKEDITOR.NODE_ELEMENT?f.forEach(a,b):b&&f.type!=b||a(f)}}});var k={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};
+a)));c();return a},findOne:function(a){var c=d(this);a=this.$.querySelector(b(this,a));c();return a?new CKEDITOR.dom.element(a):null},forEach:function(a,b,c){if(!(c||b&&this.type!=b))var f=a(this);if(!1!==f){c=this.getChildren();for(var d=0;d<c.count();d++)f=c.getItem(d),f.type==CKEDITOR.NODE_ELEMENT?f.forEach(a,b):b&&f.type!=b||a(f)}}});var h={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};
 CKEDITOR.dom.element.prototype.setSize=function(a,b,d){"number"==typeof b&&(!d||CKEDITOR.env.ie&&CKEDITOR.env.quirks||(b-=c.call(this,a)),this.setStyle(a,b+"px"))};CKEDITOR.dom.element.prototype.getSize=function(a,b){var d=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(a)],this.$["client"+CKEDITOR.tools.capitalize(a)])||0;b&&(d-=c.call(this,a));return d}})();CKEDITOR.dom.documentFragment=function(a){a=a||CKEDITOR.document;this.$=a.type==CKEDITOR.NODE_DOCUMENT?a.$.createDocumentFragment():a};
 CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(a){a=a.$;a.parentNode.insertBefore(this.$,a.nextSibling)},getHtml:function(){var a=new CKEDITOR.dom.element("div");this.clone(1,1).appendTo(a);return a.getHtml().replace(/\s*data-cke-expando=".*?"/g,"")}},!0,{append:1,appendBogus:1,clone:1,getFirst:1,getHtml:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1,
 insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});
-(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed)return this.end(),null;c.optimize()}var f,d=c.startContainer;f=c.endContainer;var e=c.startOffset,B=c.endOffset,g,l=this.guard,q=this.type,n=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var t=f.type==CKEDITOR.NODE_ELEMENT?f:f.getParent(),A=f.type==CKEDITOR.NODE_ELEMENT?f.getChild(B):f.getNext();this._.guardLTR=function(a,b){return(!b||!t.equals(a))&&(!A||
-!a.equals(A))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var C=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),h=d.type==CKEDITOR.NODE_ELEMENT?e?d.getChild(e-1):null:d.getPrevious();this._.guardRTL=function(a,b){return(!b||!C.equals(a))&&(!h||!a.equals(h))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var k=a?this._.guardRTL:this._.guardLTR;g=l?function(a,b){return!1===k(a,b)?!1:l(a,b)}:k;this.current?f=this.current[n](!1,q,g):(a?f.type==CKEDITOR.NODE_ELEMENT&&
-(f=0<B?f.getChild(B-1):!1===g(f,!0)?null:f.getPreviousSourceNode(!0,q,g)):(f=d,f.type==CKEDITOR.NODE_ELEMENT&&((f=f.getChild(e))||(f=!1===g(d,!0)?null:d.getNextSourceNode(!0,q,g)))),f&&!1===g(f)&&(f=null));for(;f&&!this._.end;){this.current=f;if(!this.evaluator||!1!==this.evaluator(f)){if(!b)return f}else if(b&&this.evaluator)return!1;f=f[n](!1,q,g)}this.end();return this.current=null}function d(b){for(var c,f=null;c=a.call(this,b);)f=c;return f}CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=
+(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed)return this.end(),null;c.optimize()}var f,d=c.startContainer;f=c.endContainer;var e=c.startOffset,D=c.endOffset,g,l=this.guard,r=this.type,J=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var H=f.type==CKEDITOR.NODE_ELEMENT?f:f.getParent(),k=f.type==CKEDITOR.NODE_ELEMENT?f.getChild(D):f.getNext();this._.guardLTR=function(a,b){return(!b||!H.equals(a))&&(!k||
+!a.equals(k))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var u=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),y=d.type==CKEDITOR.NODE_ELEMENT?e?d.getChild(e-1):null:d.getPrevious();this._.guardRTL=function(a,b){return(!b||!u.equals(a))&&(!y||!a.equals(y))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var v=a?this._.guardRTL:this._.guardLTR;g=l?function(a,b){return!1===v(a,b)?!1:l(a,b)}:v;this.current?f=this.current[J](!1,r,g):(a?f.type==CKEDITOR.NODE_ELEMENT&&
+(f=0<D?f.getChild(D-1):!1===g(f,!0)?null:f.getPreviousSourceNode(!0,r,g)):(f=d,f.type==CKEDITOR.NODE_ELEMENT&&((f=f.getChild(e))||(f=!1===g(d,!0)?null:d.getNextSourceNode(!0,r,g)))),f&&!1===g(f)&&(f=null));for(;f&&!this._.end;){this.current=f;if(!this.evaluator||!1!==this.evaluator(f)){if(!b)return f}else if(b&&this.evaluator)return!1;f=f[J](!1,r,g)}this.end();return this.current=null}function d(b){for(var c,f=null;c=a.call(this,b);)f=c;return f}CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=
 a;this._={}},proto:{end:function(){this._.end=1},next:function(){return a.call(this)},previous:function(){return a.call(this,1)},checkForward:function(){return!1!==a.call(this,0,1)},checkBackward:function(){return!1!==a.call(this,1,1)},lastForward:function(){return d.call(this)},lastBackward:function(){return d.call(this,1)},reset:function(){delete this.current;this._={}}}});var b={block:1,"list-item":1,table:1,"table-row-group":1,"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1,
 "table-column":1,"table-cell":1,"table-caption":1},c={absolute:1,fixed:1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(a){return"none"!=this.getComputedStyle("float")||this.getComputedStyle("position")in c||!b[this.getComputedStyle("display")]?!!(this.is(CKEDITOR.dtd.$block)||a&&this.is(a)):!0};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}};CKEDITOR.dom.walker.listItemBoundary=function(){return this.blockBoundary({br:1})};
 CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&a.getName&&"span"==a.getName()&&a.data("cke-bookmark")}return function(f){var d,e;d=f&&f.type!=CKEDITOR.NODE_ELEMENT&&(e=f.getParent())&&c(e);d=a?d:d||c(f);return!!(b^d)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE);return!!(a^c)}};CKEDITOR.dom.walker.invisible=
-function(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.env.webkit?1:0;return function(f){b(f)?f=1:(f.type==CKEDITOR.NODE_TEXT&&(f=f.getParent()),f=f.$.offsetWidth<=c);return!!(a^f)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!g(a)&&!k(a)}return function(c){var f=CKEDITOR.env.needsBrFiller?c.is&&c.is("br"):c.getText&&e.test(c.getText());f&&(f=c.getParent(),c=c.getNext(b),f=f.isBlockBoundary()&&
-(!c||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()));return!!(a^f)}};CKEDITOR.dom.walker.temp=function(a){return function(b){b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b=b&&b.hasAttribute("data-cke-temp");return!!(a^b)}};var e=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,g=CKEDITOR.dom.walker.whitespaces(),k=CKEDITOR.dom.walker.bookmark(),h=CKEDITOR.dom.walker.temp(),p=function(a){return k(a)||g(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$inline)&&!a.is(CKEDITOR.dtd.$empty)};CKEDITOR.dom.walker.ignored=
-function(a){return function(b){b=g(b)||k(b)||h(b);return!!(a^b)}};var r=CKEDITOR.dom.walker.ignored();CKEDITOR.dom.walker.empty=function(a){return function(b){for(var c=0,f=b.getChildCount();c<f;++c)if(!r(b.getChild(c)))return!!a;return!a}};var f=CKEDITOR.dom.walker.empty(),B=CKEDITOR.dom.walker.validEmptyBlockContainers=CKEDITOR.tools.extend(function(a){var b={},c;for(c in a)CKEDITOR.dtd[c]["#"]&&(b[c]=1);return b}(CKEDITOR.dtd.$block),{caption:1,td:1,th:1});CKEDITOR.dom.walker.editable=function(a){return function(b){b=
-r(b)?!1:b.type==CKEDITOR.NODE_TEXT||b.type==CKEDITOR.NODE_ELEMENT&&(b.is(CKEDITOR.dtd.$inline)||b.is("hr")||"false"==b.getAttribute("contenteditable")||!CKEDITOR.env.needsBrFiller&&b.is(B)&&f(b))?!0:!1;return!!(a^b)}};CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(p(a));return a&&(CKEDITOR.env.needsBrFiller?a.is&&a.is("br"):a.getText&&e.test(a.getText()))?a:!1}})();
+function(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.env.webkit?1:0;return function(f){b(f)?f=1:(f.type==CKEDITOR.NODE_TEXT&&(f=f.getParent()),f=f.$.offsetWidth<=c);return!!(a^f)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!g(a)&&!h(a)}return function(c){var f=CKEDITOR.env.needsBrFiller?c.is&&c.is("br"):c.getText&&e.test(c.getText());f&&(f=c.getParent(),c=c.getNext(b),f=f.isBlockBoundary()&&
+(!c||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()));return!!(a^f)}};CKEDITOR.dom.walker.temp=function(a){return function(b){b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b=b&&b.hasAttribute("data-cke-temp");return!!(a^b)}};var e=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,g=CKEDITOR.dom.walker.whitespaces(),h=CKEDITOR.dom.walker.bookmark(),k=CKEDITOR.dom.walker.temp(),n=function(a){return h(a)||g(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$inline)&&!a.is(CKEDITOR.dtd.$empty)};CKEDITOR.dom.walker.ignored=
+function(a){return function(b){b=g(b)||h(b)||k(b);return!!(a^b)}};var q=CKEDITOR.dom.walker.ignored();CKEDITOR.dom.walker.empty=function(a){return function(b){for(var c=0,f=b.getChildCount();c<f;++c)if(!q(b.getChild(c)))return!!a;return!a}};var f=CKEDITOR.dom.walker.empty(),D=CKEDITOR.dom.walker.validEmptyBlockContainers=CKEDITOR.tools.extend(function(a){var b={},c;for(c in a)CKEDITOR.dtd[c]["#"]&&(b[c]=1);return b}(CKEDITOR.dtd.$block),{caption:1,td:1,th:1});CKEDITOR.dom.walker.editable=function(a){return function(b){b=
+q(b)?!1:b.type==CKEDITOR.NODE_TEXT||b.type==CKEDITOR.NODE_ELEMENT&&(b.is(CKEDITOR.dtd.$inline)||b.is("hr")||"false"==b.getAttribute("contenteditable")||!CKEDITOR.env.needsBrFiller&&b.is(D)&&f(b))?!0:!1;return!!(a^b)}};CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(n(a));return a&&(CKEDITOR.env.needsBrFiller?a.is&&a.is("br"):a.getText&&e.test(a.getText()))?a:!1}})();
 CKEDITOR.dom.range=function(a){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=!0;var d=a instanceof CKEDITOR.dom.document;this.document=d?a:a.getDocument();this.root=d?a.getBody():a};
-(function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset}function d(a,b,c,d,e){function m(a,b,c,f){var d=c?a.getPrevious():a.getNext();if(f&&k)return d;l||f?b.append(a.clone(!0,e),c):(a.remove(),r&&b.append(a));return d}function g(){var a,b,c,f=Math.min(P.length,v.length);for(a=0;a<f;a++)if(b=P[a],c=v[a],!b.equals(c))return a;return a-1}function h(){var b=G-1,c=M&&H&&!q.equals(n);b<E-1||b<I-1||c?(c?a.moveToPosition(n,
-CKEDITOR.POSITION_BEFORE_START):I==b+1&&D?a.moveToPosition(v[b],CKEDITOR.POSITION_BEFORE_END):a.moveToPosition(v[b+1],CKEDITOR.POSITION_BEFORE_START),d&&(b=P[b+1])&&b.type==CKEDITOR.NODE_ELEMENT&&(c=CKEDITOR.dom.element.createFromHtml('\x3cspan data-cke-bookmark\x3d"1" style\x3d"display:none"\x3e\x26nbsp;\x3c/span\x3e',a.document),c.insertAfter(b),b.mergeSiblings(!1),a.moveToBookmark({startNode:c}))):a.collapse(!0)}a.optimizeBookmark();var k=0===b,r=1==b,l=2==b;b=l||r;var q=a.startContainer,n=a.endContainer,
-t=a.startOffset,A=a.endOffset,C,D,M,H,p,Q;if(l&&n.type==CKEDITOR.NODE_TEXT&&q.equals(n))q=a.document.createText(q.substring(t,A)),c.append(q);else{n.type==CKEDITOR.NODE_TEXT?l?Q=!0:n=n.split(A):0<n.getChildCount()?A>=n.getChildCount()?(n=n.getChild(A-1),D=!0):n=n.getChild(A):H=D=!0;q.type==CKEDITOR.NODE_TEXT?l?p=!0:q.split(t):0<q.getChildCount()?0===t?(q=q.getChild(t),C=!0):q=q.getChild(t-1):M=C=!0;for(var P=q.getParents(),v=n.getParents(),G=g(),E=P.length-1,I=v.length-1,K=c,L,Z,X,fa=-1,S=G;S<=E;S++){Z=
-P[S];X=Z.getNext();for(S!=E||Z.equals(v[S])&&E<I?b&&(L=K.append(Z.clone(0,e))):C?m(Z,K,!1,M):p&&K.append(a.document.createText(Z.substring(t)));X;){if(X.equals(v[S])){fa=S;break}X=m(X,K)}K=L}K=c;for(S=G;S<=I;S++)if(c=v[S],X=c.getPrevious(),c.equals(P[S]))b&&(K=K.getChild(0));else{S!=I||c.equals(P[S])&&I<E?b&&(L=K.append(c.clone(0,e))):D?m(c,K,!1,H):Q&&K.append(a.document.createText(c.substring(0,A)));if(S>fa)for(;X;)X=m(X,K,!0);K=L}l||h()}}function b(){var a=!1,b=CKEDITOR.dom.walker.whitespaces(),
-c=CKEDITOR.dom.walker.bookmark(!0),d=CKEDITOR.dom.walker.bogus();return function(e){return c(e)||b(e)?!0:d(e)&&!a?a=!0:e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&&!e.is(g)?!1:!0}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(d){return c(d)||b(d)?!0:!a&&k(d)||d.type==CKEDITOR.NODE_ELEMENT&&d.is(CKEDITOR.dtd.$removeEmpty)}}function e(a){return function(){var b;return this[a?
-"getPreviousNode":"getNextNode"](function(a){!b&&r(a)&&(b=a);return p(a)&&!(k(a)&&a.equals(b))})}}var g={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},k=CKEDITOR.dom.walker.bogus(),h=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,p=CKEDITOR.dom.walker.editable(),r=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);
-a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset);this.collapsed=!0},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,2,b,!1,"undefined"==typeof a?!0:a);return b},deleteContents:function(a){this.collapsed||
-d(this,0,null,a)},extractContents:function(a,b){var c=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,1,c,a,"undefined"==typeof b?!0:b);return c},createBookmark:function(a){var b,c,d,e,m=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml("\x26nbsp;");a&&(d="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id",d+(m?"C":"S")));m||(c=b.clone(),c.setHtml("\x26nbsp;"),a&&c.setAttribute("id",d+"E"),e=this.clone(),
-e.collapse(),e.insertNode(c));e=this.clone();e.collapse(!0);e.insertNode(b);c?(this.setStartAfter(b),this.setEndBefore(c)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?d+(m?"C":"S"):b,endNode:a?d+"E":c,serializable:a,collapsed:m}},createBookmark2:function(){function a(b){var f=b.container,d=b.offset,e;e=f;var g=d;e=e.type!=CKEDITOR.NODE_ELEMENT||0===g||g==e.getChildCount()?0:e.getChild(g-1).type==CKEDITOR.NODE_TEXT&&e.getChild(g).type==CKEDITOR.NODE_TEXT;e&&(f=f.getChild(d-
-1),d=f.getLength());if(f.type==CKEDITOR.NODE_ELEMENT&&0<d){a:{for(e=f;d--;)if(g=e.getChild(d).getIndex(!0),0<=g){d=g;break a}d=-1}d+=1}if(f.type==CKEDITOR.NODE_TEXT){e=f;for(g=0;(e=e.getPrevious())&&e.type==CKEDITOR.NODE_TEXT;)g+=e.getText().replace(CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE,"").length;e=g;f.getText()?d+=e:(g=f.getPrevious(c),e?(d=e,f=g?g.getNext():f.getParent().getFirst()):(f=f.getParent(),d=g?g.getIndex(!0)+1:0))}b.container=f;b.offset=d}function b(a,c){var f=c.getCustomData("cke-fillingChar");
-if(f){var d=a.container;f.equals(d)&&(a.offset-=CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE.length,0>=a.offset&&(a.offset=d.getIndex(),a.container=d.getParent()))}}var c=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(c){var d=this.collapsed,e={container:this.startContainer,offset:this.startOffset},g={container:this.endContainer,offset:this.endOffset};c&&(a(e),b(e,this.root),d||(a(g),b(g,this.root)));return{start:e.container.getAddress(c),end:d?null:g.container.getAddress(c),
-startOffset:e.offset,endOffset:g.offset,normalized:c,collapsed:d,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,d=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(b,c);d?this.setEnd(d,a):this.collapse(!0)}else b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode,a=c?this.document.getById(a.endNode):a.endNode,this.setStartBefore(b),b.remove(),a?(this.setEndBefore(a),a.remove()):
-this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT)if(e=a.getChildCount(),e>c)a=a.getChild(c);else if(1>e)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}if(b.type==CKEDITOR.NODE_ELEMENT)if(e=b.getChildCount(),e>d)b=b.getChild(d).getPreviousSourceNode(!0);else if(1>e)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=
-b.lastChild;b=new CKEDITOR.dom.node(b)}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,d=this.endContainer,c=c.equals(d)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(d);return b&&!c.is?c.getParent():c},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):
-this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&b.is&&b.is("span")&&b.data("cke-bookmark")&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var c=this.startContainer,d=this.startOffset,e=this.collapsed;if((!a||
-e)&&c&&c.type==CKEDITOR.NODE_TEXT){if(d)if(d>=c.getLength())d=c.getIndex()+1,c=c.getParent();else{var m=c.split(d),d=c.getIndex()+1,c=c.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(m,this.endOffset-this.startOffset):c.equals(this.endContainer)&&(this.endOffset+=1)}else d=c.getIndex(),c=c.getParent();this.setStart(c,d);if(e){this.collapse(!0);return}}c=this.endContainer;d=this.endOffset;b||e||!c||c.type!=CKEDITOR.NODE_TEXT||(d?(d>=c.getLength()||c.split(d),d=c.getIndex()+1):
-d=c.getIndex(),c=c.getParent(),this.setEnd(c,d))},enlarge:function(a,b){function c(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var d=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var e=1;case CKEDITOR.ENLARGE_ELEMENT:var m=function(a,b){var c=new CKEDITOR.dom.range(h);c.setStart(a,b);c.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);var c=new CKEDITOR.dom.walker(c),f;for(c.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};f=
-c.next();){if(f.type!=CKEDITOR.NODE_TEXT)return!1;C=f!=a?f.getText():f.substring(b);if(d.test(C))return!1}return!0};if(this.collapsed)break;var g=this.getCommonAncestor(),h=this.root,k,r,l,q,n,t=!1,A,C;A=this.startContainer;var D=this.startOffset;A.type==CKEDITOR.NODE_TEXT?(D&&(A=!CKEDITOR.tools.trim(A.substring(0,D)).length&&A,t=!!A),A&&((q=A.getPrevious())||(l=A.getParent()))):(D&&(q=A.getChild(D-1)||A.getLast()),q||(l=A));for(l=c(l);l||q;){if(l&&!q){!n&&l.equals(g)&&(n=!0);if(e?l.isBlockBoundary():
-!h.contains(l))break;t&&"inline"==l.getComputedStyle("display")||(t=!1,n?k=l:this.setStartBefore(l));q=l.getPrevious()}for(;q;)if(A=!1,q.type==CKEDITOR.NODE_COMMENT)q=q.getPrevious();else{if(q.type==CKEDITOR.NODE_TEXT)C=q.getText(),d.test(C)&&(q=null),A=/[\s\ufeff]$/.test(C);else if((q.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||b&&q.is("br"))&&!q.data("cke-bookmark"))if(t&&CKEDITOR.dtd.$removeEmpty[q.getName()]){C=q.getText();if(d.test(C))q=null;else for(var D=q.$.getElementsByTagName("*"),M=0,H;H=
-D[M++];)if(!CKEDITOR.dtd.$removeEmpty[H.nodeName.toLowerCase()]){q=null;break}q&&(A=!!C.length)}else q=null;A&&(t?n?k=l:l&&this.setStartBefore(l):t=!0);if(q){A=q.getPrevious();if(!l&&!A){l=q;q=null;break}q=A}else l=null}l&&(l=c(l.getParent()))}A=this.endContainer;D=this.endOffset;l=q=null;n=t=!1;A.type==CKEDITOR.NODE_TEXT?CKEDITOR.tools.trim(A.substring(D)).length?t=!0:(t=!A.getLength(),D==A.getLength()?(q=A.getNext())||(l=A.getParent()):m(A,D)&&(l=A.getParent())):(q=A.getChild(D))||(l=A);for(;l||
-q;){if(l&&!q){!n&&l.equals(g)&&(n=!0);if(e?l.isBlockBoundary():!h.contains(l))break;t&&"inline"==l.getComputedStyle("display")||(t=!1,n?r=l:l&&this.setEndAfter(l));q=l.getNext()}for(;q;){A=!1;if(q.type==CKEDITOR.NODE_TEXT)C=q.getText(),m(q,0)||(q=null),A=/^[\s\ufeff]/.test(C);else if(q.type==CKEDITOR.NODE_ELEMENT){if((0<q.$.offsetWidth||b&&q.is("br"))&&!q.data("cke-bookmark"))if(t&&CKEDITOR.dtd.$removeEmpty[q.getName()]){C=q.getText();if(d.test(C))q=null;else for(D=q.$.getElementsByTagName("*"),M=
-0;H=D[M++];)if(!CKEDITOR.dtd.$removeEmpty[H.nodeName.toLowerCase()]){q=null;break}q&&(A=!!C.length)}else q=null}else A=1;A&&t&&(n?r=l:this.setEndAfter(l));if(q){A=q.getNext();if(!l&&!A){l=q;q=null;break}q=A}else l=null}l&&(l=c(l.getParent()))}k&&r&&(g=k.contains(r)?r:k,this.setStartBefore(g),this.setEndAfter(g));break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:l=new CKEDITOR.dom.range(this.root);h=this.root;l.setStartAt(h,CKEDITOR.POSITION_AFTER_START);l.setEnd(this.startContainer,
-this.startOffset);l=new CKEDITOR.dom.walker(l);var p,Q,P=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),v=null,G=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&"false"==a.getAttribute("contenteditable"))if(v){if(v.equals(a)){v=null;return}}else v=a;else if(v)return;var b=P(a);b||(p=a);return b},e=function(a){var b=G(a);!b&&a.is&&a.is("br")&&(Q=a);return b};l.guard=G;l=l.lastBackward();p=p||h;this.setStartAt(p,!p.is("br")&&(!l&&this.checkStartOfBlock()||l&&p.contains(l))?
-CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){l=this.clone();l=new CKEDITOR.dom.walker(l);var E=CKEDITOR.dom.walker.whitespaces(),I=CKEDITOR.dom.walker.bookmark();l.evaluator=function(a){return!E(a)&&!I(a)};if((l=l.previous())&&l.type==CKEDITOR.NODE_ELEMENT&&l.is("br"))break}l=this.clone();l.collapse();l.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);l=new CKEDITOR.dom.walker(l);l.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?e:G;p=v=Q=null;l=l.lastForward();
-p=p||h;this.setEndAt(p,!l&&this.checkEndOfBlock()||l&&p.contains(l)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);Q&&this.setEndAfter(Q)}},shrink:function(a,b,c){if(!this.collapsed){a=a||CKEDITOR.SHRINK_TEXT;var d=this.clone(),e=this.startContainer,m=this.endContainer,g=this.startOffset,h=this.endOffset,k=1,r=1;e&&e.type==CKEDITOR.NODE_TEXT&&(g?g>=e.getLength()?d.setStartAfter(e):(d.setStartBefore(e),k=0):d.setStartBefore(e));m&&m.type==CKEDITOR.NODE_TEXT&&(h?h>=m.getLength()?d.setEndAfter(m):
-(d.setEndAfter(m),r=0):d.setEndBefore(m));var d=new CKEDITOR.dom.walker(d),l=CKEDITOR.dom.walker.bookmark();d.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var q;d.guard=function(b,d){if(l(b))return!0;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||d&&b.equals(q)||!1===c&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return!1;d||b.type!=CKEDITOR.NODE_ELEMENT||
-(q=b);return!0};k&&(e=d[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(e,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);r&&(d.reset(),(d=d[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(d,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END));return!(!k&&!r)}},insertNode:function(a){this.optimizeBookmark();this.trim(!1,!0);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&
-this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex(),b=b.getParent());this._setStartContainer(b);this.startOffset=
-c;this.endContainer||(this._setEndContainer(b),this.endOffset=c);a(this)},setEnd:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex()+1,b=b.getParent());this._setEndContainer(b);this.endOffset=c;this.startContainer||(this._setStartContainer(b),this.startOffset=c);a(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),
-a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setStart(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setStart(b,b.getLength()):this.setStart(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(b)}a(this)},setEndAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setEnd(b,
-0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setEnd(b,b.getLength()):this.setEnd(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(b)}a(this)},fixBlock:function(a,b){var c=this.createBookmark(),d=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(d);d.trim();this.insertNode(d);var e=d.getBogus();e&&e.remove();
-d.appendBogus();this.moveToBookmark(c);return d},splitBlock:function(a,b){var c=new CKEDITOR.dom.elementPath(this.startContainer,this.root),d=new CKEDITOR.dom.elementPath(this.endContainer,this.root),e=c.block,m=d.block,g=null;if(!c.blockLimit.equals(d.blockLimit))return null;"br"!=a&&(e||(e=this.fixBlock(!0,a),m=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block),m||(m=this.fixBlock(!1,a)));c=e&&this.checkStartOfBlock();d=m&&this.checkEndOfBlock();this.deleteContents();e&&e.equals(m)&&
-(d?(g=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(m,CKEDITOR.POSITION_AFTER_END),m=null):c?(g=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e=null):(m=this.splitElement(e,b||!1),e.is("ul","ol")||e.appendBogus()));return{previousBlock:e,nextBlock:m,wasStartOfBlock:c,wasEndOfBlock:d,elementPath:g}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);
-var c=this.extractContents(!1,b||!1),d=a.clone(!1,b||!1);c.appendTo(d);d.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return d},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)||c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()||d.is("table")&&a.is("caption")?!1:!0}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!1);return function(b){for(var c=this.createBookmark(),d=this[b?"endPath":"startPath"](),e=d.block||
-d.blockLimit,g;e&&!e.equals(d.root)&&!e.getFirst(a(e));)g=e.getParent(),this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END),e.remove(1),e=g;this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,e=this.clone();e.collapse(d);e[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:
-CKEDITOR.POSITION_BEFORE_END);e=new CKEDITOR.dom.walker(e);e.evaluator=c(d);return e[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,c)),h.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root);c=this.clone();c.collapse(!0);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);
-a.evaluator=b();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,c=this.endOffset;CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.rtrim(a.substring(c)),h.test(a)&&this.trim(1,0));this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(!1);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();
-d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==CKEDITOR.NODE_ELEMENT){if("false"==b.getAttribute("contentEditable")&&!b.data("cke-editable"))return 0;if(b.is("html")||
-"true"==b.getAttribute("contentEditable")&&(b.contains(c)||b.equals(c)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START),!0;for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&h.test(a.getText())?this.moveToPosition(a,
-CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),c=1;else if(b&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),
-!0;var d=a,e=c,m=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(!1)&&(m=d[b?"getLast":"getFirst"](r));e||m||(m=d[b?"getPrevious":"getNext"](r));a=m}return!!c},moveToClosestEditablePosition:function(a,b){var c,d=0,e,m,g=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(c=new CKEDITOR.dom.range(this.root),c.moveToPosition(a,g[b?0:1])):c=this.clone();if(a&&!a.is(CKEDITOR.dtd.$block))d=1;else if(e=c[b?"getNextEditableNode":"getPreviousEditableNode"]())d=1,(m=e.type==CKEDITOR.NODE_ELEMENT)&&
-e.is(CKEDITOR.dtd.$block)&&"false"==e.getAttribute("contenteditable")?(c.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),c.setEndAt(e,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&m&&e.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(c.setEnd(e,0),c.collapse()):c.moveToPosition(e,g[b?1:0]);d&&this.moveToRange(c);return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=
-this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(!1,!0),c=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=
-this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:e(),getPreviousEditableNode:e(1),scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),b,c,d,e=this.clone();e.optimize();(d=e.startContainer.type==CKEDITOR.NODE_TEXT)?(c=e.startContainer.getText(),b=e.startContainer.split(e.startOffset),a.insertAfter(e.startContainer)):e.insertNode(a);a.scrollIntoView();
-d&&(e.startContainer.setText(c),b.remove());a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a},_find:function(a,b){var c=this.getCommonAncestor(),d=this.getBoundaryNodes(),e=[],m,g,h,k;if(c&&c.find)for(g=c.find(a),m=0;m<g.count();m++)if(c=g.getItem(m),b||!c.isReadOnly())h=c.getPosition(d.startNode)&CKEDITOR.POSITION_FOLLOWING||d.startNode.equals(c),k=c.getPosition(d.endNode)&CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IS_CONTAINED,
-h&&k&&e.push(c);return e}}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;"use strict";
-(function(){function a(a){1>arguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._||(this._={}))}function d(a){var b=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function b(a,c,e,g){a:{null==g&&(g=d(e));for(var h;h=g.shift();)if(h.getDtd().p){g={element:h,remaining:g};break a}g=null}if(!g)return 0;if((h=CKEDITOR.filter.instances[g.element.data("cke-filter")])&&!h.check(c))return b(a,
-c,e,g.remaining);c=new CKEDITOR.dom.range(g.element);c.selectNodeContents(g.element);c=c.createIterator();c.enlargeBr=a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=h;a._.nestedEditable={element:g.element,container:e,remaining:g.remaining,iterator:c};return 1}function c(a,b,c){if(!b)return!1;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(b,c?CKEDITOR.START:CKEDITOR.END)}var e=/^[\r\n\t ]+$/,g=CKEDITOR.dom.walker.bookmark(!1,!0),k=CKEDITOR.dom.walker.whitespaces(!0),
-h=function(a){return g(a)&&k(a)},p={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var d,k,u,z,y;a=a||"p";if(this._.nestedEditable){if(d=this._.nestedEditable.iterator.getNextParagraph(a))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,d;this.activeFilter=this.filter;if(b(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(a);this._.nestedEditable=
-null}if(!this.range.root.getDtd()[a])return null;if(!this._.started){var m=this.range.clone();k=m.startPath();var x=m.endPath(),J=!m.collapsed&&c(m,k.block),w=!m.collapsed&&c(m,x.block,1);m.shrink(CKEDITOR.SHRINK_ELEMENT,!0);J&&m.setStartAt(k.block,CKEDITOR.POSITION_BEFORE_END);w&&m.setEndAt(x.block,CKEDITOR.POSITION_AFTER_START);k=m.endContainer.hasAscendant("pre",!0)||m.startContainer.hasAscendant("pre",!0);m.enlarge(this.forceBrBreak&&!k||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);
-m.collapsed||(k=new CKEDITOR.dom.walker(m.clone()),x=CKEDITOR.dom.walker.bookmark(!0,!0),k.evaluator=x,this._.nextNode=k.next(),k=new CKEDITOR.dom.walker(m.clone()),k.evaluator=x,k=k.previous(),this._.lastNode=k.getNextSourceNode(!0,null,m.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(x=this.range.clone(),x.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),x.checkEndOfBlock()&&
-(x=new CKEDITOR.dom.elementPath(x.endContainer,x.root),this._.lastNode=(x.block||x.blockLimit).getNextSourceNode(!0))),this._.lastNode&&m.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=m.document.createText(""),this._.lastNode.insertAfter(k)),m=null);this._.started=1;k=m}x=this._.nextNode;m=this._.lastNode;for(this._.nextNode=null;x;){var J=0,w=x.hasAscendant("pre"),F=x.type!=CKEDITOR.NODE_ELEMENT,l=0;if(F)x.type==CKEDITOR.NODE_TEXT&&e.test(x.getText())&&(F=0);else{var q=x.getName();
-if(CKEDITOR.dtd.$block[q]&&"false"==x.getAttribute("contenteditable")){d=x;b(this,a,d);break}else if(x.isBlockBoundary(this.forceBrBreak&&!w&&{br:1})){if("br"==q)F=1;else if(!k&&!x.getChildCount()&&"hr"!=q){d=x;u=x.equals(m);break}k&&(k.setEndAt(x,CKEDITOR.POSITION_BEFORE_START),"br"!=q&&(this._.nextNode=x));J=1}else{if(x.getFirst()){k||(k=this.range.clone(),k.setStartAt(x,CKEDITOR.POSITION_BEFORE_START));x=x.getFirst();continue}F=1}}F&&!k&&(k=this.range.clone(),k.setStartAt(x,CKEDITOR.POSITION_BEFORE_START));
-u=(!J||F)&&x.equals(m);if(k&&!J)for(;!x.getNext(h)&&!u;){q=x.getParent();if(q.isBlockBoundary(this.forceBrBreak&&!w&&{br:1})){J=1;F=0;u||q.equals(m);k.setEndAt(q,CKEDITOR.POSITION_BEFORE_END);break}x=q;F=1;u=x.equals(m);l=1}F&&k.setEndAt(x,CKEDITOR.POSITION_AFTER_END);x=this._getNextSourceNode(x,l,m);if((u=!x)||J&&k)break}if(!d){if(!k)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;d=new CKEDITOR.dom.elementPath(k.startContainer,k.root);x=d.blockLimit;J={div:1,th:1,td:1};
-d=d.block;!d&&x&&!this.enforceRealBlocks&&J[x.getName()]&&k.checkStartOfBlock()&&k.checkEndOfBlock()&&!x.equals(k.root)?d=x:!d||this.enforceRealBlocks&&d.is(p)?(d=this.range.document.createElement(a),k.extractContents().appendTo(d),d.trim(),k.insertNode(d),z=y=!0):"li"!=d.getName()?k.checkStartOfBlock()&&k.checkEndOfBlock()||(d=d.clone(!1),k.extractContents().appendTo(d),d.trim(),y=k.splitBlock(),z=!y.wasStartOfBlock,y=!y.wasEndOfBlock,k.insertNode(d)):u||(this._.nextNode=d.equals(m)?null:this._getNextSourceNode(k.getBoundaryNodes().endNode,
-1,m))}z&&(z=d.getPrevious())&&z.type==CKEDITOR.NODE_ELEMENT&&("br"==z.getName()?z.remove():z.getLast()&&"br"==z.getLast().$.nodeName.toLowerCase()&&z.getLast().remove());y&&(z=d.getLast())&&z.type==CKEDITOR.NODE_ELEMENT&&"br"==z.getName()&&(!CKEDITOR.env.needsBrFiller||z.getPrevious(g)||z.getNext(g))&&z.remove();this._.nextNode||(this._.nextNode=u||d.equals(m)||!m?null:this._getNextSourceNode(d,1,m));return d},_getNextSourceNode:function(a,b,c){function d(a){return!(a.equals(c)||a.equals(e))}var e=
+(function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset}function d(a,b,c,d,e){function g(a,b,c,f){var X=c?a.getPrevious():a.getNext();if(f&&h)return X;l||f?b.append(a.clone(!0,e),c):(a.remove(),q&&b.append(a,c));return X}function m(){var a,b,c,f=Math.min(O.length,p.length);for(a=0;a<f;a++)if(b=O[a],c=p[a],!b.equals(c))return a;return a-1}function k(){var b=C-1,c=v&&B&&!r.equals(J);b<t-1||b<F-1||c?(c?a.moveToPosition(J,
+CKEDITOR.POSITION_BEFORE_START):F==b+1&&y?a.moveToPosition(p[b],CKEDITOR.POSITION_BEFORE_END):a.moveToPosition(p[b+1],CKEDITOR.POSITION_BEFORE_START),d&&(b=O[b+1])&&b.type==CKEDITOR.NODE_ELEMENT&&(c=CKEDITOR.dom.element.createFromHtml('\x3cspan data-cke-bookmark\x3d"1" style\x3d"display:none"\x3e\x26nbsp;\x3c/span\x3e',a.document),c.insertAfter(b),b.mergeSiblings(!1),a.moveToBookmark({startNode:c}))):a.collapse(!0)}a.optimizeBookmark();var h=0===b,q=1==b,l=2==b;b=l||q;var r=a.startContainer,J=a.endContainer,
+H=a.startOffset,E=a.endOffset,u,y,v,B,L,n;if(l&&J.type==CKEDITOR.NODE_TEXT&&(r.equals(J)||r.type===CKEDITOR.NODE_ELEMENT&&r.getFirst().equals(J)))c.append(a.document.createText(J.substring(H,E)));else{J.type==CKEDITOR.NODE_TEXT?l?n=!0:J=J.split(E):0<J.getChildCount()?E>=J.getChildCount()?(J=J.getChild(E-1),y=!0):J=J.getChild(E):B=y=!0;r.type==CKEDITOR.NODE_TEXT?l?L=!0:r.split(H):0<r.getChildCount()?0===H?(r=r.getChild(H),u=!0):r=r.getChild(H-1):v=u=!0;for(var O=r.getParents(),p=J.getParents(),C=m(),
+t=O.length-1,F=p.length-1,N=c,X,Y,U,ea=-1,P=C;P<=t;P++){Y=O[P];U=Y.getNext();for(P!=t||Y.equals(p[P])&&t<F?b&&(X=N.append(Y.clone(0,e))):u?g(Y,N,!1,v):L&&N.append(a.document.createText(Y.substring(H)));U;){if(U.equals(p[P])){ea=P;break}U=g(U,N)}N=X}N=c;for(P=C;P<=F;P++)if(c=p[P],U=c.getPrevious(),c.equals(O[P]))b&&(N=N.getChild(0));else{P!=F||c.equals(O[P])&&F<t?b&&(X=N.append(c.clone(0,e))):y?g(c,N,!1,B):n&&N.append(a.document.createText(c.substring(0,E)));if(P>ea)for(;U;)U=g(U,N,!0);N=X}l||k()}}
+function b(){var a=!1,b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!0),d=CKEDITOR.dom.walker.bogus();return function(e){return c(e)||b(e)?!0:d(e)&&!a?a=!0:e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&&!e.is(g)?!1:!0}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(d){return c(d)||b(d)?!0:!a&&h(d)||d.type==CKEDITOR.NODE_ELEMENT&&d.is(CKEDITOR.dtd.$removeEmpty)}}
+function e(a){return function(){var b;return this[a?"getPreviousNode":"getNextNode"](function(a){!b&&q(a)&&(b=a);return n(a)&&!(h(a)&&a.equals(b))})}}var g={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},h=CKEDITOR.dom.walker.bogus(),k=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,n=CKEDITOR.dom.walker.editable(),q=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype={clone:function(){var a=
+new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset);this.collapsed=!0},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||
+d(this,2,b,!1,"undefined"==typeof a?!0:a);return b},deleteContents:function(a){this.collapsed||d(this,0,null,a)},extractContents:function(a,b){var c=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,1,c,a,"undefined"==typeof b?!0:b);return c},createBookmark:function(a){var b,c,d,e,g=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml("\x26nbsp;");a&&(d="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id",
+d+(g?"C":"S")));g||(c=b.clone(),c.setHtml("\x26nbsp;"),a&&c.setAttribute("id",d+"E"),e=this.clone(),e.collapse(),e.insertNode(c));e=this.clone();e.collapse(!0);e.insertNode(b);c?(this.setStartAfter(b),this.setEndBefore(c)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?d+(g?"C":"S"):b,endNode:a?d+"E":c,serializable:a,collapsed:g}},createBookmark2:function(){function a(b){var f=b.container,d=b.offset,e;e=f;var g=d;e=e.type!=CKEDITOR.NODE_ELEMENT||0===g||g==e.getChildCount()?
+0:e.getChild(g-1).type==CKEDITOR.NODE_TEXT&&e.getChild(g).type==CKEDITOR.NODE_TEXT;e&&(f=f.getChild(d-1),d=f.getLength());if(f.type==CKEDITOR.NODE_ELEMENT&&0<d){a:{for(e=f;d--;)if(g=e.getChild(d).getIndex(!0),0<=g){d=g;break a}d=-1}d+=1}if(f.type==CKEDITOR.NODE_TEXT){e=f;for(g=0;(e=e.getPrevious())&&e.type==CKEDITOR.NODE_TEXT;)g+=e.getText().replace(CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE,"").length;e=g;f.getText()?d+=e:(g=f.getPrevious(c),e?(d=e,f=g?g.getNext():f.getParent().getFirst()):(f=
+f.getParent(),d=g?g.getIndex(!0)+1:0))}b.container=f;b.offset=d}function b(a,c){var f=c.getCustomData("cke-fillingChar");if(f){var d=a.container;f.equals(d)&&(a.offset-=CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE.length,0>=a.offset&&(a.offset=d.getIndex(),a.container=d.getParent()))}}var c=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(c){var d=this.collapsed,e={container:this.startContainer,offset:this.startOffset},m={container:this.endContainer,offset:this.endOffset};c&&(a(e),
+b(e,this.root),d||(a(m),b(m,this.root)));return{start:e.container.getAddress(c),end:d?null:m.container.getAddress(c),startOffset:e.offset,endOffset:m.offset,normalized:c,collapsed:d,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,d=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(b,c);d?this.setEnd(d,a):this.collapse(!0)}else b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode,
+a=c?this.document.getById(a.endNode):a.endNode,this.setStartBefore(b),b.remove(),a?(this.setEndBefore(a),a.remove()):this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT)if(e=a.getChildCount(),e>c)a=a.getChild(c);else if(1>e)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}if(b.type==CKEDITOR.NODE_ELEMENT)if(e=b.getChildCount(),
+e>d)b=b.getChild(d).getPreviousSourceNode(!0);else if(1>e)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,d=this.endContainer,c=c.equals(d)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(d);return b&&!c.is?c.getParent():c},optimize:function(){var a=
+this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&b.is&&b.is("span")&&b.data("cke-bookmark")&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},
+trim:function(a,b){var c=this.startContainer,d=this.startOffset,e=this.collapsed;if((!a||e)&&c&&c.type==CKEDITOR.NODE_TEXT){if(d)if(d>=c.getLength())d=c.getIndex()+1,c=c.getParent();else{var g=c.split(d),d=c.getIndex()+1,c=c.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(g,this.endOffset-this.startOffset):c.equals(this.endContainer)&&(this.endOffset+=1)}else d=c.getIndex(),c=c.getParent();this.setStart(c,d);if(e){this.collapse(!0);return}}c=this.endContainer;d=this.endOffset;
+b||e||!c||c.type!=CKEDITOR.NODE_TEXT||(d?(d>=c.getLength()||c.split(d),d=c.getIndex()+1):d=c.getIndex(),c=c.getParent(),this.setEnd(c,d))},enlarge:function(a,b){function c(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var d=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var e=1;case CKEDITOR.ENLARGE_ELEMENT:var g=function(a,b){var c=new CKEDITOR.dom.range(k);c.setStart(a,b);c.setEndAt(k,CKEDITOR.POSITION_BEFORE_END);var c=new CKEDITOR.dom.walker(c),
+f;for(c.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};f=c.next();){if(f.type!=CKEDITOR.NODE_TEXT)return!1;u=f!=a?f.getText():f.substring(b);if(d.test(u))return!1}return!0};if(this.collapsed)break;var m=this.getCommonAncestor(),k=this.root,h,q,l,r,J,H=!1,E,u;E=this.startContainer;var y=this.startOffset;E.type==CKEDITOR.NODE_TEXT?(y&&(E=!CKEDITOR.tools.trim(E.substring(0,y)).length&&E,H=!!E),E&&((r=E.getPrevious())||(l=E.getParent()))):(y&&(r=E.getChild(y-1)||E.getLast()),
+r||(l=E));for(l=c(l);l||r;){if(l&&!r){!J&&l.equals(m)&&(J=!0);if(e?l.isBlockBoundary():!k.contains(l))break;H&&"inline"==l.getComputedStyle("display")||(H=!1,J?h=l:this.setStartBefore(l));r=l.getPrevious()}for(;r;)if(E=!1,r.type==CKEDITOR.NODE_COMMENT)r=r.getPrevious();else{if(r.type==CKEDITOR.NODE_TEXT)u=r.getText(),d.test(u)&&(r=null),E=/[\s\ufeff]$/.test(u);else if((r.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||b&&r.is("br"))&&!r.data("cke-bookmark"))if(H&&CKEDITOR.dtd.$removeEmpty[r.getName()]){u=
+r.getText();if(d.test(u))r=null;else for(var y=r.$.getElementsByTagName("*"),v=0,B;B=y[v++];)if(!CKEDITOR.dtd.$removeEmpty[B.nodeName.toLowerCase()]){r=null;break}r&&(E=!!u.length)}else r=null;E&&(H?J?h=l:l&&this.setStartBefore(l):H=!0);if(r){E=r.getPrevious();if(!l&&!E){l=r;r=null;break}r=E}else l=null}l&&(l=c(l.getParent()))}E=this.endContainer;y=this.endOffset;l=r=null;J=H=!1;E.type==CKEDITOR.NODE_TEXT?CKEDITOR.tools.trim(E.substring(y)).length?H=!0:(H=!E.getLength(),y==E.getLength()?(r=E.getNext())||
+(l=E.getParent()):g(E,y)&&(l=E.getParent())):(r=E.getChild(y))||(l=E);for(;l||r;){if(l&&!r){!J&&l.equals(m)&&(J=!0);if(e?l.isBlockBoundary():!k.contains(l))break;H&&"inline"==l.getComputedStyle("display")||(H=!1,J?q=l:l&&this.setEndAfter(l));r=l.getNext()}for(;r;){E=!1;if(r.type==CKEDITOR.NODE_TEXT)u=r.getText(),g(r,0)||(r=null),E=/^[\s\ufeff]/.test(u);else if(r.type==CKEDITOR.NODE_ELEMENT){if((0<r.$.offsetWidth||b&&r.is("br"))&&!r.data("cke-bookmark"))if(H&&CKEDITOR.dtd.$removeEmpty[r.getName()]){u=
+r.getText();if(d.test(u))r=null;else for(y=r.$.getElementsByTagName("*"),v=0;B=y[v++];)if(!CKEDITOR.dtd.$removeEmpty[B.nodeName.toLowerCase()]){r=null;break}r&&(E=!!u.length)}else r=null}else E=1;E&&H&&(J?q=l:this.setEndAfter(l));if(r){E=r.getNext();if(!l&&!E){l=r;r=null;break}r=E}else l=null}l&&(l=c(l.getParent()))}h&&q&&(m=h.contains(q)?q:h,this.setStartBefore(m),this.setEndAfter(m));break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:l=new CKEDITOR.dom.range(this.root);
+k=this.root;l.setStartAt(k,CKEDITOR.POSITION_AFTER_START);l.setEnd(this.startContainer,this.startOffset);l=new CKEDITOR.dom.walker(l);var L,n,O=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),p=null,C=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&"false"==a.getAttribute("contenteditable"))if(p){if(p.equals(a)){p=null;return}}else p=a;else if(p)return;var b=O(a);b||(L=a);return b},e=function(a){var b=C(a);!b&&a.is&&a.is("br")&&(n=a);return b};l.guard=C;l=l.lastBackward();
+L=L||k;this.setStartAt(L,!L.is("br")&&(!l&&this.checkStartOfBlock()||l&&L.contains(l))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){l=this.clone();l=new CKEDITOR.dom.walker(l);var t=CKEDITOR.dom.walker.whitespaces(),F=CKEDITOR.dom.walker.bookmark();l.evaluator=function(a){return!t(a)&&!F(a)};if((l=l.previous())&&l.type==CKEDITOR.NODE_ELEMENT&&l.is("br"))break}l=this.clone();l.collapse();l.setEndAt(k,CKEDITOR.POSITION_BEFORE_END);l=new CKEDITOR.dom.walker(l);
+l.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?e:C;L=p=n=null;l=l.lastForward();L=L||k;this.setEndAt(L,!l&&this.checkEndOfBlock()||l&&L.contains(l)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);n&&this.setEndAfter(n)}},shrink:function(a,b,c){var d="boolean"===typeof c?c:c&&"boolean"===typeof c.shrinkOnBlockBoundary?c.shrinkOnBlockBoundary:!0,e=c&&c.skipBogus;if(!this.collapsed){a=a||CKEDITOR.SHRINK_TEXT;var g=this.clone(),m=this.startContainer,k=this.endContainer,h=this.startOffset,
+q=this.endOffset,l=c=1;m&&m.type==CKEDITOR.NODE_TEXT&&(h?h>=m.getLength()?g.setStartAfter(m):(g.setStartBefore(m),c=0):g.setStartBefore(m));k&&k.type==CKEDITOR.NODE_TEXT&&(q?q>=k.getLength()?g.setEndAfter(k):(g.setEndAfter(k),l=0):g.setEndBefore(k));var g=new CKEDITOR.dom.walker(g),r=CKEDITOR.dom.walker.bookmark(),J=CKEDITOR.dom.walker.bogus();g.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var H;g.guard=function(b,c){if(e&&J(b)||r(b))return!0;
+if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||c&&b.equals(H)||!1===d&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return!1;c||b.type!=CKEDITOR.NODE_ELEMENT||(H=b);return!0};c&&(m=g[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(m,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);l&&(g.reset(),(g=g[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(g,b?CKEDITOR.POSITION_BEFORE_END:
+CKEDITOR.POSITION_AFTER_END));return!(!c&&!l)}},insertNode:function(a){this.optimizeBookmark();this.trim(!1,!0);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,
+0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex(),b=b.getParent());this._setStartContainer(b);this.startOffset=c;this.endContainer||(this._setEndContainer(b),this.endOffset=c);a(this)},setEnd:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex()+1,b=b.getParent());this._setEndContainer(b);this.endOffset=c;this.startContainer||
+(this._setStartContainer(b),this.startOffset=c);a(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setStart(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setStart(b,
+b.getLength()):this.setStart(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(b)}a(this)},setEndAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setEnd(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setEnd(b,b.getLength()):this.setEnd(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(b)}a(this)},
+fixBlock:function(a,b){var c=this.createBookmark(),d=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(d);d.trim();this.insertNode(d);var e=d.getBogus();e&&e.remove();d.appendBogus();this.moveToBookmark(c);return d},splitBlock:function(a,b){var c=new CKEDITOR.dom.elementPath(this.startContainer,this.root),d=new CKEDITOR.dom.elementPath(this.endContainer,this.root),e=c.block,g=d.block,m=null;if(!c.blockLimit.equals(d.blockLimit))return null;
+"br"!=a&&(e||(e=this.fixBlock(!0,a),g=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block),g||(g=this.fixBlock(!1,a)));c=e&&this.checkStartOfBlock();d=g&&this.checkEndOfBlock();this.deleteContents();e&&e.equals(g)&&(d?(m=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(g,CKEDITOR.POSITION_AFTER_END),g=null):c?(m=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e=null):(g=this.splitElement(e,
+b||!1),e.is("ul","ol")||e.appendBogus()));return{previousBlock:e,nextBlock:g,wasStartOfBlock:c,wasEndOfBlock:d,elementPath:m}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var c=this.extractContents(!1,b||!1),d=a.clone(!1,b||!1);c.appendTo(d);d.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return d},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)||c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()||
+d.is("table")&&a.is("caption")?!1:!0}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!1);return function(b){for(var c=this.createBookmark(),d=this[b?"endPath":"startPath"](),e=d.block||d.blockLimit,g;e&&!e.equals(d.root)&&!e.getFirst(a(e));)g=e.getParent(),this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END),e.remove(1),e=g;this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,
+this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,e=this.clone();e.collapse(d);e[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);e=new CKEDITOR.dom.walker(e);e.evaluator=c(d);return e[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,c)),k.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,
+this.root);c=this.clone();c.collapse(!0);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,c=this.endOffset;CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.rtrim(a.substring(c)),k.test(a)&&this.trim(1,0));this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(!1);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END);
+a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==
+CKEDITOR.NODE_ELEMENT){if("false"==b.getAttribute("contentEditable")&&!b.data("cke-editable"))return 0;if(b.is("html")||"true"==b.getAttribute("contentEditable")&&(b.contains(c)||b.equals(c)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START),
+!0;for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&k.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),c=1;else if(b&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);
+else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var d=a,e=c,g=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(!1)&&(g=d[b?"getLast":"getFirst"](q));e||g||(g=d[b?"getPrevious":"getNext"](q));a=g}return!!c},moveToClosestEditablePosition:function(a,b){var c,d=0,e,g,m=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(c=new CKEDITOR.dom.range(this.root),c.moveToPosition(a,m[b?0:1])):c=this.clone();if(a&&
+!a.is(CKEDITOR.dtd.$block))d=1;else if(e=c[b?"getNextEditableNode":"getPreviousEditableNode"]())d=1,(g=e.type==CKEDITOR.NODE_ELEMENT)&&e.is(CKEDITOR.dtd.$block)&&"false"==e.getAttribute("contenteditable")?(c.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),c.setEndAt(e,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&g&&e.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(c.setEnd(e,0),c.collapse()):c.moveToPosition(e,m[b?1:0]);d&&this.moveToRange(c);return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},
+moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(!1,!0),c=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=this.startContainer;
+return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:e(),getPreviousEditableNode:e(1),_getTableElement:function(a){a=a||{td:1,th:1,tr:1,tbody:1,thead:1,tfoot:1,table:1};var b=this.startContainer,c=this.endContainer,d=b.getAscendant("table",!0),e=c.getAscendant("table",!0);return CKEDITOR.env.safari&&d&&c.equals(this.root)?
+b.getAscendant(a,!0):this.getEnclosedNode()?this.getEnclosedNode().getAscendant(a,!0):d&&e&&(d.equals(e)||d.contains(e)||e.contains(d))?b.getAscendant(a,!0):null},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),b,c,d,e=this.clone();e.optimize();(d=e.startContainer.type==CKEDITOR.NODE_TEXT)?(c=e.startContainer.getText(),b=e.startContainer.split(e.startOffset),a.insertAfter(e.startContainer)):e.insertNode(a);a.scrollIntoView();
+d&&(e.startContainer.setText(c),b.remove());a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a},_find:function(a,b){var c=this.getCommonAncestor(),d=this.getBoundaryNodes(),e=[],g,m,k,h;if(c&&c.find)for(m=c.find(a),g=0;g<m.count();g++)if(c=m.getItem(g),b||!c.isReadOnly())k=c.getPosition(d.startNode)&CKEDITOR.POSITION_FOLLOWING||d.startNode.equals(c),h=c.getPosition(d.endNode)&CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IS_CONTAINED||
+d.endNode.equals(c),k&&h&&e.push(c);return e}};CKEDITOR.dom.range.mergeRanges=function(a){return CKEDITOR.tools.array.reduce(a,function(a,b){var c=a[a.length-1],d=!1;b=b.clone();b.enlarge(CKEDITOR.ENLARGE_ELEMENT);if(c){var e=new CKEDITOR.dom.range(b.root),d=new CKEDITOR.dom.walker(e),f=CKEDITOR.dom.walker.whitespaces();e.setStart(c.endContainer,c.endOffset);e.setEnd(b.startContainer,b.startOffset);for(e=d.next();f(e)||b.endContainer.equals(e);)e=d.next();d=!e}d?c.setEnd(b.endContainer,b.endOffset):
+a.push(b);return a},[])}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;"use strict";
+(function(){function a(a){1>arguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._||(this._={}))}function d(a){var b=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function b(a,c,e,g){a:{null==g&&(g=d(e));for(var k;k=g.shift();)if(k.getDtd().p){g={element:k,remaining:g};break a}g=null}if(!g)return 0;if((k=CKEDITOR.filter.instances[g.element.data("cke-filter")])&&!k.check(c))return b(a,
+c,e,g.remaining);c=new CKEDITOR.dom.range(g.element);c.selectNodeContents(g.element);c=c.createIterator();c.enlargeBr=a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=k;a._.nestedEditable={element:g.element,container:e,remaining:g.remaining,iterator:c};return 1}function c(a,b,c){if(!b)return!1;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(b,c?CKEDITOR.START:CKEDITOR.END)}var e=/^[\r\n\t ]+$/,g=CKEDITOR.dom.walker.bookmark(!1,!0),h=CKEDITOR.dom.walker.whitespaces(!0),
+k=function(a){return g(a)&&h(a)},n={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var d,h,w,A,G;a=a||"p";if(this._.nestedEditable){if(d=this._.nestedEditable.iterator.getNextParagraph(a))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,d;this.activeFilter=this.filter;if(b(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(a);this._.nestedEditable=
+null}if(!this.range.root.getDtd()[a])return null;if(!this._.started){var x=this.range.clone();h=x.startPath();var m=x.endPath(),K=!x.collapsed&&c(x,h.block),z=!x.collapsed&&c(x,m.block,1);x.shrink(CKEDITOR.SHRINK_ELEMENT,!0);K&&x.setStartAt(h.block,CKEDITOR.POSITION_BEFORE_END);z&&x.setEndAt(m.block,CKEDITOR.POSITION_AFTER_START);h=x.endContainer.hasAscendant("pre",!0)||x.startContainer.hasAscendant("pre",!0);x.enlarge(this.forceBrBreak&&!h||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);
+x.collapsed||(h=new CKEDITOR.dom.walker(x.clone()),m=CKEDITOR.dom.walker.bookmark(!0,!0),h.evaluator=m,this._.nextNode=h.next(),h=new CKEDITOR.dom.walker(x.clone()),h.evaluator=m,h=h.previous(),this._.lastNode=h.getNextSourceNode(!0,null,x.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(m=this.range.clone(),m.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),m.checkEndOfBlock()&&
+(m=new CKEDITOR.dom.elementPath(m.endContainer,m.root),this._.lastNode=(m.block||m.blockLimit).getNextSourceNode(!0))),this._.lastNode&&x.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=x.document.createText(""),this._.lastNode.insertAfter(h)),x=null);this._.started=1;h=x}m=this._.nextNode;x=this._.lastNode;for(this._.nextNode=null;m;){var K=0,z=m.hasAscendant("pre"),I=m.type!=CKEDITOR.NODE_ELEMENT,l=0;if(I)m.type==CKEDITOR.NODE_TEXT&&e.test(m.getText())&&(I=0);else{var r=m.getName();
+if(CKEDITOR.dtd.$block[r]&&"false"==m.getAttribute("contenteditable")){d=m;b(this,a,d);break}else if(m.isBlockBoundary(this.forceBrBreak&&!z&&{br:1})){if("br"==r)I=1;else if(!h&&!m.getChildCount()&&"hr"!=r){d=m;w=m.equals(x);break}h&&(h.setEndAt(m,CKEDITOR.POSITION_BEFORE_START),"br"!=r&&(this._.nextNode=m));K=1}else{if(m.getFirst()){h||(h=this.range.clone(),h.setStartAt(m,CKEDITOR.POSITION_BEFORE_START));m=m.getFirst();continue}I=1}}I&&!h&&(h=this.range.clone(),h.setStartAt(m,CKEDITOR.POSITION_BEFORE_START));
+w=(!K||I)&&m.equals(x);if(h&&!K)for(;!m.getNext(k)&&!w;){r=m.getParent();if(r.isBlockBoundary(this.forceBrBreak&&!z&&{br:1})){K=1;I=0;w||r.equals(x);h.setEndAt(r,CKEDITOR.POSITION_BEFORE_END);break}m=r;I=1;w=m.equals(x);l=1}I&&h.setEndAt(m,CKEDITOR.POSITION_AFTER_END);m=this._getNextSourceNode(m,l,x);if((w=!m)||K&&h)break}if(!d){if(!h)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;d=new CKEDITOR.dom.elementPath(h.startContainer,h.root);m=d.blockLimit;K={div:1,th:1,td:1};
+d=d.block;!d&&m&&!this.enforceRealBlocks&&K[m.getName()]&&h.checkStartOfBlock()&&h.checkEndOfBlock()&&!m.equals(h.root)?d=m:!d||this.enforceRealBlocks&&d.is(n)?(d=this.range.document.createElement(a),h.extractContents().appendTo(d),d.trim(),h.insertNode(d),A=G=!0):"li"!=d.getName()?h.checkStartOfBlock()&&h.checkEndOfBlock()||(d=d.clone(!1),h.extractContents().appendTo(d),d.trim(),G=h.splitBlock(),A=!G.wasStartOfBlock,G=!G.wasEndOfBlock,h.insertNode(d)):w||(this._.nextNode=d.equals(x)?null:this._getNextSourceNode(h.getBoundaryNodes().endNode,
+1,x))}A&&(A=d.getPrevious())&&A.type==CKEDITOR.NODE_ELEMENT&&("br"==A.getName()?A.remove():A.getLast()&&"br"==A.getLast().$.nodeName.toLowerCase()&&A.getLast().remove());G&&(A=d.getLast())&&A.type==CKEDITOR.NODE_ELEMENT&&"br"==A.getName()&&(!CKEDITOR.env.needsBrFiller||A.getPrevious(g)||A.getNext(g))&&A.remove();this._.nextNode||(this._.nextNode=w||d.equals(x)||!x?null:this._getNextSourceNode(d,1,x));return d},_getNextSourceNode:function(a,b,c){function d(a){return!(a.equals(c)||a.equals(e))}var e=
 this.range.root;for(a=a.getNextSourceNode(b,null,d);!g(a);)a=a.getNextSourceNode(b,null,d);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}})();
 CKEDITOR.command=function(a,d){this.uiItems=[];this.exec=function(b){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&a.focus();return!1===this.fire("exec")?!0:!1!==d.exec.call(this,a,b)};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return!0;if(this.context&&!b.isContextFor(this.context)||!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&&this.disable();return!1===this.fire("refresh",
 {editor:a,path:b})?!0:d.refresh&&!1!==d.refresh.apply(this,arguments)};var b;this.checkAllowed=function(c){return c||"boolean"!=typeof b?b=a.activeFilter.checkFeature(this):b};CKEDITOR.tools.extend(this,d,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!d.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)};
 CKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(this.preserveState&&"undefined"!=typeof this.previousState?this.previousState:CKEDITOR.TRISTATE_OFF)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||a!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return!1;this.previousState=this.state;this.state=a;this.fire("state");return!0},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?
 this.setState(CKEDITOR.TRISTATE_ON):this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3;
 CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"\x3c!DOCTYPE html\x3e",bodyId:"",bodyClass:"",fullPage:!1,height:200,contentsCss:CKEDITOR.getUrl("contents.css"),extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]};
-(function(){function a(a,b,c,d,l){var e,q;a=[];for(e in b){q=b[e];q="boolean"==typeof q?{}:"function"==typeof q?{match:q}:M(q);"$"!=e.charAt(0)&&(q.elements=e);c&&(q.featureName=c.toLowerCase());var n=q;n.elements=k(n.elements,/\s+/)||null;n.propertiesOnly=n.propertiesOnly||!0===n.elements;var f=/\s*,\s*/,t=void 0;for(t in Q){n[t]=k(n[t],f)||null;var m=n,g=P[t],E=k(n[P[t]],f),v=n[t],A=[],I=!0,C=void 0;E?I=!1:E={};for(C in v)"!"==C.charAt(0)&&(C=C.slice(1),A.push(C),E[C]=!0,I=!1);for(;C=A.pop();)v[C]=
-v["!"+C],delete v["!"+C];m[g]=(I?!1:E)||null}n.match=n.match||null;d.push(q);a.push(q)}b=l.elements;l=l.generic;var h;c=0;for(d=a.length;c<d;++c){e=M(a[c]);q=!0===e.classes||!0===e.styles||!0===e.attributes;n=e;t=g=f=void 0;for(f in Q)n[f]=J(n[f]);m=!0;for(t in P){f=P[t];g=n[f];E=[];v=void 0;for(v in g)-1<v.indexOf("*")?E.push(new RegExp("^"+v.replace(/\*/g,".*")+"$")):E.push(v);g=E;g.length&&(n[f]=g,m=!1)}n.nothingRequired=m;n.noProperties=!(n.attributes||n.classes||n.styles);if(!0===e.elements||
-null===e.elements)l[q?"unshift":"push"](e);else for(h in n=e.elements,delete e.elements,n)if(b[h])b[h][q?"unshift":"push"](e);else b[h]=[e]}}function d(a,c,d,l){if(!a.match||a.match(c))if(l||h(a,c))if(a.propertiesOnly||(d.valid=!0),d.allAttributes||(d.allAttributes=b(a.attributes,c.attributes,d.validAttributes)),d.allStyles||(d.allStyles=b(a.styles,c.styles,d.validStyles)),!d.allClasses){a=a.classes;c=c.classes;l=d.validClasses;if(a)if(!0===a)a=!0;else{for(var e=0,q=c.length,n;e<q;++e)n=c[e],l[n]||
-(l[n]=a(n));a=!1}else a=!1;d.allClasses=a}}function b(a,b,c){if(!a)return!1;if(!0===a)return!0;for(var d in b)c[d]||(c[d]=a(d));return!1}function c(a,b,c){if(!a.match||a.match(b)){if(a.noProperties)return!1;c.hadInvalidAttribute=e(a.attributes,b.attributes)||c.hadInvalidAttribute;c.hadInvalidStyle=e(a.styles,b.styles)||c.hadInvalidStyle;a=a.classes;b=b.classes;if(a){for(var d=!1,l=!0===a,q=b.length;q--;)if(l||a(b[q]))b.splice(q,1),d=!0;a=d}else a=!1;c.hadInvalidClass=a||c.hadInvalidClass}}function e(a,
-b){if(!a)return!1;var c=!1,d=!0===a,l;for(l in b)if(d||a(l))delete b[l],c=!0;return c}function g(a,b,c){if(a.disabled||a.customConfig&&!c||!b)return!1;a._.cachedChecks={};return!0}function k(a,b){if(!a)return!1;if(!0===a)return a;if("string"==typeof a)return a=H(a),"*"==a?!0:CKEDITOR.tools.convertArrayToObject(a.split(b));if(CKEDITOR.tools.isArray(a))return a.length?CKEDITOR.tools.convertArrayToObject(a):!1;var c={},d=0,l;for(l in a)c[l]=a[l],d++;return d?c:!1}function h(a,b){if(a.nothingRequired)return!0;
-var c,d,l,e;if(l=a.requiredClasses)for(e=b.classes,c=0;c<l.length;++c)if(d=l[c],"string"==typeof d){if(-1==CKEDITOR.tools.indexOf(e,d))return!1}else if(!CKEDITOR.tools.checkIfAnyArrayItemMatches(e,d))return!1;return p(b.styles,a.requiredStyles)&&p(b.attributes,a.requiredAttributes)}function p(a,b){if(!b)return!0;for(var c=0,d;c<b.length;++c)if(d=b[c],"string"==typeof d){if(!(d in a))return!1}else if(!CKEDITOR.tools.checkIfAnyObjectPropertyMatches(a,d))return!1;return!0}function r(a){if(!a)return{};
-a=a.split(/\s*,\s*/).sort();for(var b={};a.length;)b[a.shift()]="cke-test";return b}function f(a){var b,c,d,l,e={},q=1;for(a=H(a);b=a.match(v);)(c=b[2])?(d=B(c,"styles"),l=B(c,"attrs"),c=B(c,"classes")):d=l=c=null,e["$"+q++]={elements:b[1],classes:c,styles:d,attributes:l},a=a.slice(b[0].length);return e}function B(a,b){var c=a.match(G[b]);return c?H(c[1]):null}function u(a){var b=a.styleBackup=a.attributes.style,c=a.classBackup=a.attributes["class"];a.styles||(a.styles=CKEDITOR.tools.parseCssText(b||
-"",1));a.classes||(a.classes=c?c.split(/\s+/):[])}function z(a,b,l,e){var n=0,f;e.toHtml&&(b.name=b.name.replace(E,"$1"));if(e.doCallbacks&&a.elementCallbacks){a:{f=a.elementCallbacks;for(var t=0,g=f.length,v;t<g;++t)if(v=f[t](b)){f=v;break a}f=void 0}if(f)return f}if(e.doTransform&&(f=a._.transformations[b.name])){u(b);for(t=0;t<f.length;++t)q(a,b,f[t]);m(b)}if(e.doFilter){a:{t=b.name;g=a._;a=g.allowedRules.elements[t];f=g.allowedRules.generic;t=g.disallowedRules.elements[t];g=g.disallowedRules.generic;
-v=e.skipRequired;var A={valid:!1,validAttributes:{},validClasses:{},validStyles:{},allAttributes:!1,allClasses:!1,allStyles:!1,hadInvalidAttribute:!1,hadInvalidClass:!1,hadInvalidStyle:!1},k,C;if(a||f){u(b);if(t)for(k=0,C=t.length;k<C;++k)if(!1===c(t[k],b,A)){a=null;break a}if(g)for(k=0,C=g.length;k<C;++k)c(g[k],b,A);if(a)for(k=0,C=a.length;k<C;++k)d(a[k],b,A,v);if(f)for(k=0,C=f.length;k<C;++k)d(f[k],b,A,v);a=A}else a=null}if(!a||!a.valid)return l.push(b),1;C=a.validAttributes;var h=a.validStyles;
-f=a.validClasses;var t=b.attributes,M=b.styles,g=b.classes;v=b.classBackup;var K=b.styleBackup,G,D,p=[],A=[],H=/^data-cke-/;k=!1;delete t.style;delete t["class"];delete b.classBackup;delete b.styleBackup;if(!a.allAttributes)for(G in t)C[G]||(H.test(G)?G==(D=G.replace(/^data-cke-saved-/,""))||C[D]||(delete t[G],k=!0):(delete t[G],k=!0));if(!a.allStyles||a.hadInvalidStyle){for(G in M)a.allStyles||h[G]?p.push(G+":"+M[G]):k=!0;p.length&&(t.style=p.sort().join("; "))}else K&&(t.style=K);if(!a.allClasses||
-a.hadInvalidClass){for(G=0;G<g.length;++G)(a.allClasses||f[g[G]])&&A.push(g[G]);A.length&&(t["class"]=A.sort().join(" "));v&&A.length<v.split(/\s+/).length&&(k=!0)}else v&&(t["class"]=v);k&&(n=1);if(!e.skipFinalValidation&&!x(b))return l.push(b),1}e.toHtml&&(b.name=b.name.replace(I,"cke:$1"));return n}function y(a){var b=[],c;for(c in a)-1<c.indexOf("*")&&b.push(c.replace(/\*/g,".*"));return b.length?new RegExp("^(?:"+b.join("|")+")$"):null}function m(a){var b=a.attributes,c;delete b.style;delete b["class"];
-if(c=CKEDITOR.tools.writeCssText(a.styles,!0))b.style=c;a.classes.length&&(b["class"]=a.classes.sort().join(" "))}function x(a){switch(a.name){case "a":if(!(a.children.length||a.attributes.name||a.attributes.id))return!1;break;case "img":if(!a.attributes.src)return!1}return!0}function J(a){if(!a)return!1;if(!0===a)return!0;var b=y(a);return function(c){return c in a||b&&c.match(b)}}function w(){return new CKEDITOR.htmlParser.element("br")}function F(a){return a.type==CKEDITOR.NODE_ELEMENT&&("br"==
-a.name||D.$block[a.name])}function l(a,b,c){var d=a.name;if(D.$empty[d]||!a.children.length)"hr"==d&&"br"==b?a.replaceWith(w()):(a.parent&&c.push({check:"it",el:a.parent}),a.remove());else if(D.$block[d]||"tr"==d)if("br"==b)a.previous&&!F(a.previous)&&(b=w(),b.insertBefore(a)),a.next&&!F(a.next)&&(b=w(),b.insertAfter(a)),a.replaceWithChildren();else{var d=a.children,l;b:{l=D[b];for(var e=0,q=d.length,n;e<q;++e)if(n=d[e],n.type==CKEDITOR.NODE_ELEMENT&&!l[n.name]){l=!1;break b}l=!0}if(l)a.name=b,a.attributes=
-{},c.push({check:"parent-down",el:a});else{l=a.parent;for(var e=l.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||"body"==l.name,t,f,q=d.length;0<q;)n=d[--q],e&&(n.type==CKEDITOR.NODE_TEXT||n.type==CKEDITOR.NODE_ELEMENT&&D.$inline[n.name])?(t||(t=new CKEDITOR.htmlParser.element(b),t.insertAfter(a),c.push({check:"parent-down",el:t})),t.add(n,0)):(t=null,f=D[l.name]||D.span,n.insertAfter(a),l.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||n.type!=CKEDITOR.NODE_ELEMENT||f[n.name]||c.push({check:"el-up",el:n}));a.remove()}}else d in
-{style:1,script:1}?a.remove():(a.parent&&c.push({check:"it",el:a.parent}),a.replaceWithChildren())}function q(a,b,c){var d,l;for(d=0;d<c.length;++d)if(l=c[d],!(l.check&&!a.check(l.check,!1)||l.left&&!l.left(b))){l.right(b,K);break}}function n(a,b){var c=b.getDefinition(),d=c.attributes,l=c.styles,e,q,n,t;if(a.name!=c.element)return!1;for(e in d)if("class"==e)for(c=d[e].split(/\s+/),n=a.classes.join("|");t=c.pop();){if(-1==n.indexOf(t))return!1}else if(a.attributes[e]!=d[e])return!1;for(q in l)if(a.styles[q]!=
-l[q])return!1;return!0}function t(a,b){var c,d;"string"==typeof a?c=a:a instanceof CKEDITOR.style?d=a:(c=a[0],d=a[1]);return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function A(a){return function(b){return n(b,a)}}function C(a){return function(b,c){c[a](b)}}var D=CKEDITOR.dtd,M=CKEDITOR.tools.copy,H=CKEDITOR.tools.trim,R=["","p","br","div"];CKEDITOR.FILTER_SKIP_TREE=2;CKEDITOR.filter=function(a){this.allowedContent=[];this.disallowedContent=[];this.elementCallbacks=null;this.disabled=
-!1;this.editor=null;this.id=CKEDITOR.tools.getNextNumber();this._={allowedRules:{elements:{},generic:[]},disallowedRules:{elements:{},generic:[]},transformations:{},cachedTests:{}};CKEDITOR.filter.instances[this.id]=this;if(a instanceof CKEDITOR.editor){a=this.editor=a;this.customConfig=!0;var b=a.config.allowedContent;!0===b?this.disabled=!0:(b||(this.customConfig=!1),this.allow(b,"config",1),this.allow(a.config.extraAllowedContent,"extra",1),this.allow(R[a.enterMode]+" "+R[a.shiftEnterMode],"default",
-1),this.disallow(a.config.disallowedContent))}else this.customConfig=!1,this.allow(a,"default",1)};CKEDITOR.filter.instances={};CKEDITOR.filter.prototype={allow:function(b,c,d){if(!g(this,b,d))return!1;var l,e;if("string"==typeof b)b=f(b);else if(b instanceof CKEDITOR.style){if(b.toAllowedContentRules)return this.allow(b.toAllowedContentRules(this.editor),c,d);l=b.getDefinition();b={};d=l.attributes;b[l.element]=l={styles:l.styles,requiredStyles:l.styles&&CKEDITOR.tools.objectKeys(l.styles)};d&&(d=
-M(d),l.classes=d["class"]?d["class"].split(/\s+/):null,l.requiredClasses=l.classes,delete d["class"],l.attributes=d,l.requiredAttributes=d&&CKEDITOR.tools.objectKeys(d))}else if(CKEDITOR.tools.isArray(b)){for(l=0;l<b.length;++l)e=this.allow(b[l],c,d);return e}a(this,b,c,this.allowedContent,this._.allowedRules);return!0},applyTo:function(a,b,c,d){if(this.disabled)return!1;var e=this,q=[],n=this.editor&&this.editor.config.protectedSource,t,f=!1,g={doFilter:!c,doTransform:!0,doCallbacks:!0,toHtml:b};
-a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if("off"==a.attributes["data-cke-filter"])return!1;if(!b||"span"!=a.name||!~CKEDITOR.tools.objectKeys(a.attributes).join("|").indexOf("data-cke-"))if(t=z(e,a,q,g),t&1)f=!0;else if(t&2)return!1}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\{cke_protected\}(?!\{C\})/)){var c;a:{var d=decodeURIComponent(a.value.replace(/^\{cke_protected\}/,""));c=[];var l,m,E;if(n)for(m=0;m<n.length;++m)if((E=d.match(n[m]))&&E[0].length==d.length){c=!0;
-break a}d=CKEDITOR.htmlParser.fragment.fromHtml(d);1==d.children.length&&(l=d.children[0]).type==CKEDITOR.NODE_ELEMENT&&z(e,l,c,g);c=!c.length}c||q.push(a)}},null,!0);q.length&&(f=!0);var m;a=[];d=R[d||(this.editor?this.editor.enterMode:CKEDITOR.ENTER_P)];for(var E;c=q.pop();)c.type==CKEDITOR.NODE_ELEMENT?l(c,d,a):c.remove();for(;m=a.pop();)if(c=m.el,c.parent)switch(E=D[c.parent.name]||D.span,m.check){case "it":D.$removeEmpty[c.name]&&!c.children.length?l(c,d,a):x(c)||l(c,d,a);break;case "el-up":c.parent.type==
-CKEDITOR.NODE_DOCUMENT_FRAGMENT||E[c.name]||l(c,d,a);break;case "parent-down":c.parent.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||E[c.name]||l(c.parent,d,a)}return f},checkFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=!0},disallow:function(b){if(!g(this,b,!0))return!1;"string"==typeof b&&(b=f(b));a(this,b,null,this.disallowedContent,this._.disallowedRules);return!0},
-addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],l;for(b=0;b<a.length&&!l;++b)c=a[b],("string"==typeof c||c instanceof CKEDITOR.style)&&this.check(c)&&(l=c);if(l){for(b=0;b<a.length;++b)d.push(t(a[b],l));this.addTransformations(d)}}},addElementCallback:function(a){this.elementCallbacks||(this.elementCallbacks=[]);this.elementCallbacks.push(a)},addFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations);
-this.addContentForms(a.contentForms);return a.requiredContent&&(this.customConfig||this.disallowedContent.length)?this.check(a.requiredContent):!0},addTransformations:function(a){var b,c;if(!this.disabled&&a){var d=this._.transformations,l;for(l=0;l<a.length;++l){b=a[l];var e=void 0,q=void 0,n=void 0,t=void 0,f=void 0,g=void 0;c=[];for(q=0;q<b.length;++q)n=b[q],"string"==typeof n?(n=n.split(/\s*:\s*/),t=n[0],f=null,g=n[1]):(t=n.check,f=n.left,g=n.right),e||(e=n,e=e.element?e.element:t?t.match(/^([a-z0-9]+)/i)[0]:
-e.left.getDefinition().element),f instanceof CKEDITOR.style&&(f=A(f)),c.push({check:t==e?null:t,left:f,right:"string"==typeof g?C(g):g});b=e;d[b]||(d[b]=[]);d[b].push(c)}}},check:function(a,b,c){if(this.disabled)return!0;if(CKEDITOR.tools.isArray(a)){for(var d=a.length;d--;)if(this.check(a[d],b,c))return!0;return!1}var l,e;if("string"==typeof a){e=a+"\x3c"+(!1===b?"0":"1")+(c?"1":"0")+"\x3e";if(e in this._.cachedChecks)return this._.cachedChecks[e];d=f(a).$1;l=d.styles;var n=d.classes;d.name=d.elements;
-d.classes=n=n?n.split(/\s*,\s*/):[];d.styles=r(l);d.attributes=r(d.attributes);d.children=[];n.length&&(d.attributes["class"]=n.join(" "));l&&(d.attributes.style=CKEDITOR.tools.writeCssText(d.styles));l=d}else d=a.getDefinition(),l=d.styles,n=d.attributes||{},l&&!CKEDITOR.tools.isEmpty(l)?(l=M(l),n.style=CKEDITOR.tools.writeCssText(l,!0)):l={},l={name:d.element,attributes:n,classes:n["class"]?n["class"].split(/\s+/):[],styles:l,children:[]};var n=CKEDITOR.tools.clone(l),t=[],g;if(!1!==b&&(g=this._.transformations[l.name])){for(d=
-0;d<g.length;++d)q(this,l,g[d]);m(l)}z(this,n,t,{doFilter:!0,doTransform:!1!==b,skipRequired:!c,skipFinalValidation:!c});b=0<t.length?!1:CKEDITOR.tools.objectCompare(l.attributes,n.attributes,!0)?!0:!1;"string"==typeof a&&(this._.cachedChecks[e]=b);return b},getAllowedEnterMode:function(){var a=["p","div","br"],b={p:CKEDITOR.ENTER_P,div:CKEDITOR.ENTER_DIV,br:CKEDITOR.ENTER_BR};return function(c,d){var l=a.slice(),e;if(this.check(R[c]))return c;for(d||(l=l.reverse());e=l.pop();)if(this.check(e))return b[e];
-return CKEDITOR.ENTER_BR}}(),destroy:function(){delete CKEDITOR.filter.instances[this.id];delete this._;delete this.allowedContent;delete this.disallowedContent}};var Q={styles:1,attributes:1,classes:1},P={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},v=/^([a-z0-9\-*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,G={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,classes:/\(([^\)]+)\)/},E=/^cke:(object|embed|param)$/,
-I=/^(object|embed|param)$/,K;K=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a,"height")},sizeToAttribute:function(a){this.lengthToAttribute(a,"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];d&&(/^\d+$/.test(d)&&(d+="px"),a.styles[c]=d)}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],l=d&&d.match(/^(\d+)(?:\.\d*)?px$/);
-l?a.attributes[c]=l[1]:"cke-test"==d&&(a.attributes[c]="cke-test")}delete a.styles[b]},alignmentToStyle:function(a){if(!("float"in a.styles)){var b=a.attributes.align;if("left"==b||"right"==b)a.styles["float"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!("align"in a.attributes)){var b=a.styles["float"];if("left"==b||"right"==b)a.attributes.align=b}delete a.styles["float"]},splitBorderShorthand:function(a){function b(d){a.styles["border-top-width"]=c[d[0]];a.styles["border-right-width"]=
-c[d[1]];a.styles["border-bottom-width"]=c[d[2]];a.styles["border-left-width"]=c[d[3]]}if(a.styles.border){var c=a.styles.border.match(/([\.\d]+\w+)/g)||["0px"];switch(c.length){case 1:a.styles["border-width"]=c[0];break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}a.styles["border-style"]=a.styles["border-style"]||(a.styles.border.match(/(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|initial|inherit)/)||[])[0];a.styles["border-style"]||delete a.styles["border-style"];
-delete a.styles.border}},listTypeToStyle:function(a){if(a.attributes.type)switch(a.attributes.type){case "a":a.styles["list-style-type"]="lower-alpha";break;case "A":a.styles["list-style-type"]="upper-alpha";break;case "i":a.styles["list-style-type"]="lower-roman";break;case "I":a.styles["list-style-type"]="upper-roman";break;case "1":a.styles["list-style-type"]="decimal";break;default:a.styles["list-style-type"]=a.attributes.type}},splitMarginShorthand:function(a){function b(d){a.styles["margin-top"]=
-c[d[0]];a.styles["margin-right"]=c[d[1]];a.styles["margin-bottom"]=c[d[2]];a.styles["margin-left"]=c[d[3]]}if(a.styles.margin){var c=a.styles.margin.match(/(\-?[\.\d]+\w+)/g)||["0px"];switch(c.length){case 1:a.styles.margin=c[0];break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}delete a.styles.margin}},matchesStyle:n,transform:function(a,b){if("string"==typeof b)a.name=b;else{var c=b.getDefinition(),d=c.styles,l=c.attributes,e,q,n,t;a.name=c.element;for(e in l)if("class"==
-e)for(c=a.classes.join("|"),n=l[e].split(/\s+/);t=n.pop();)-1==c.indexOf(t)&&a.classes.push(t);else a.attributes[e]=l[e];for(q in d)a.styles[q]=d[q]}}}})();
+(function(){function a(a,b,c,d,e){var f,l;a=[];for(f in b){l=b[f];l="boolean"==typeof l?{}:"function"==typeof l?{match:l}:v(l);"$"!=f.charAt(0)&&(l.elements=f);c&&(l.featureName=c.toLowerCase());var t=l;t.elements=h(t.elements,/\s+/)||null;t.propertiesOnly=t.propertiesOnly||!0===t.elements;var u=/\s*,\s*/,g=void 0;for(g in V){t[g]=h(t[g],u)||null;var p=t,r=O[g],m=h(t[O[g]],u),F=t[g],y=[],B=!0,C=void 0;m?B=!1:m={};for(C in F)"!"==C.charAt(0)&&(C=C.slice(1),y.push(C),m[C]=!0,B=!1);for(;C=y.pop();)F[C]=
+F["!"+C],delete F["!"+C];p[r]=(B?!1:m)||null}t.match=t.match||null;d.push(l);a.push(l)}b=e.elements;e=e.generic;var k;c=0;for(d=a.length;c<d;++c){f=v(a[c]);l=!0===f.classes||!0===f.styles||!0===f.attributes;t=f;g=r=u=void 0;for(u in V)t[u]=K(t[u]);p=!0;for(g in O){u=O[g];r=t[u];m=[];F=void 0;for(F in r)-1<F.indexOf("*")?m.push(new RegExp("^"+F.replace(/\*/g,".*")+"$")):m.push(F);r=m;r.length&&(t[u]=r,p=!1)}t.nothingRequired=p;t.noProperties=!(t.attributes||t.classes||t.styles);if(!0===f.elements||
+null===f.elements)e[l?"unshift":"push"](f);else for(k in t=f.elements,delete f.elements,t)if(b[k])b[k][l?"unshift":"push"](f);else b[k]=[f]}}function d(a,c,d,e){if(!a.match||a.match(c))if(e||k(a,c))if(a.propertiesOnly||(d.valid=!0),d.allAttributes||(d.allAttributes=b(a.attributes,c.attributes,d.validAttributes)),d.allStyles||(d.allStyles=b(a.styles,c.styles,d.validStyles)),!d.allClasses){a=a.classes;c=c.classes;e=d.validClasses;if(a)if(!0===a)a=!0;else{for(var f=0,l=c.length,t;f<l;++f)t=c[f],e[t]||
+(e[t]=a(t));a=!1}else a=!1;d.allClasses=a}}function b(a,b,c){if(!a)return!1;if(!0===a)return!0;for(var d in b)c[d]||(c[d]=a(d));return!1}function c(a,b,c){if(!a.match||a.match(b)){if(a.noProperties)return!1;c.hadInvalidAttribute=e(a.attributes,b.attributes)||c.hadInvalidAttribute;c.hadInvalidStyle=e(a.styles,b.styles)||c.hadInvalidStyle;a=a.classes;b=b.classes;if(a){for(var d=!1,f=!0===a,t=b.length;t--;)if(f||a(b[t]))b.splice(t,1),d=!0;a=d}else a=!1;c.hadInvalidClass=a||c.hadInvalidClass}}function e(a,
+b){if(!a)return!1;var c=!1,d=!0===a,e;for(e in b)if(d||a(e))delete b[e],c=!0;return c}function g(a,b,c){if(a.disabled||a.customConfig&&!c||!b)return!1;a._.cachedChecks={};return!0}function h(a,b){if(!a)return!1;if(!0===a)return a;if("string"==typeof a)return a=B(a),"*"==a?!0:CKEDITOR.tools.convertArrayToObject(a.split(b));if(CKEDITOR.tools.isArray(a))return a.length?CKEDITOR.tools.convertArrayToObject(a):!1;var c={},d=0,e;for(e in a)c[e]=a[e],d++;return d?c:!1}function k(a,b){if(a.nothingRequired)return!0;
+var c,d,e,f;if(e=a.requiredClasses)for(f=b.classes,c=0;c<e.length;++c)if(d=e[c],"string"==typeof d){if(-1==CKEDITOR.tools.indexOf(f,d))return!1}else if(!CKEDITOR.tools.checkIfAnyArrayItemMatches(f,d))return!1;return n(b.styles,a.requiredStyles)&&n(b.attributes,a.requiredAttributes)}function n(a,b){if(!b)return!0;for(var c=0,d;c<b.length;++c)if(d=b[c],"string"==typeof d){if(!(d in a))return!1}else if(!CKEDITOR.tools.checkIfAnyObjectPropertyMatches(a,d))return!1;return!0}function q(a){if(!a)return{};
+a=a.split(/\s*,\s*/).sort();for(var b={};a.length;)b[a.shift()]="cke-test";return b}function f(a){var b,c,d,e,f={},t=1;for(a=B(a);b=a.match(p);)(c=b[2])?(d=D(c,"styles"),e=D(c,"attrs"),c=D(c,"classes")):d=e=c=null,f["$"+t++]={elements:b[1],classes:c,styles:d,attributes:e},a=a.slice(b[0].length);return f}function D(a,b){var c=a.match(C[b]);return c?B(c[1]):null}function w(a){var b=a.styleBackup=a.attributes.style,c=a.classBackup=a.attributes["class"];a.styles||(a.styles=CKEDITOR.tools.parseCssText(b||
+"",1));a.classes||(a.classes=c?c.split(/\s+/):[])}function A(a,b,e,f){var l=0,u;f.toHtml&&(b.name=b.name.replace(t,"$1"));if(f.doCallbacks&&a.elementCallbacks){a:{u=a.elementCallbacks;for(var v=0,g=u.length,p;v<g;++v)if(p=u[v](b)){u=p;break a}u=void 0}if(u)return u}if(f.doTransform&&(u=a._.transformations[b.name])){w(b);for(v=0;v<u.length;++v)r(a,b,u[v]);x(b)}if(f.doFilter){a:{v=b.name;g=a._;a=g.allowedRules.elements[v];u=g.allowedRules.generic;v=g.disallowedRules.elements[v];g=g.disallowedRules.generic;
+p=f.skipRequired;var y={valid:!1,validAttributes:{},validClasses:{},validStyles:{},allAttributes:!1,allClasses:!1,allStyles:!1,hadInvalidAttribute:!1,hadInvalidClass:!1,hadInvalidStyle:!1},B,C;if(a||u){w(b);if(v)for(B=0,C=v.length;B<C;++B)if(!1===c(v[B],b,y)){a=null;break a}if(g)for(B=0,C=g.length;B<C;++B)c(g[B],b,y);if(a)for(B=0,C=a.length;B<C;++B)d(a[B],b,y,p);if(u)for(B=0,C=u.length;B<C;++B)d(u[B],b,y,p);a=y}else a=null}if(!a||!a.valid)return e.push(b),1;C=a.validAttributes;var h=a.validStyles;
+u=a.validClasses;var v=b.attributes,k=b.styles,g=b.classes;p=b.classBackup;var J=b.styleBackup,H,N,E=[],y=[],O=/^data-cke-/;B=!1;delete v.style;delete v["class"];delete b.classBackup;delete b.styleBackup;if(!a.allAttributes)for(H in v)C[H]||(O.test(H)?H==(N=H.replace(/^data-cke-saved-/,""))||C[N]||(delete v[H],B=!0):(delete v[H],B=!0));if(!a.allStyles||a.hadInvalidStyle){for(H in k)a.allStyles||h[H]?E.push(H+":"+k[H]):B=!0;E.length&&(v.style=E.sort().join("; "))}else J&&(v.style=J);if(!a.allClasses||
+a.hadInvalidClass){for(H=0;H<g.length;++H)(a.allClasses||u[g[H]])&&y.push(g[H]);y.length&&(v["class"]=y.sort().join(" "));p&&y.length<p.split(/\s+/).length&&(B=!0)}else p&&(v["class"]=p);B&&(l=1);if(!f.skipFinalValidation&&!m(b))return e.push(b),1}f.toHtml&&(b.name=b.name.replace(F,"cke:$1"));return l}function G(a){var b=[],c;for(c in a)-1<c.indexOf("*")&&b.push(c.replace(/\*/g,".*"));return b.length?new RegExp("^(?:"+b.join("|")+")$"):null}function x(a){var b=a.attributes,c;delete b.style;delete b["class"];
+if(c=CKEDITOR.tools.writeCssText(a.styles,!0))b.style=c;a.classes.length&&(b["class"]=a.classes.sort().join(" "))}function m(a){switch(a.name){case "a":if(!(a.children.length||a.attributes.name||a.attributes.id))return!1;break;case "img":if(!a.attributes.src)return!1}return!0}function K(a){if(!a)return!1;if(!0===a)return!0;var b=G(a);return function(c){return c in a||b&&c.match(b)}}function z(){return new CKEDITOR.htmlParser.element("br")}function I(a){return a.type==CKEDITOR.NODE_ELEMENT&&("br"==
+a.name||y.$block[a.name])}function l(a,b,c){var d=a.name;if(y.$empty[d]||!a.children.length)"hr"==d&&"br"==b?a.replaceWith(z()):(a.parent&&c.push({check:"it",el:a.parent}),a.remove());else if(y.$block[d]||"tr"==d)if("br"==b)a.previous&&!I(a.previous)&&(b=z(),b.insertBefore(a)),a.next&&!I(a.next)&&(b=z(),b.insertAfter(a)),a.replaceWithChildren();else{var d=a.children,e;b:{e=y[b];for(var f=0,t=d.length,l;f<t;++f)if(l=d[f],l.type==CKEDITOR.NODE_ELEMENT&&!e[l.name]){e=!1;break b}e=!0}if(e)a.name=b,a.attributes=
+{},c.push({check:"parent-down",el:a});else{e=a.parent;for(var f=e.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||"body"==e.name,v,u,t=d.length;0<t;)l=d[--t],f&&(l.type==CKEDITOR.NODE_TEXT||l.type==CKEDITOR.NODE_ELEMENT&&y.$inline[l.name])?(v||(v=new CKEDITOR.htmlParser.element(b),v.insertAfter(a),c.push({check:"parent-down",el:v})),v.add(l,0)):(v=null,u=y[e.name]||y.span,l.insertAfter(a),e.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||l.type!=CKEDITOR.NODE_ELEMENT||u[l.name]||c.push({check:"el-up",el:l}));a.remove()}}else d in
+{style:1,script:1}?a.remove():(a.parent&&c.push({check:"it",el:a.parent}),a.replaceWithChildren())}function r(a,b,c){var d,e;for(d=0;d<c.length;++d)if(e=c[d],!(e.check&&!a.check(e.check,!1)||e.left&&!e.left(b))){e.right(b,N);break}}function J(a,b){var c=b.getDefinition(),d=c.attributes,e=c.styles,f,l,t,v;if(a.name!=c.element)return!1;for(f in d)if("class"==f)for(c=d[f].split(/\s+/),t=a.classes.join("|");v=c.pop();){if(-1==t.indexOf(v))return!1}else if(a.attributes[f]!=d[f])return!1;for(l in e)if(a.styles[l]!=
+e[l])return!1;return!0}function H(a,b){var c,d;"string"==typeof a?c=a:a instanceof CKEDITOR.style?d=a:(c=a[0],d=a[1]);return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function E(a){return function(b){return J(b,a)}}function u(a){return function(b,c){c[a](b)}}var y=CKEDITOR.dtd,v=CKEDITOR.tools.copy,B=CKEDITOR.tools.trim,L=["","p","br","div"];CKEDITOR.FILTER_SKIP_TREE=2;CKEDITOR.filter=function(a){this.allowedContent=[];this.disallowedContent=[];this.elementCallbacks=null;this.disabled=
+!1;this.editor=null;this.id=CKEDITOR.tools.getNextNumber();this._={allowedRules:{elements:{},generic:[]},disallowedRules:{elements:{},generic:[]},transformations:{},cachedTests:{},cachedChecks:{}};CKEDITOR.filter.instances[this.id]=this;if(a instanceof CKEDITOR.editor){a=this.editor=a;this.customConfig=!0;var b=a.config.allowedContent;!0===b?this.disabled=!0:(b||(this.customConfig=!1),this.allow(b,"config",1),this.allow(a.config.extraAllowedContent,"extra",1),this.allow(L[a.enterMode]+" "+L[a.shiftEnterMode],
+"default",1),this.disallow(a.config.disallowedContent))}else this.customConfig=!1,this.allow(a,"default",1)};CKEDITOR.filter.instances={};CKEDITOR.filter.prototype={allow:function(b,c,d){if(!g(this,b,d))return!1;var e,l;if("string"==typeof b)b=f(b);else if(b instanceof CKEDITOR.style){if(b.toAllowedContentRules)return this.allow(b.toAllowedContentRules(this.editor),c,d);e=b.getDefinition();b={};d=e.attributes;b[e.element]=e={styles:e.styles,requiredStyles:e.styles&&CKEDITOR.tools.objectKeys(e.styles)};
+d&&(d=v(d),e.classes=d["class"]?d["class"].split(/\s+/):null,e.requiredClasses=e.classes,delete d["class"],e.attributes=d,e.requiredAttributes=d&&CKEDITOR.tools.objectKeys(d))}else if(CKEDITOR.tools.isArray(b)){for(e=0;e<b.length;++e)l=this.allow(b[e],c,d);return l}a(this,b,c,this.allowedContent,this._.allowedRules);return!0},applyTo:function(a,b,c,d){if(this.disabled)return!1;var e=this,f=[],t=this.editor&&this.editor.config.protectedSource,v,u=!1,g={doFilter:!c,doTransform:!0,doCallbacks:!0,toHtml:b};
+a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if("off"==a.attributes["data-cke-filter"])return!1;if(!b||"span"!=a.name||!~CKEDITOR.tools.objectKeys(a.attributes).join("|").indexOf("data-cke-"))if(v=A(e,a,f,g),v&1)u=!0;else if(v&2)return!1}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\{cke_protected\}(?!\{C\})/)){var c;a:{var d=decodeURIComponent(a.value.replace(/^\{cke_protected\}/,""));c=[];var l,p,r;if(t)for(p=0;p<t.length;++p)if((r=d.match(t[p]))&&r[0].length==d.length){c=!0;
+break a}d=CKEDITOR.htmlParser.fragment.fromHtml(d);1==d.children.length&&(l=d.children[0]).type==CKEDITOR.NODE_ELEMENT&&A(e,l,c,g);c=!c.length}c||f.push(a)}},null,!0);f.length&&(u=!0);var p;a=[];d=L[d||(this.editor?this.editor.enterMode:CKEDITOR.ENTER_P)];for(var r;c=f.pop();)c.type==CKEDITOR.NODE_ELEMENT?l(c,d,a):c.remove();for(;p=a.pop();)if(c=p.el,c.parent)switch(r=y[c.parent.name]||y.span,p.check){case "it":y.$removeEmpty[c.name]&&!c.children.length?l(c,d,a):m(c)||l(c,d,a);break;case "el-up":c.parent.type==
+CKEDITOR.NODE_DOCUMENT_FRAGMENT||r[c.name]||l(c,d,a);break;case "parent-down":c.parent.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||r[c.name]||l(c.parent,d,a)}return u},checkFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=!0},disallow:function(b){if(!g(this,b,!0))return!1;"string"==typeof b&&(b=f(b));a(this,b,null,this.disallowedContent,this._.disallowedRules);return!0},
+addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],e;for(b=0;b<a.length&&!e;++b)c=a[b],("string"==typeof c||c instanceof CKEDITOR.style)&&this.check(c)&&(e=c);if(e){for(b=0;b<a.length;++b)d.push(H(a[b],e));this.addTransformations(d)}}},addElementCallback:function(a){this.elementCallbacks||(this.elementCallbacks=[]);this.elementCallbacks.push(a)},addFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations);
+this.addContentForms(a.contentForms);return a.requiredContent&&(this.customConfig||this.disallowedContent.length)?this.check(a.requiredContent):!0},addTransformations:function(a){var b,c;if(!this.disabled&&a){var d=this._.transformations,e;for(e=0;e<a.length;++e){b=a[e];var f=void 0,l=void 0,t=void 0,v=void 0,g=void 0,p=void 0;c=[];for(l=0;l<b.length;++l)t=b[l],"string"==typeof t?(t=t.split(/\s*:\s*/),v=t[0],g=null,p=t[1]):(v=t.check,g=t.left,p=t.right),f||(f=t,f=f.element?f.element:v?v.match(/^([a-z0-9]+)/i)[0]:
+f.left.getDefinition().element),g instanceof CKEDITOR.style&&(g=E(g)),c.push({check:v==f?null:v,left:g,right:"string"==typeof p?u(p):p});b=f;d[b]||(d[b]=[]);d[b].push(c)}}},check:function(a,b,c){if(this.disabled)return!0;if(CKEDITOR.tools.isArray(a)){for(var d=a.length;d--;)if(this.check(a[d],b,c))return!0;return!1}var e,l;if("string"==typeof a){l=a+"\x3c"+(!1===b?"0":"1")+(c?"1":"0")+"\x3e";if(l in this._.cachedChecks)return this._.cachedChecks[l];d=f(a).$1;e=d.styles;var t=d.classes;d.name=d.elements;
+d.classes=t=t?t.split(/\s*,\s*/):[];d.styles=q(e);d.attributes=q(d.attributes);d.children=[];t.length&&(d.attributes["class"]=t.join(" "));e&&(d.attributes.style=CKEDITOR.tools.writeCssText(d.styles));e=d}else d=a.getDefinition(),e=d.styles,t=d.attributes||{},e&&!CKEDITOR.tools.isEmpty(e)?(e=v(e),t.style=CKEDITOR.tools.writeCssText(e,!0)):e={},e={name:d.element,attributes:t,classes:t["class"]?t["class"].split(/\s+/):[],styles:e,children:[]};var t=CKEDITOR.tools.clone(e),u=[],g;if(!1!==b&&(g=this._.transformations[e.name])){for(d=
+0;d<g.length;++d)r(this,e,g[d]);x(e)}A(this,t,u,{doFilter:!0,doTransform:!1!==b,skipRequired:!c,skipFinalValidation:!c});b=0<u.length?!1:CKEDITOR.tools.objectCompare(e.attributes,t.attributes,!0)?!0:!1;"string"==typeof a&&(this._.cachedChecks[l]=b);return b},getAllowedEnterMode:function(){var a=["p","div","br"],b={p:CKEDITOR.ENTER_P,div:CKEDITOR.ENTER_DIV,br:CKEDITOR.ENTER_BR};return function(c,d){var e=a.slice(),f;if(this.check(L[c]))return c;for(d||(e=e.reverse());f=e.pop();)if(this.check(f))return b[f];
+return CKEDITOR.ENTER_BR}}(),clone:function(){var a=new CKEDITOR.filter,b=CKEDITOR.tools.clone;a.allowedContent=b(this.allowedContent);a._.allowedRules=b(this._.allowedRules);a.disallowedContent=b(this.disallowedContent);a._.disallowedRules=b(this._.disallowedRules);a._.transformations=b(this._.transformations);a.disabled=this.disabled;a.editor=this.editor;return a},destroy:function(){delete CKEDITOR.filter.instances[this.id];delete this._;delete this.allowedContent;delete this.disallowedContent}};
+var V={styles:1,attributes:1,classes:1},O={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},p=/^([a-z0-9\-*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,C={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,classes:/\(([^\)]+)\)/},t=/^cke:(object|embed|param)$/,F=/^(object|embed|param)$/,N;N=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a,"height")},sizeToAttribute:function(a){this.lengthToAttribute(a,
+"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];d&&(/^\d+$/.test(d)&&(d+="px"),a.styles[c]=d)}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],e=d&&d.match(/^(\d+)(?:\.\d*)?px$/);e?a.attributes[c]=e[1]:"cke-test"==d&&(a.attributes[c]="cke-test")}delete a.styles[b]},alignmentToStyle:function(a){if(!("float"in a.styles)){var b=a.attributes.align;if("left"==b||"right"==
+b)a.styles["float"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!("align"in a.attributes)){var b=a.styles["float"];if("left"==b||"right"==b)a.attributes.align=b}delete a.styles["float"]},splitBorderShorthand:function(a){function b(d){a.styles["border-top-width"]=c[d[0]];a.styles["border-right-width"]=c[d[1]];a.styles["border-bottom-width"]=c[d[2]];a.styles["border-left-width"]=c[d[3]]}if(a.styles.border){var c=a.styles.border.match(/([\.\d]+\w+)/g)||["0px"];switch(c.length){case 1:a.styles["border-width"]=
+c[0];break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}a.styles["border-style"]=a.styles["border-style"]||(a.styles.border.match(/(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|initial|inherit)/)||[])[0];a.styles["border-style"]||delete a.styles["border-style"];delete a.styles.border}},listTypeToStyle:function(a){if(a.attributes.type)switch(a.attributes.type){case "a":a.styles["list-style-type"]="lower-alpha";break;case "A":a.styles["list-style-type"]=
+"upper-alpha";break;case "i":a.styles["list-style-type"]="lower-roman";break;case "I":a.styles["list-style-type"]="upper-roman";break;case "1":a.styles["list-style-type"]="decimal";break;default:a.styles["list-style-type"]=a.attributes.type}},splitMarginShorthand:function(a){function b(d){a.styles["margin-top"]=c[d[0]];a.styles["margin-right"]=c[d[1]];a.styles["margin-bottom"]=c[d[2]];a.styles["margin-left"]=c[d[3]]}if(a.styles.margin){var c=a.styles.margin.match(/(\-?[\.\d]+\w+)/g)||["0px"];switch(c.length){case 1:b([0,
+0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}delete a.styles.margin}},matchesStyle:J,transform:function(a,b){if("string"==typeof b)a.name=b;else{var c=b.getDefinition(),d=c.styles,e=c.attributes,f,t,l,v;a.name=c.element;for(f in e)if("class"==f)for(c=a.classes.join("|"),l=e[f].split(/\s+/);v=l.pop();)-1==c.indexOf(v)&&a.classes.push(v);else a.attributes[f]=e[f];for(t in d)a.styles[t]=d[t]}}}})();
 (function(){CKEDITOR.focusManager=function(a){if(a.focusManager)return a.focusManager;this.hasFocus=!1;this.currentActive=null;this._={editor:a};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(a){this._.timer&&clearTimeout(this._.timer);a&&(this.currentActive=a);this.hasFocus||this._.locked||((a=CKEDITOR.currentInstance)&&a.focusManager.blur(1),this.hasFocus=!0,(a=this._.editor.container)&&a.addClass("cke_focus"),this._.editor.fire("focus"))},lock:function(){this._.locked=
-1},unlock:function(){delete this._.locked},blur:function(a){function d(){var a=this._.editor;this.hasFocus&&(this.hasFocus=!1,CKEDITOR.env.chrome&&a.editable().isInline()&&a.window.$.getSelection().removeAllRanges(),(a=this._.editor.container)&&a.removeClass("cke_focus"),this._.editor.fire("blur"))}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?d.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;d.call(this)},
-b,this)}},add:function(a,d){var b=a.getCustomData("focusmanager");if(!b||b!=this){b&&b.remove(a);var b="focus",c="blur";d&&(CKEDITOR.env.ie?(b="focusin",c="focusout"):CKEDITOR.event.useCapture=1);var e={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.focus(a)}};a.on(b,e.focus,this);a.on(c,e.blur,this);d&&(CKEDITOR.event.useCapture=0);a.setCustomData("focusmanager",this);a.setCustomData("focusmanager_handlers",e)}},remove:function(a){a.removeCustomData("focusmanager");
-var d=a.removeCustomData("focusmanager_handlers");a.removeListener("blur",d.blur);a.removeListener("focus",d.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this};
-(function(){var a,d=function(b){b=b.data;var d=b.getKeystroke(),g=this.keystrokes[d],k=this._.editor;a=!1===k.fire("key",{keyCode:d,domEvent:b});a||(g&&(a=!1!==k.execCommand(g,{from:"keystrokeHandler"})),a||(a=!!this.blockedKeystrokes[d]));a&&b.preventDefault(!0);return!a},b=function(b){a&&(a=!1,b.data.preventDefault(!0))};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on("keydown",d,this);if(CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on("keypress",b,this)}}})();
-(function(){CKEDITOR.lang={languages:{af:1,ar:1,az:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,oc:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(a,d,b){a&&CKEDITOR.lang.languages[a]||
+1},unlock:function(){delete this._.locked},blur:function(a){function d(){if(this.hasFocus){this.hasFocus=!1;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?d.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;d.call(this)},b,this)}},add:function(a,d){var b=a.getCustomData("focusmanager");if(!b||b!=this){b&&b.remove(a);var b=
+"focus",c="blur";d&&(CKEDITOR.env.ie?(b="focusin",c="focusout"):CKEDITOR.event.useCapture=1);var e={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.focus(a)}};a.on(b,e.focus,this);a.on(c,e.blur,this);d&&(CKEDITOR.event.useCapture=0);a.setCustomData("focusmanager",this);a.setCustomData("focusmanager_handlers",e)}},remove:function(a){a.removeCustomData("focusmanager");var d=a.removeCustomData("focusmanager_handlers");a.removeListener("blur",d.blur);a.removeListener("focus",
+d.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this};
+(function(){var a,d=function(b){b=b.data;var d=b.getKeystroke(),g=this.keystrokes[d],h=this._.editor;a=!1===h.fire("key",{keyCode:d,domEvent:b});a||(g&&(a=!1!==h.execCommand(g,{from:"keystrokeHandler"})),a||(a=!!this.blockedKeystrokes[d]));a&&b.preventDefault(!0);return!a},b=function(b){a&&(a=!1,b.data.preventDefault(!0))};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on("keydown",d,this);if(CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on("keypress",b,this)}}})();
+(function(){CKEDITOR.lang={languages:{af:1,ar:1,az:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,oc:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(a,d,b){a&&CKEDITOR.lang.languages[a]||
 (a=this.detect(d,a));var c=this;d=function(){c[a].dir=c.rtl[a]?"rtl":"ltr";b(a,c[a])};this[a]?d():CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+a+".js"),d,this)},detect:function(a,d){var b=this.languages;d=d||navigator.userLanguage||navigator.language||a;var c=d.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),e=c[1],c=c[2];b[e+"-"+c]?e=e+"-"+c:b[e]||(e=null);CKEDITOR.lang.detect=e?function(){return e}:function(a){return a};return e||a}}})();
-CKEDITOR.scriptLoader=function(){var a={},d={};return{load:function(b,c,e,g){var k="string"==typeof b;k&&(b=[b]);e||(e=CKEDITOR);var h=b.length,p=[],r=[],f=function(a){c&&(k?c.call(e,a):c.call(e,p,r))};if(0===h)f(!0);else{var B=function(a,b){(b?p:r).push(a);0>=--h&&(g&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),f(b))},u=function(b,c){a[b]=1;var e=d[b];delete d[b];for(var f=0;f<e.length;f++)e[f](b,c)},z=function(b){if(a[b])B(b,!0);else{var e=d[b]||(d[b]=[]);e.push(B);if(!(1<e.length)){var f=
-new CKEDITOR.dom.element("script");f.setAttributes({type:"text/javascript",src:b});c&&(CKEDITOR.env.ie&&(8>=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?f.$.onreadystatechange=function(){if("loaded"==f.$.readyState||"complete"==f.$.readyState)f.$.onreadystatechange=null,u(b,!0)}:(f.$.onload=function(){setTimeout(function(){u(b,!0)},0)},f.$.onerror=function(){u(b,!1)}));f.appendTo(CKEDITOR.document.getHead())}}};g&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var y=0;y<h;y++)z(b[y])}},
-queue:function(){function a(){var b;(b=c[0])&&this.load(b.scriptUrl,b.callback,CKEDITOR,0)}var c=[];return function(d,g){var k=this;c.push({scriptUrl:d,callback:function(){g&&g.apply(this,arguments);c.shift();a.call(k)}});1==c.length&&a.call(this)}}()}}();CKEDITOR.resourceManager=function(a,d){this.basePath=a;this.fileName=d;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}};
+CKEDITOR.scriptLoader=function(){var a={},d={};return{load:function(b,c,e,g){var h="string"==typeof b;h&&(b=[b]);e||(e=CKEDITOR);var k=b.length,n=[],q=[],f=function(a){c&&(h?c.call(e,a):c.call(e,n,q))};if(0===k)f(!0);else{var D=function(a,b){(b?n:q).push(a);0>=--k&&(g&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),f(b))},w=function(b,c){a[b]=1;var e=d[b];delete d[b];for(var f=0;f<e.length;f++)e[f](b,c)},A=function(b){if(a[b])D(b,!0);else{var e=d[b]||(d[b]=[]);e.push(D);if(!(1<e.length)){var f=
+new CKEDITOR.dom.element("script");f.setAttributes({type:"text/javascript",src:b});c&&(CKEDITOR.env.ie&&(8>=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?f.$.onreadystatechange=function(){if("loaded"==f.$.readyState||"complete"==f.$.readyState)f.$.onreadystatechange=null,w(b,!0)}:(f.$.onload=function(){setTimeout(function(){w(b,!0)},0)},f.$.onerror=function(){w(b,!1)}));f.appendTo(CKEDITOR.document.getHead())}}};g&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var G=0;G<k;G++)A(b[G])}},
+queue:function(){function a(){var b;(b=c[0])&&this.load(b.scriptUrl,b.callback,CKEDITOR,0)}var c=[];return function(d,g){var h=this;c.push({scriptUrl:d,callback:function(){g&&g.apply(this,arguments);c.shift();a.call(h)}});1==c.length&&a.call(this)}}()}}();CKEDITOR.resourceManager=function(a,d){this.basePath=a;this.fileName=d;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}};
 CKEDITOR.resourceManager.prototype={add:function(a,d){if(this.registered[a])throw Error('[CKEDITOR.resourceManager.add] The resource name "'+a+'" is already registered.');var b=this.registered[a]=d||{};b.name=a;b.path=this.getPath(a);CKEDITOR.fire(a+CKEDITOR.tools.capitalize(this.fileName)+"Ready",b);return this.get(a)},get:function(a){return this.registered[a]||null},getPath:function(a){var d=this.externals[a];return CKEDITOR.getUrl(d&&d.dir||this.basePath+a+"/")},getFilePath:function(a){var d=this.externals[a];
-return CKEDITOR.getUrl(this.getPath(a)+(d?d.file:this.fileName+".js"))},addExternal:function(a,d,b){a=a.split(",");for(var c=0;c<a.length;c++){var e=a[c];b||(d=d.replace(/[^\/]+$/,function(a){b=a;return""}));this.externals[e]={dir:d,file:b||this.fileName+".js"}}},load:function(a,d,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var c=this.loaded,e=this.registered,g=[],k={},h={},p=0;p<a.length;p++){var r=a[p];if(r)if(c[r]||e[r])h[r]=this.get(r);else{var f=this.getFilePath(r);g.push(f);f in k||(k[f]=
-[]);k[f].push(r)}}CKEDITOR.scriptLoader.load(g,function(a,e){if(e.length)throw Error('[CKEDITOR.resourceManager.load] Resource name "'+k[e[0]].join(",")+'" was not found at "'+e[0]+'".');for(var f=0;f<a.length;f++)for(var g=k[a[f]],m=0;m<g.length;m++){var x=g[m];h[x]=this.get(x);c[x]=1}d.call(b,h)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin");
-CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var d={};return function(b,c,e){var g={},k=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(g,a);var b=[],f;for(f in a){var h=a[f],u=h&&h.requires;if(!d[f]){if(h.icons)for(var z=h.icons.split(","),y=z.length;y--;)CKEDITOR.skin.addIcon(z[y],h.path+"icons/"+(CKEDITOR.env.hidpi&&h.hidpi?"hidpi/":"")+z[y]+".png");d[f]=1}if(u)for(u.split&&(u=u.split(",")),h=0;h<u.length;h++)g[u[h]]||b.push(u[h])}if(b.length)k.call(this,
-b);else{for(f in g)h=g[f],h.onLoad&&!h.onLoad._called&&(!1===h.onLoad()&&delete g[f],h.onLoad._called=1);c&&c.call(e||window,g)}},this)};k.call(this,b)}});CKEDITOR.plugins.setLang=function(a,d,b){var c=this.get(a);a=c.langEntries||(c.langEntries={});c=c.lang||(c.lang=[]);c.split&&(c=c.split(","));-1==CKEDITOR.tools.indexOf(c,d)&&c.push(d);a[d]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this};
+return CKEDITOR.getUrl(this.getPath(a)+(d?d.file:this.fileName+".js"))},addExternal:function(a,d,b){a=a.split(",");for(var c=0;c<a.length;c++){var e=a[c];b||(d=d.replace(/[^\/]+$/,function(a){b=a;return""}));this.externals[e]={dir:d,file:b||this.fileName+".js"}}},load:function(a,d,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var c=this.loaded,e=this.registered,g=[],h={},k={},n=0;n<a.length;n++){var q=a[n];if(q)if(c[q]||e[q])k[q]=this.get(q);else{var f=this.getFilePath(q);g.push(f);f in h||(h[f]=
+[]);h[f].push(q)}}CKEDITOR.scriptLoader.load(g,function(a,e){if(e.length)throw Error('[CKEDITOR.resourceManager.load] Resource name "'+h[e[0]].join(",")+'" was not found at "'+e[0]+'".');for(var f=0;f<a.length;f++)for(var g=h[a[f]],n=0;n<g.length;n++){var m=g[n];k[m]=this.get(m);c[m]=1}d.call(b,k)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin");
+CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var d={};return function(b,c,e){var g={},h=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(g,a);var b=[],f;for(f in a){var k=a[f],w=k&&k.requires;if(!d[f]){if(k.icons)for(var A=k.icons.split(","),G=A.length;G--;)CKEDITOR.skin.addIcon(A[G],k.path+"icons/"+(CKEDITOR.env.hidpi&&k.hidpi?"hidpi/":"")+A[G]+".png");d[f]=1}if(w)for(w.split&&(w=w.split(",")),k=0;k<w.length;k++)g[w[k]]||b.push(w[k])}if(b.length)h.call(this,
+b);else{for(f in g)k=g[f],k.onLoad&&!k.onLoad._called&&(!1===k.onLoad()&&delete g[f],k.onLoad._called=1);c&&c.call(e||window,g)}},this)};h.call(this,b)}});CKEDITOR.plugins.setLang=function(a,d,b){var c=this.get(a);a=c.langEntries||(c.langEntries={});c=c.lang||(c.lang=[]);c.split&&(c=c.split(","));-1==CKEDITOR.tools.indexOf(c,d)&&c.push(d);a[d]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this};
 CKEDITOR.ui.prototype={add:function(a,d,b){b.name=a.toLowerCase();var c=this.items[a]={type:d,command:b.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(c,b)},get:function(a){return this.instances[a]},create:function(a){var d=this.items[a],b=d&&this._.handlers[d.type],c=d&&d.command&&this.editor.getCommand(d.command),b=b&&b.create.apply(this,d.args);this.instances[a]=b;c&&c.uiItems.push(b);b&&!b.type&&(b.type=d.type);return b},addHandler:function(a,d){this._.handlers[a]=
 d},space:function(a){return CKEDITOR.document.getById(this.spaceId(a))},spaceId:function(a){return this.editor.id+"_"+a}};CKEDITOR.event.implementOn(CKEDITOR.ui);
 (function(){function a(a,e,f){CKEDITOR.event.call(this);a=a&&CKEDITOR.tools.clone(a);if(void 0!==e){if(!(e instanceof CKEDITOR.dom.element))throw Error("Expect element of type CKEDITOR.dom.element.");if(!f)throw Error("One of the element modes must be specified.");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f==CKEDITOR.ELEMENT_MODE_INLINE)throw Error("Inline element mode is not supported on IE quirks.");if(!b(e,f))throw Error('The specified element mode is not supported on element: "'+e.getName()+'".');
 this.element=e;this.elementMode=f;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(e.getId()||e.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||d();this.id=CKEDITOR.tools.getNextId();this.status="unloaded";this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this);this.focusManager=new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on("readOnly",
-c);this.on("selectionChange",function(a){g(this,a.data.path)});this.on("activeFilterChange",function(){g(this,this.elementPath(),!0)});this.on("mode",c);this.on("instanceReady",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){"destroyed"!==this.status?h(this,a):CKEDITOR.warn("editor-incorrect-destroy")},0,this)}function d(){do var a="editor"+ ++z;while(CKEDITOR.instances[a]);return a}function b(a,
-b){return b==CKEDITOR.ELEMENT_MODE_INLINE?a.is(CKEDITOR.dtd.$editable)||a.is("textarea"):b==CKEDITOR.ELEMENT_MODE_REPLACE?!a.is(CKEDITOR.dtd.$nonBodyContent):1}function c(){var a=this.commands,b;for(b in a)e(this,a[b])}function e(a,b){b[b.startDisabled?"disable":a.readOnly&&!b.readOnly?"disable":b.modes[a.mode]?"enable":"disable"]()}function g(a,b,c){if(b){var d,e,l=a.commands;for(e in l)d=l[e],(c||d.contextSensitive)&&d.refresh(a,b)}}function k(a){var b=a.config.customConfig;if(!b)return!1;var b=
-CKEDITOR.getUrl(b),c=y[b]||(y[b]={});c.fn?(c.fn.call(a,a.config),CKEDITOR.getUrl(a.config.customConfig)!=b&&k(a)||a.fireOnce("customConfigLoaded")):CKEDITOR.scriptLoader.queue(b,function(){c.fn=CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};k(a)});return!0}function h(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,!0);delete a.config.on}c=a.config;a.readOnly=c.readOnly?!0:a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?
+c);this.on("selectionChange",function(a){g(this,a.data.path)});this.on("activeFilterChange",function(){g(this,this.elementPath(),!0)});this.on("mode",c);this.on("instanceReady",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){"destroyed"!==this.status?k(this,a):CKEDITOR.warn("editor-incorrect-destroy")},0,this)}function d(){do var a="editor"+ ++G;while(CKEDITOR.instances[a]);return a}function b(a,
+b){return b==CKEDITOR.ELEMENT_MODE_INLINE?a.is(CKEDITOR.dtd.$editable)||a.is("textarea"):b==CKEDITOR.ELEMENT_MODE_REPLACE?!a.is(CKEDITOR.dtd.$nonBodyContent):1}function c(){var a=this.commands,b;for(b in a)e(this,a[b])}function e(a,b){b[b.startDisabled?"disable":a.readOnly&&!b.readOnly?"disable":b.modes[a.mode]?"enable":"disable"]()}function g(a,b,c){if(b){var d,e,f=a.commands;for(e in f)d=f[e],(c||d.contextSensitive)&&d.refresh(a,b)}}function h(a){var b=a.config.customConfig;if(!b)return!1;var b=
+CKEDITOR.getUrl(b),c=x[b]||(x[b]={});c.fn?(c.fn.call(a,a.config),CKEDITOR.getUrl(a.config.customConfig)!=b&&h(a)||a.fireOnce("customConfigLoaded")):CKEDITOR.scriptLoader.queue(b,function(){c.fn=CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};h(a)});return!0}function k(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,!0);delete a.config.on}c=a.config;a.readOnly=c.readOnly?!0:a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?
 a.element.is("textarea")?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"):a.element.isReadOnly():a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"):!1;a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?!(a.element.is("textarea")||CKEDITOR.dtd[a.element.getName()].p):!1;a.tabIndex=c.tabIndex||a.element&&a.element.getAttribute("tabindex")||0;a.activeEnterMode=a.enterMode=a.blockless?CKEDITOR.ENTER_BR:c.enterMode;
-a.activeShiftEnterMode=a.shiftEnterMode=a.blockless?CKEDITOR.ENTER_BR:c.shiftEnterMode;c.skin&&(CKEDITOR.skinName=c.skin);a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);a.filter=a.activeFilter=new CKEDITOR.filter(a);p(a)});b&&null!=b.customConfig&&(a.config.customConfig=b.customConfig);k(a)||a.fireOnce("customConfigLoaded")}function p(a){CKEDITOR.skin.loadPart("editor",function(){r(a)})}function r(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,
-c){var d=a.config.title;a.langCode=b;a.lang=CKEDITOR.tools.prototypedCopy(c);a.title="string"==typeof d||!1===d?d:[a.lang.editor,a.name].join(", ");a.config.contentsLangDirection||(a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir);a.fire("langLoaded");f(a)})}function f(a){a.getStylesSet(function(b){a.once("loaded",function(){a.fire("stylesSet",{styles:b})},null,null,1);B(a)})}function B(a){var b=a.config,c=b.plugins,d=b.extraPlugins,e=
-b.removePlugins;if(d)var l=new RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(l,""),c=c+(","+d);if(e)var q=new RegExp("(?:^|,)(?:"+e.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(q,"");CKEDITOR.env.air&&(c+=",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],l=[],e=[];a.plugins=c;for(var f in c){var g=c[f],k=g.lang,h=null,p=g.requires,r;CKEDITOR.tools.isArray(p)&&(p=p.join(","));if(p&&(r=p.match(q)))for(;p=r.pop();)CKEDITOR.error("editor-plugin-required",
-{plugin:p.replace(",",""),requiredBy:f});k&&!a.lang[f]&&(k.split&&(k=k.split(",")),0<=CKEDITOR.tools.indexOf(k,a.langCode)?h=a.langCode:(h=a.langCode.replace(/-.*/,""),h=h!=a.langCode&&0<=CKEDITOR.tools.indexOf(k,h)?h:0<=CKEDITOR.tools.indexOf(k,"en")?"en":k[0]),g.langEntries&&g.langEntries[h]?(a.lang[f]=g.langEntries[h],h=null):e.push(CKEDITOR.getUrl(g.path+"lang/"+h+".js")));l.push(h);d.push(g)}CKEDITOR.scriptLoader.load(e,function(){for(var c=["beforeInit","init","afterInit"],e=0;e<c.length;e++)for(var q=
-0;q<d.length;q++){var n=d[q];0===e&&l[q]&&n.lang&&n.langEntries&&(a.lang[n.name]=n.langEntries[l[q]]);if(n[c[e]])n[c[e]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(q=0;q<a.config.blockedKeystrokes.length;q++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[q]]=1;a.status="loaded";a.fireOnce("loaded");CKEDITOR.fire("instanceLoaded",null,a)})})}function u(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();
-this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is("textarea")?a.setValue(b):a.setHtml(b);return!0}return!1}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var z=0,y={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){b.name=a.toLowerCase();var c=new CKEDITOR.command(this,b);this.mode&&e(this,c);return this.commands[a]=c},_attachToForm:function(){function a(b){c.updateElement();c._.required&&!d.getValue()&&!1===c.fire("required")&&b.data.preventDefault()}
-function b(a){return!!(a&&a.call&&a.apply)}var c=this,d=c.element,e=new CKEDITOR.dom.element(d.$.form);d.is("textarea")&&e&&(e.on("submit",a),b(e.$.submit)&&(e.$.submit=CKEDITOR.tools.override(e.$.submit,function(b){return function(){a();b.apply?b.apply(this):b()}})),c.on("destroy",function(){e.removeListener("submit",a)}))},destroy:function(a){this.fire("beforeDestroy");!a&&u.call(this);this.editable(null);this.filter&&(this.filter.destroy(),delete this.filter);delete this.activeFilter;this.status=
-"destroyed";this.fire("destroy");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){if(!a){a=this.getSelection();if(!a)return null;a=a.getStartElement()}return a?new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b,command:c};return c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&
-!1!==this.fire("beforeCommandExec",d)&&(d.returnValue=c.exec(d.commandData),!c.async&&!1!==this.fire("afterCommandExec",d))?d.returnValue:!1},getCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire("beforeGetData");var b=this._.data;"string"!=typeof b&&(b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():"");b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=this.fire("getSnapshot");
-"string"!=typeof a&&(a=(a=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.is("textarea")?a.getValue():a.getHtml():"");return a},loadSnapshot:function(a){this.fire("loadSnapshot",a)},setData:function(a,b,c){var d=!0,e=b;b&&"object"==typeof b&&(c=b.internal,e=b.callback,d=!b.noSnapshot);!c&&d&&this.fire("saveSnapshot");if(e||!c)this.once("dataReady",function(a){!c&&d&&this.fire("saveSnapshot");e&&e.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;
-!c&&this.fire("afterSetData",a)},setReadOnly:function(a){a=null==a||a;this.readOnly!=a&&(this.readOnly=a,this.keystrokeHandler.blockedKeystrokes[8]=+a,this.editable().setReadOnly(a),this.fire("readOnly"))},insertHtml:function(a,b,c){this.fire("insertHtml",{dataValue:a,mode:b,range:c})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("insertElement",a)},getSelectedHtml:function(a){var b=this.editable(),c=this.getSelection(),c=c&&c.getRanges();if(!b||!c||0===c.length)return null;
-for(var d=new CKEDITOR.dom.documentFragment,e,l,q,n=0;n<c.length;n++){var f=c[n],g=f.startContainer;g.getName&&"tr"==g.getName()?(e||(e=g.getAscendant("table").clone(),e.append(g.getAscendant("tbody").clone()),d.append(e),e=e.findOne("tbody")),l&&l.equals(g)||(l=g,q=g.clone(),e.append(q)),q.append(f.cloneContents())):d.append(f.cloneContents())}b=e?d:b.getHtmlFromRange(c[0]);return a?b.getHtml():b},extractSelectedHtml:function(a,b){var c=this.editable(),d=this.getSelection().getRanges();if(!c||0===
-d.length)return null;d=d[0];c=c.extractHtmlFromRange(d,b);b||this.getSelection().selectRanges([d]);return a?c.getHtml():c},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return"ready"==this.status&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return u.call(this)},setKeystroke:function(){for(var a=this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,
-0)],c,d,e=b.length;e--;)c=b[e],d=0,CKEDITOR.tools.isArray(c)&&(d=c[1],c=c[0]),d?a[c]=d:delete a[c]},getCommandKeystroke:function(a){var b=a.name,c=this.keystrokeHandler.keystrokes,d;if(a.fakeKeystroke)return a.fakeKeystroke;for(d in c)if(c.hasOwnProperty(d)&&c[d]==b)return d;return null},addFeature:function(a){return this.filter.addFeature(a)},setActiveFilter:function(a){a||(a=this.filter);this.activeFilter!==a&&(this.activeFilter=a,this.fire("activeFilterChange"),a===this.filter?this.setActiveEnterMode(null,
-null):this.setActiveEnterMode(a.getAllowedEnterMode(this.enterMode),a.getAllowedEnterMode(this.shiftEnterMode,!0)))},setActiveEnterMode:function(a,b){a=a?this.blockless?CKEDITOR.ENTER_BR:a:this.enterMode;b=b?this.blockless?CKEDITOR.ENTER_BR:b:this.shiftEnterMode;if(this.activeEnterMode!=a||this.activeShiftEnterMode!=b)this.activeEnterMode=a,this.activeShiftEnterMode=b,this.fire("activeEnterModeChange")},showNotification:function(a){alert(a)}})})();CKEDITOR.ELEMENT_MODE_NONE=0;
-CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}};
-(function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,d={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var c,e,g=0,k;c=this._.htmlPartsRegex.exec(b);){e=c.index;if(e>g)if(g=b.substring(g,e),k)k.push(g);else this.onText(g);
-g=this._.htmlPartsRegex.lastIndex;if(e=c[1])if(e=e.toLowerCase(),k&&CKEDITOR.dtd.$cdata[e]&&(this.onCDATA(k.join("")),k=null),!k){this.onTagClose(e);continue}if(k)k.push(c[0]);else if(e=c[3]){if(e=e.toLowerCase(),!/="/.test(e)){var h={},p,r=c[4];c=!!c[5];if(r)for(;p=a.exec(r);){var f=p[1].toLowerCase();p=p[2]||p[3]||p[4]||"";h[f]=!p&&d[f]?f:CKEDITOR.tools.htmlDecodeAttr(p)}this.onTagOpen(e,h,c);!k&&CKEDITOR.dtd.$cdata[e]&&(k=[])}}else if(e=c[2])this.onComment(e)}if(b.length>g)this.onText(b.substring(g,
+a.activeShiftEnterMode=a.shiftEnterMode=a.blockless?CKEDITOR.ENTER_BR:c.shiftEnterMode;c.skin&&(CKEDITOR.skinName=c.skin);a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);a.filter=a.activeFilter=new CKEDITOR.filter(a);n(a)});b&&null!=b.customConfig&&(a.config.customConfig=b.customConfig);h(a)||a.fireOnce("customConfigLoaded")}function n(a){CKEDITOR.skin.loadPart("editor",function(){q(a)})}function q(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,
+c){var d=a.config.title;a.langCode=b;a.lang=CKEDITOR.tools.prototypedCopy(c);a.title="string"==typeof d||!1===d?d:[a.lang.editor,a.name].join(", ");a.config.contentsLangDirection||(a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir);a.fire("langLoaded");f(a)})}function f(a){a.getStylesSet(function(b){a.once("loaded",function(){a.fire("stylesSet",{styles:b})},null,null,1);D(a)})}function D(a){var b=a.config,c=b.plugins,d=b.extraPlugins,e=
+b.removePlugins;if(d)var f=new RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(f,""),c=c+(","+d);if(e)var g=new RegExp("(?:^|,)(?:"+e.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(g,"");CKEDITOR.env.air&&(c+=",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],e=[],f=[];a.plugins=c;for(var l in c){var r=c[l],k=r.lang,h=null,O=r.requires,p;CKEDITOR.tools.isArray(O)&&(O=O.join(","));if(O&&(p=O.match(g)))for(;O=p.pop();)CKEDITOR.error("editor-plugin-required",
+{plugin:O.replace(",",""),requiredBy:l});k&&!a.lang[l]&&(k.split&&(k=k.split(",")),0<=CKEDITOR.tools.indexOf(k,a.langCode)?h=a.langCode:(h=a.langCode.replace(/-.*/,""),h=h!=a.langCode&&0<=CKEDITOR.tools.indexOf(k,h)?h:0<=CKEDITOR.tools.indexOf(k,"en")?"en":k[0]),r.langEntries&&r.langEntries[h]?(a.lang[l]=r.langEntries[h],h=null):f.push(CKEDITOR.getUrl(r.path+"lang/"+h+".js")));e.push(h);d.push(r)}CKEDITOR.scriptLoader.load(f,function(){for(var c=["beforeInit","init","afterInit"],f=0;f<c.length;f++)for(var l=
+0;l<d.length;l++){var v=d[l];0===f&&e[l]&&v.lang&&v.langEntries&&(a.lang[v.name]=v.langEntries[e[l]]);if(v[c[f]])v[c[f]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(l=0;l<a.config.blockedKeystrokes.length;l++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[l]]=1;a.status="loaded";a.fireOnce("loaded");CKEDITOR.fire("instanceLoaded",null,a)})})}function w(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();
+this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is("textarea")?a.setValue(b):a.setHtml(b);return!0}return!1}function A(a,b){function c(a){var b=a.startContainer,d=a.endContainer;return b.is&&(b.is("tr")||b.is("td")&&b.equals(d)&&a.endOffset===b.getChildCount())?!0:!1}function d(a){var b=a.startContainer;return b.is("tr")?a.cloneContents():b.clone(!0)}for(var e=new CKEDITOR.dom.documentFragment,f,g,k,h=0;h<a.length;h++){var u=a[h],y=u.startContainer.getAscendant("tr",!0);c(u)?(f||
+(f=y.getAscendant("table").clone(),f.append(y.getAscendant({thead:1,tbody:1,tfoot:1}).clone()),e.append(f),f=f.findOne("thead, tbody, tfoot")),g&&g.equals(y)||(g=y,k=y.clone(),f.append(k)),k.append(d(u))):e.append(u.cloneContents())}return f?e:b.getHtmlFromRange(a[0])}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var G=0,x={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){b.name=a.toLowerCase();var c=new CKEDITOR.command(this,b);this.mode&&e(this,c);return this.commands[a]=
+c},_attachToForm:function(){function a(b){c.updateElement();c._.required&&!d.getValue()&&!1===c.fire("required")&&b.data.preventDefault()}function b(a){return!!(a&&a.call&&a.apply)}var c=this,d=c.element,e=new CKEDITOR.dom.element(d.$.form);d.is("textarea")&&e&&(e.on("submit",a),b(e.$.submit)&&(e.$.submit=CKEDITOR.tools.override(e.$.submit,function(b){return function(){a();b.apply?b.apply(this):b()}})),c.on("destroy",function(){e.removeListener("submit",a)}))},destroy:function(a){this.fire("beforeDestroy");
+!a&&w.call(this);this.editable(null);this.filter&&(this.filter.destroy(),delete this.filter);delete this.activeFilter;this.status="destroyed";this.fire("destroy");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){if(!a){a=this.getSelection();if(!a)return null;a=a.getStartElement()}return a?new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,
+b){var c=this.getCommand(a),d={name:a,commandData:b||{},command:c};return c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&!1!==this.fire("beforeCommandExec",d)&&(d.returnValue=c.exec(d.commandData),!c.async&&!1!==this.fire("afterCommandExec",d))?d.returnValue:!1},getCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire("beforeGetData");var b=this._.data;"string"!=typeof b&&(b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():
+"");b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=this.fire("getSnapshot");"string"!=typeof a&&(a=(a=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.is("textarea")?a.getValue():a.getHtml():"");return a},loadSnapshot:function(a){this.fire("loadSnapshot",a)},setData:function(a,b,c){var d=!0,e=b;b&&"object"==typeof b&&(c=b.internal,e=b.callback,d=!b.noSnapshot);!c&&d&&this.fire("saveSnapshot");if(e||!c)this.once("dataReady",function(a){!c&&
+d&&this.fire("saveSnapshot");e&&e.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;!c&&this.fire("afterSetData",a)},setReadOnly:function(a){a=null==a||a;this.readOnly!=a&&(this.readOnly=a,this.keystrokeHandler.blockedKeystrokes[8]=+a,this.editable().setReadOnly(a),this.fire("readOnly"))},insertHtml:function(a,b,c){this.fire("insertHtml",{dataValue:a,mode:b,range:c})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("insertElement",
+a)},getSelectedHtml:function(a){var b=this.editable(),c=this.getSelection(),c=c&&c.getRanges();if(!b||!c||0===c.length)return null;b=A(c,b);return a?b.getHtml():b},extractSelectedHtml:function(a,b){var c=this.editable(),d=this.getSelection().getRanges(),e=new CKEDITOR.dom.documentFragment,f;if(!c||0===d.length)return null;for(f=0;f<d.length;f++)e.append(c.extractHtmlFromRange(d[f],b));b||this.getSelection().selectRanges([d[0]]);return a?e.getHtml():e},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return"ready"==
+this.status&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return w.call(this)},setKeystroke:function(){for(var a=this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,d,e=b.length;e--;)c=b[e],d=0,CKEDITOR.tools.isArray(c)&&(d=c[1],c=c[0]),d?a[c]=d:delete a[c]},getCommandKeystroke:function(a){if(a="string"===typeof a?this.getCommand(a):a){var b=CKEDITOR.tools.object.findKey(this.commands,
+a),c=this.keystrokeHandler.keystrokes,d;if(a.fakeKeystroke)return a.fakeKeystroke;for(d in c)if(c.hasOwnProperty(d)&&c[d]==b)return d}return null},addFeature:function(a){return this.filter.addFeature(a)},setActiveFilter:function(a){a||(a=this.filter);this.activeFilter!==a&&(this.activeFilter=a,this.fire("activeFilterChange"),a===this.filter?this.setActiveEnterMode(null,null):this.setActiveEnterMode(a.getAllowedEnterMode(this.enterMode),a.getAllowedEnterMode(this.shiftEnterMode,!0)))},setActiveEnterMode:function(a,
+b){a=a?this.blockless?CKEDITOR.ENTER_BR:a:this.enterMode;b=b?this.blockless?CKEDITOR.ENTER_BR:b:this.shiftEnterMode;if(this.activeEnterMode!=a||this.activeShiftEnterMode!=b)this.activeEnterMode=a,this.activeShiftEnterMode=b,this.fire("activeEnterModeChange")},showNotification:function(a){alert(a)}})})();CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}};
+(function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,d={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var c,e,g=0,h;c=this._.htmlPartsRegex.exec(b);){e=c.index;if(e>g)if(g=b.substring(g,e),h)h.push(g);else this.onText(g);
+g=this._.htmlPartsRegex.lastIndex;if(e=c[1])if(e=e.toLowerCase(),h&&CKEDITOR.dtd.$cdata[e]&&(this.onCDATA(h.join("")),h=null),!h){this.onTagClose(e);continue}if(h)h.push(c[0]);else if(e=c[3]){if(e=e.toLowerCase(),!/="/.test(e)){var k={},n,q=c[4];c=!!c[5];if(q)for(;n=a.exec(q);){var f=n[1].toLowerCase();n=n[2]||n[3]||n[4]||"";k[f]=!n&&d[f]?f:CKEDITOR.tools.htmlDecodeAttr(n)}this.onTagOpen(e,k,c);!h&&CKEDITOR.dtd.$cdata[e]&&(h=[])}}else if(e=c[2])this.onComment(e)}if(b.length>g)this.onText(b.substring(g,
 b.length))}}})();
 CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("\x3c",a)},openTagClose:function(a,d){d?this._.output.push(" /\x3e"):this._.output.push("\x3e")},attribute:function(a,d){"string"==typeof d&&(d=CKEDITOR.tools.htmlEncodeAttr(d));this._.output.push(" ",a,'\x3d"',d,'"')},closeTag:function(a){this._.output.push("\x3c/",a,"\x3e")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("\x3c!--",a,
 "--\x3e")},write:function(a){this._.output.push(a)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(a){var d=this._.output.join("");a&&this.reset();return d}}});"use strict";
@@ -285,227 +290,232 @@ CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlPar
 (function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:!1}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,d){if(!(this.value=a.onText(d,this.value,this)))return this.remove(),!1},writeHtml:function(a,d){d&&this.filter(d);a.text(this.value)}})})();"use strict";
 (function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})})();"use strict";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}};
 (function(){function a(a){return a.attributes["data-cke-survive"]?!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var d=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),b={ol:1,ul:1},c=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),e={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml=
-function(g,k,h){function p(a){var b;if(0<x.length)for(var c=0;c<x.length;c++){var d=x[c],l=d.name,e=CKEDITOR.dtd[l],f=w.name&&CKEDITOR.dtd[w.name];f&&!f[l]||a&&e&&!e[a]&&CKEDITOR.dtd[a]?l==w.name&&(B(w,w.parent,1),c--):(b||(r(),b=1),d=d.clone(),d.parent=w,w=d,x.splice(c,1),c--)}}function r(){for(;J.length;)B(J.shift(),w)}function f(a){if(a._.isBlockLike&&"pre"!=a.name&&"textarea"!=a.name){var b=a.children.length,c=a.children[b-1],d;c&&c.type==CKEDITOR.NODE_TEXT&&((d=CKEDITOR.tools.rtrim(c.value))?
-c.value=d:a.children.length=b-1)}}function B(b,c,d){c=c||w||m;var e=w;void 0===b.previous&&(u(c,b)&&(w=c,y.onTagOpen(h,{}),b.returnPoint=c=w),f(b),a(b)&&!b.children.length||c.add(b),"pre"==b.name&&(l=!1),"textarea"==b.name&&(F=!1));b.returnPoint?(w=b.returnPoint,delete b.returnPoint):w=d?c:e}function u(a,b){if((a==m||"body"==a.name)&&h&&(!a.name||CKEDITOR.dtd[a.name][h])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&&
-!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function z(a,b){return a in CKEDITOR.dtd.$listItem||a in CKEDITOR.dtd.$tableContent?a==b||"dt"==a&&"dd"==b||"dd"==a&&"dt"==b:!1}var y=new CKEDITOR.htmlParser,m=k instanceof CKEDITOR.htmlParser.element?k:"string"==typeof k?new CKEDITOR.htmlParser.element(k):new CKEDITOR.htmlParser.fragment,x=[],J=[],w=m,F="textarea"==m.name,l="pre"==m.name;y.onTagOpen=function(e,n,f,g){n=new CKEDITOR.htmlParser.element(e,n);n.isUnknown&&f&&(n.isEmpty=!0);n.isOptionalClose=g;
-if(a(n))x.push(n);else{if("pre"==e)l=!0;else{if("br"==e&&l){w.add(new CKEDITOR.htmlParser.text("\n"));return}"textarea"==e&&(F=!0)}if("br"==e)J.push(n);else{for(;!(g=(f=w.name)?CKEDITOR.dtd[f]||(w._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c,n.isUnknown||w.isUnknown||g[e]);)if(w.isOptionalClose)y.onTagClose(f);else if(e in b&&f in b)f=w.children,(f=f[f.length-1])&&"li"==f.name||B(f=new CKEDITOR.htmlParser.element("li"),w),!n.returnPoint&&(n.returnPoint=w),w=f;else if(e in CKEDITOR.dtd.$listItem&&
-!z(e,f))y.onTagOpen("li"==e?"ul":"dl",{},0,1);else if(f in d&&!z(e,f))!n.returnPoint&&(n.returnPoint=w),w=w.parent;else if(f in CKEDITOR.dtd.$inline&&x.unshift(w),w.parent)B(w,w.parent,1);else{n.isOrphan=1;break}p(e);r();n.parent=w;n.isEmpty?B(n):w=n}}};y.onTagClose=function(a){for(var b=x.length-1;0<=b;b--)if(a==x[b].name){x.splice(b,1);return}for(var c=[],d=[],l=w;l!=m&&l.name!=a;)l._.isBlockLike||d.unshift(l),c.push(l),l=l.returnPoint||l.parent;if(l!=m){for(b=0;b<c.length;b++){var e=c[b];B(e,e.parent)}w=
-l;l._.isBlockLike&&r();B(l,l.parent);l==w&&(w=w.parent);x=x.concat(d)}"body"==a&&(h=!1)};y.onText=function(a){if(!(w._.hasInlineStarted&&!J.length||l||F)&&(a=CKEDITOR.tools.ltrim(a),0===a.length))return;var b=w.name,f=b?CKEDITOR.dtd[b]||(w._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!F&&!f["#"]&&b in d)y.onTagOpen(e[b]||""),y.onText(a);else{r();p();l||F||(a=a.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));a=new CKEDITOR.htmlParser.text(a);if(u(w,a))this.onTagOpen(h,{},0,1);w.add(a)}};y.onCDATA=
-function(a){w.add(new CKEDITOR.htmlParser.cdata(a))};y.onComment=function(a){r();p();w.add(new CKEDITOR.htmlParser.comment(a))};y.parse(g);for(r();w!=m;)B(w,w.parent,1);f(m);return m};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=0<b?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT&&(c.value=CKEDITOR.tools.rtrim(c.value),0===c.value.length)){this.children.pop();this.add(a);return}c.next=
+function(g,h,k){function n(a){var b;if(0<m.length)for(var c=0;c<m.length;c++){var d=m[c],e=d.name,f=CKEDITOR.dtd[e],l=z.name&&CKEDITOR.dtd[z.name];l&&!l[e]||a&&f&&!f[a]&&CKEDITOR.dtd[a]?e==z.name&&(D(z,z.parent,1),c--):(b||(q(),b=1),d=d.clone(),d.parent=z,z=d,m.splice(c,1),c--)}}function q(){for(;K.length;)D(K.shift(),z)}function f(a){if(a._.isBlockLike&&"pre"!=a.name&&"textarea"!=a.name){var b=a.children.length,c=a.children[b-1],d;c&&c.type==CKEDITOR.NODE_TEXT&&((d=CKEDITOR.tools.rtrim(c.value))?
+c.value=d:a.children.length=b-1)}}function D(b,c,d){c=c||z||x;var e=z;void 0===b.previous&&(w(c,b)&&(z=c,G.onTagOpen(k,{}),b.returnPoint=c=z),f(b),a(b)&&!b.children.length||c.add(b),"pre"==b.name&&(l=!1),"textarea"==b.name&&(I=!1));b.returnPoint?(z=b.returnPoint,delete b.returnPoint):z=d?c:e}function w(a,b){if((a==x||"body"==a.name)&&k&&(!a.name||CKEDITOR.dtd[a.name][k])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&&
+!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function A(a,b){return a in CKEDITOR.dtd.$listItem||a in CKEDITOR.dtd.$tableContent?a==b||"dt"==a&&"dd"==b||"dd"==a&&"dt"==b:!1}var G=new CKEDITOR.htmlParser,x=h instanceof CKEDITOR.htmlParser.element?h:"string"==typeof h?new CKEDITOR.htmlParser.element(h):new CKEDITOR.htmlParser.fragment,m=[],K=[],z=x,I="textarea"==x.name,l="pre"==x.name;G.onTagOpen=function(e,f,g,k){f=new CKEDITOR.htmlParser.element(e,f);f.isUnknown&&g&&(f.isEmpty=!0);f.isOptionalClose=k;
+if(a(f))m.push(f);else{if("pre"==e)l=!0;else{if("br"==e&&l){z.add(new CKEDITOR.htmlParser.text("\n"));return}"textarea"==e&&(I=!0)}if("br"==e)K.push(f);else{for(;!(k=(g=z.name)?CKEDITOR.dtd[g]||(z._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c,f.isUnknown||z.isUnknown||k[e]);)if(z.isOptionalClose)G.onTagClose(g);else if(e in b&&g in b)g=z.children,(g=g[g.length-1])&&"li"==g.name||D(g=new CKEDITOR.htmlParser.element("li"),z),!f.returnPoint&&(f.returnPoint=z),z=g;else if(e in CKEDITOR.dtd.$listItem&&
+!A(e,g))G.onTagOpen("li"==e?"ul":"dl",{},0,1);else if(g in d&&!A(e,g))!f.returnPoint&&(f.returnPoint=z),z=z.parent;else if(g in CKEDITOR.dtd.$inline&&m.unshift(z),z.parent)D(z,z.parent,1);else{f.isOrphan=1;break}n(e);q();f.parent=z;f.isEmpty?D(f):z=f}}};G.onTagClose=function(a){for(var b=m.length-1;0<=b;b--)if(a==m[b].name){m.splice(b,1);return}for(var c=[],d=[],e=z;e!=x&&e.name!=a;)e._.isBlockLike||d.unshift(e),c.push(e),e=e.returnPoint||e.parent;if(e!=x){for(b=0;b<c.length;b++){var f=c[b];D(f,f.parent)}z=
+e;e._.isBlockLike&&q();D(e,e.parent);e==z&&(z=z.parent);m=m.concat(d)}"body"==a&&(k=!1)};G.onText=function(a){if(!(z._.hasInlineStarted&&!K.length||l||I)&&(a=CKEDITOR.tools.ltrim(a),0===a.length))return;var b=z.name,f=b?CKEDITOR.dtd[b]||(z._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!I&&!f["#"]&&b in d)G.onTagOpen(e[b]||""),G.onText(a);else{q();n();l||I||(a=a.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));a=new CKEDITOR.htmlParser.text(a);if(w(z,a))this.onTagOpen(k,{},0,1);z.add(a)}};G.onCDATA=
+function(a){z.add(new CKEDITOR.htmlParser.cdata(a))};G.onComment=function(a){q();n();z.add(new CKEDITOR.htmlParser.comment(a))};G.parse(g);for(q();z!=x;)D(z,z.parent,1);f(x);return x};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=0<b?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT&&(c.value=CKEDITOR.tools.rtrim(c.value),0===c.value.length)){this.children.pop();this.add(a);return}c.next=
 a}a.previous=c;a.parent=this;this.children.splice(b,0,a);this._.hasInlineStarted||(this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike)},filter:function(a,b){b=this.getFilterContext(b);a.onRoot(b,this);this.filterChildren(a,!1,b)},filterChildren:function(a,b,c){if(this.childrenFilteredBy!=a.id){c=this.getFilterContext(c);if(b&&!this.parent)a.onRoot(c,this);this.childrenFilteredBy=a.id;for(b=0;b<this.children.length;b++)!1===this.children[b].filter(a,
 c)&&b--}},writeHtml:function(a,b){b&&this.filter(b);this.writeChildrenHtml(a)},writeChildrenHtml:function(a,b,c){var d=this.getFilterContext();if(c&&!this.parent&&b)b.onRoot(d,this);b&&this.filterChildren(b,!1,d);b=0;c=this.children;for(d=c.length;b<d;b++)c[b].writeHtml(a)},forEach:function(a,b,c){if(!(c||b&&this.type!=b))var d=a(this);if(!1!==d){c=this.children;for(var e=0;e<c.length;e++)d=c[e],d.type==CKEDITOR.NODE_ELEMENT?d.forEach(a,b):b&&d.type!=b||a(d)}},getFilterContext:function(a){return a||
 {}}}})();"use strict";
-(function(){function a(){this.rules=[]}function d(b,c,d,g){var k,h;for(k in c)(h=b[k])||(h=b[k]=new a),h.add(c[k],d,g)}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(b){this.id=CKEDITOR.tools.getNextNumber();this.elementNameRules=new a;this.attributeNameRules=new a;this.elementsRules={};this.attributesRules={};this.textRules=new a;this.commentRules=new a;this.rootRules=new a;b&&this.addRules(b,10)},proto:{addRules:function(a,c){var e;"number"==typeof c?e=c:c&&"priority"in c&&(e=
+(function(){function a(){this.rules=[]}function d(b,c,d,g){var h,k;for(h in c)(k=b[h])||(k=b[h]=new a),k.add(c[h],d,g)}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(b){this.id=CKEDITOR.tools.getNextNumber();this.elementNameRules=new a;this.attributeNameRules=new a;this.elementsRules={};this.attributesRules={};this.textRules=new a;this.commentRules=new a;this.rootRules=new a;b&&this.addRules(b,10)},proto:{addRules:function(a,c){var e;"number"==typeof c?e=c:c&&"priority"in c&&(e=
 c.priority);"number"!=typeof e&&(e=10);"object"!=typeof c&&(c={});a.elementNames&&this.elementNameRules.addMany(a.elementNames,e,c);a.attributeNames&&this.attributeNameRules.addMany(a.attributeNames,e,c);a.elements&&d(this.elementsRules,a.elements,e,c);a.attributes&&d(this.attributesRules,a.attributes,e,c);a.text&&this.textRules.add(a.text,e,c);a.comment&&this.commentRules.add(a.comment,e,c);a.root&&this.rootRules.add(a.root,e,c)},applyTo:function(a){a.filter(this)},onElementName:function(a,c){return this.elementNameRules.execOnName(a,
-c)},onAttributeName:function(a,c){return this.attributeNameRules.execOnName(a,c)},onText:function(a,c,d){return this.textRules.exec(a,c,d)},onComment:function(a,c,d){return this.commentRules.exec(a,c,d)},onRoot:function(a,c){return this.rootRules.exec(a,c)},onElement:function(a,c){for(var d=[this.elementsRules["^"],this.elementsRules[c.name],this.elementsRules.$],g,k=0;3>k;k++)if(g=d[k]){g=g.exec(a,c,this);if(!1===g)return null;if(g&&g!=c)return this.onNode(a,g);if(c.parent&&!c.name)break}return c},
+c)},onAttributeName:function(a,c){return this.attributeNameRules.execOnName(a,c)},onText:function(a,c,d){return this.textRules.exec(a,c,d)},onComment:function(a,c,d){return this.commentRules.exec(a,c,d)},onRoot:function(a,c){return this.rootRules.exec(a,c)},onElement:function(a,c){for(var d=[this.elementsRules["^"],this.elementsRules[c.name],this.elementsRules.$],g,h=0;3>h;h++)if(g=d[h]){g=g.exec(a,c,this);if(!1===g)return null;if(g&&g!=c)return this.onNode(a,g);if(c.parent&&!c.name)break}return c},
 onNode:function(a,c){var d=c.type;return d==CKEDITOR.NODE_ELEMENT?this.onElement(a,c):d==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a,c.value)):d==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,c.value)):null},onAttribute:function(a,c,d,g){return(d=this.attributesRules[d])?d.exec(a,g,c,this):g}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,c,d){this.rules.splice(this.findIndex(c),0,{value:a,priority:c,options:d})},addMany:function(a,
-c,d){for(var g=[this.findIndex(c),0],k=0,h=a.length;k<h;k++)g.push({value:a[k],priority:c,options:d});this.rules.splice.apply(this.rules,g)},findIndex:function(a){for(var c=this.rules,d=c.length-1;0<=d&&a<c[d].priority;)d--;return d+1},exec:function(a,c){var d=c instanceof CKEDITOR.htmlParser.node||c instanceof CKEDITOR.htmlParser.fragment,g=Array.prototype.slice.call(arguments,1),k=this.rules,h=k.length,p,r,f,B;for(B=0;B<h;B++)if(d&&(p=c.type,r=c.name),f=k[B],!(a.nonEditable&&!f.options.applyToAll||
-a.nestedEditable&&f.options.excludeNestedEditable)){f=f.value.apply(null,g);if(!1===f||d&&f&&(f.name!=r||f.type!=p))return f;null!=f&&(g[0]=c=f)}return c},execOnName:function(a,c){for(var d=0,g=this.rules,k=g.length,h;c&&d<k;d++)h=g[d],a.nonEditable&&!h.options.applyToAll||a.nestedEditable&&h.options.excludeNestedEditable||(c=c.replace(h.value[0],h.value[1]));return c}}})();
-(function(){function a(a,d){function f(a){return a||CKEDITOR.env.needsNbspFiller?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function n(a,d){return function(l){if(l.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var e=[],n=b(l),t,E;if(n)for(q(n,1)&&e.push(n);n;)g(n)&&(t=c(n))&&q(t)&&((E=c(t))&&!g(E)?e.push(t):(f(v).insertAfter(t),t.remove())),n=n.previous;for(n=0;n<e.length;n++)e[n].remove();if(e=!a||!1!==("function"==typeof d?d(l):d))v||CKEDITOR.env.needsBrFiller||
-l.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT?v||CKEDITOR.env.needsBrFiller||!(7<document.documentMode||l.name in CKEDITOR.dtd.tr||l.name in CKEDITOR.dtd.$listItem)?(e=b(l),e=!e||"form"==l.name&&"input"==e.name):e=!1:e=!1;e&&l.add(f(a))}}}function q(a,b){if((!v||CKEDITOR.env.needsBrFiller)&&a.type==CKEDITOR.NODE_ELEMENT&&"br"==a.name&&!a.attributes["data-cke-eol"])return!0;var c;return a.type==CKEDITOR.NODE_TEXT&&(c=a.value.match(x))&&(c.index&&((new CKEDITOR.htmlParser.text(a.value.substring(0,c.index))).insertBefore(a),
-a.value=c[0]),!CKEDITOR.env.needsBrFiller&&v&&(!b||a.parent.name in h)||!v&&((c=a.previous)&&"br"==c.name||!c||g(c)))?!0:!1}var t={elements:{}},v="html"==d,h=CKEDITOR.tools.extend({},l),A;for(A in h)"#"in w[A]||delete h[A];for(A in h)t.elements[A]=n(v,a.config.fillEmptyBlocks);t.root=n(v,!1);t.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=b.attributes;if("data-cke-bogus"in d||"data-cke-eol"in d)delete d["data-cke-bogus"];else{for(d=b.next;d&&e(d);)d=
-d.next;var l=c(b);!d&&g(b.parent)?k(b.parent,f(a)):g(d)&&l&&!g(l)&&f(a).insertBefore(d)}}}}(v);return t}function d(a,b){return a!=CKEDITOR.ENTER_BR&&!1!==b?a==CKEDITOR.ENTER_DIV?"div":"p":!1}function b(a){for(a=a.children[a.children.length-1];a&&e(a);)a=a.previous;return a}function c(a){for(a=a.previous;a&&e(a);)a=a.previous;return a}function e(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function g(a){return a&&
-(a.type==CKEDITOR.NODE_ELEMENT&&a.name in l||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function k(a,b){var c=a.children[a.children.length-1];a.children.push(b);b.parent=a;c&&(c.next=b,b.previous=c)}function h(a){a=a.attributes;"false"!=a.contenteditable&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function p(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}}function r(a){return a.replace(C,
-function(a,b,c){return"\x3c"+b+c.replace(D,function(a,b){return M.test(b)&&-1==c.indexOf("data-cke-saved-"+b)?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+"\x3e"})}function f(a,b){return a.replace(b,function(a,b,c){0===a.indexOf("\x3ctextarea")&&(a=b+z(c).replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function B(a){return a.replace(Q,function(a,b){return decodeURIComponent(b)})}function u(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g,
-function(a){return"\x3c!--"+J+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function z(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)})}function y(a,b){var c=b._.dataStore;return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function m(a,b){var c=[],d=b.config.protectedSource,l=b._.dataStore||(b._.dataStore=
-{id:1}),e=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,d=[/<script[\s\S]*?(<\/script>|$)/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<meta[\s\S]*?\/?>/gi].concat(d);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(c.push(a)-1)+"--\x3e"});for(var f=0;f<d.length;f++)a=a.replace(d[f],function(a){a=a.replace(e,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:"\x3c!--{cke_temp}"+(c.push(a)-1)+"--\x3e"});a=a.replace(e,function(a,b,d){return"\x3c!--"+J+(b?"{C}":
-"")+encodeURIComponent(c[d]).replace(/--/g,"%2D%2D")+"--\x3e"});a=a.replace(/<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,b){l[l.id]=decodeURIComponent(b);return"{cke_protected_"+l.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,c,d,l){return"\x3c"+c+d+"\x3e"+y(z(l),b)+"\x3c/"+c+"\x3e"})}CKEDITOR.htmlDataProcessor=function(b){var c,
-l,e=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=l=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(q);c.addRules(n,{applyToAll:!0});c.addRules(a(b,"data"),{applyToAll:!0});l.addRules(t);l.addRules(A,{applyToAll:!0});l.addRules(a(b,"html"),{applyToAll:!0});b.on("toHtml",function(a){a=a.data;var c=a.dataValue,l,c=m(c,b),c=f(c,R),c=r(c),c=f(c,H),c=c.replace(P,"$1cke:$2"),c=c.replace(G,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"),
-c=c.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");l=a.context||b.editable().getName();var e;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==l&&(l="div",c="\x3cpre\x3e"+c+"\x3c/pre\x3e",e=1);l=b.document.createElement(l);l.setHtml("a"+c);c=l.getHtml().substr(1);c=c.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");e&&(c=c.replace(/^<pre>|<\/pre>$/gi,""));c=c.replace(v,"$1$2");c=B(c);c=z(c);l=!1===a.fixForBody?!1:
-d(a.enterMode,b.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,l);l&&(e=c,!e.children.length&&CKEDITOR.dtd[e.name][l]&&(l=new CKEDITOR.htmlParser.element(l),e.add(l)));a.dataValue=c},null,null,5);b.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,!0,a.data.dontFilter,a.data.enterMode)&&b.fire("dataFiltered")},null,null,6);b.on("toHtml",function(a){a.data.dataValue.filterChildren(e.dataFilter,!0)},null,null,10);b.on("toHtml",function(a){a=a.data;var b=a.dataValue,
-c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(!0);a.dataValue=u(b)},null,null,15);b.on("toDataFormat",function(a){var c=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(c=c.replace(/^<br *\/?>/i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.data.context,d(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(e.htmlFilter,!0)},null,null,10);b.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,
-!1,!0)},null,null,11);b.on("toDataFormat",function(a){var c=a.data.dataValue,d=e.writer;d.reset();c.writeChildrenHtml(d);c=d.getHtml(!0);c=z(c);c=y(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,d){var l=this.editor,e,f,n,q;b&&"object"==typeof b?(e=b.context,c=b.fixForBody,d=b.dontFilter,f=b.filter,n=b.enterMode,q=b.protectedWhitespaces):e=b;e||null===e||(e=l.editable().getName());return l.fire("toHtml",{dataValue:a,context:e,fixForBody:c,dontFilter:d,
-filter:f||l.filter,enterMode:n||l.enterMode,protectedWhitespaces:q}).dataValue},toDataFormat:function(a,b){var c,d,l;b&&(c=b.context,d=b.filter,l=b.enterMode);c||null===c||(c=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:d||this.editor.filter,context:c,enterMode:l||this.editor.enterMode}).dataValue}};var x=/(?:&nbsp;|\xa0)$/,J="{cke_protected}",w=CKEDITOR.dtd,F="caption colgroup col thead tfoot tbody".split(" "),l=CKEDITOR.tools.extend({},w.$blockLimit,
-w.$block),q={elements:{input:h,textarea:h}},n={attributeNames:[[/^on/,"data-cke-pa-on"],[/^data-cke-expando$/,""]]},t={elements:{embed:function(a){var b=a.parent;if(b&&"object"==b.name){var c=b.attributes.width,b=b.attributes.height;c&&(a.attributes.width=c);b&&(a.attributes.height=b)}},a:function(a){var b=a.attributes;if(!(a.children.length||b.name||b.id||a.attributes["data-cke-saved-name"]))return!1}}},A={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,
-""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return!1;for(var c=["name","href","src"],d,l=0;l<c.length;l++)d="data-cke-saved-"+c[l],d in b&&delete b[c[l]]}return a},table:function(a){a.children.slice(0).sort(function(a,b){var c,d;a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type&&(c=CKEDITOR.tools.indexOf(F,a.name),d=CKEDITOR.tools.indexOf(F,b.name));-1<c&&-1<d&&c!=d||(c=a.parent?a.getIndex():-1,d=b.parent?b.getIndex():-1);return c>d?
-1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var b=a.children[0];!b&&k(a,b=new CKEDITOR.htmlParser.text);
-b.value=a.attributes["data-cke-title"]||""},input:p,textarea:p},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(A.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})});var C=/<(a|area|img|input|source)\b([^>]*)>/gi,D=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,M=/^(href|src|name)$/i,H=/(?:<style(?=[ >])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,
-R=/(<textarea(?=[ >])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,Q=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,P=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,v=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,G=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})();"use strict";
-CKEDITOR.htmlParser.element=function(a,d){this.name=a;this.attributes=d||{};this.children=[];var b=a||"",c=b.match(/^cke:(.*)/);c&&(b=c[1]);b=!!(CKEDITOR.dtd.$nonBodyContent[b]||CKEDITOR.dtd.$block[b]||CKEDITOR.dtd.$listItem[b]||CKEDITOR.dtd.$tableContent[b]||CKEDITOR.dtd.$nonEditable[b]||"br"==b);this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}};
+c,d){for(var g=[this.findIndex(c),0],h=0,k=a.length;h<k;h++)g.push({value:a[h],priority:c,options:d});this.rules.splice.apply(this.rules,g)},findIndex:function(a){for(var c=this.rules,d=c.length-1;0<=d&&a<c[d].priority;)d--;return d+1},exec:function(a,c){var d=c instanceof CKEDITOR.htmlParser.node||c instanceof CKEDITOR.htmlParser.fragment,g=Array.prototype.slice.call(arguments,1),h=this.rules,k=h.length,n,q,f,D;for(D=0;D<k;D++)if(d&&(n=c.type,q=c.name),f=h[D],!(a.nonEditable&&!f.options.applyToAll||
+a.nestedEditable&&f.options.excludeNestedEditable)){f=f.value.apply(null,g);if(!1===f||d&&f&&(f.name!=q||f.type!=n))return f;null!=f&&(g[0]=c=f)}return c},execOnName:function(a,c){for(var d=0,g=this.rules,h=g.length,k;c&&d<h;d++)k=g[d],a.nonEditable&&!k.options.applyToAll||a.nestedEditable&&k.options.excludeNestedEditable||(c=c.replace(k.value[0],k.value[1]));return c}}})();
+(function(){function a(a,d){function f(a){return a||CKEDITOR.env.needsNbspFiller?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function v(a,d){return function(e){if(e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var t=[],l=b(e),v,p;if(l)for(u(l,1)&&t.push(l);l;)g(l)&&(v=c(l))&&u(v)&&((p=c(v))&&!g(p)?t.push(v):(f(y).insertAfter(v),v.remove())),l=l.previous;for(l=0;l<t.length;l++)t[l].remove();if(t=!a||!1!==("function"==typeof d?d(e):d))y||CKEDITOR.env.needsBrFiller||
+e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT?y||CKEDITOR.env.needsBrFiller||!(7<document.documentMode||e.name in CKEDITOR.dtd.tr||e.name in CKEDITOR.dtd.$listItem)?(t=b(e),t=!t||"form"==e.name&&"input"==t.name):t=!1:t=!1;t&&e.add(f(a))}}}function u(a,b){if((!y||CKEDITOR.env.needsBrFiller)&&a.type==CKEDITOR.NODE_ELEMENT&&"br"==a.name&&!a.attributes["data-cke-eol"])return!0;var c;return a.type==CKEDITOR.NODE_TEXT&&(c=a.value.match(m))&&(c.index&&((new CKEDITOR.htmlParser.text(a.value.substring(0,c.index))).insertBefore(a),
+a.value=c[0]),!CKEDITOR.env.needsBrFiller&&y&&(!b||a.parent.name in B)||!y&&((c=a.previous)&&"br"==c.name||!c||g(c)))?!0:!1}var p={elements:{}},y="html"==d,B=CKEDITOR.tools.extend({},l),C;for(C in B)"#"in z[C]||delete B[C];for(C in B)p.elements[C]=v(y,a.config.fillEmptyBlocks);p.root=v(y,!1);p.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=b.attributes;if("data-cke-bogus"in d||"data-cke-eol"in d)delete d["data-cke-bogus"];else{for(d=b.next;d&&e(d);)d=
+d.next;var t=c(b);!d&&g(b.parent)?h(b.parent,f(a)):g(d)&&t&&!g(t)&&f(a).insertBefore(d)}}}}(y);return p}function d(a,b){return a!=CKEDITOR.ENTER_BR&&!1!==b?a==CKEDITOR.ENTER_DIV?"div":"p":!1}function b(a){for(a=a.children[a.children.length-1];a&&e(a);)a=a.previous;return a}function c(a){for(a=a.previous;a&&e(a);)a=a.previous;return a}function e(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function g(a){return a&&
+(a.type==CKEDITOR.NODE_ELEMENT&&a.name in l||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function h(a,b){var c=a.children[a.children.length-1];a.children.push(b);b.parent=a;c&&(c.next=b,b.previous=c)}function k(a){a=a.attributes;"false"!=a.contenteditable&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function n(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}}function q(a){return a.replace(u,
+function(a,b,c){return"\x3c"+b+c.replace(y,function(a,b){return v.test(b)&&-1==c.indexOf("data-cke-saved-"+b)?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+"\x3e"})}function f(a,b){return a.replace(b,function(a,b,c){0===a.indexOf("\x3ctextarea")&&(a=b+A(c).replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function D(a){return a.replace(V,function(a,b){return decodeURIComponent(b)})}function w(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g,
+function(a){return"\x3c!--"+K+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function A(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)})}function G(a,b){var c=b._.dataStore;return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function x(a,b){var c=[],d=b.config.protectedSource,e=b._.dataStore||(b._.dataStore=
+{id:1}),f=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,d=[/<script[\s\S]*?(<\/script>|$)/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<meta[\s\S]*?\/?>/gi].concat(d);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(c.push(a)-1)+"--\x3e"});for(var l=0;l<d.length;l++)a=a.replace(d[l],function(a){a=a.replace(f,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:"\x3c!--{cke_temp}"+(c.push(a)-1)+"--\x3e"});a=a.replace(f,function(a,b,d){return"\x3c!--"+K+(b?"{C}":
+"")+encodeURIComponent(c[d]).replace(/--/g,"%2D%2D")+"--\x3e"});a=a.replace(/<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,b){e[e.id]=decodeURIComponent(b);return"{cke_protected_"+e.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,c,d,e){return"\x3c"+c+d+"\x3e"+G(A(e),b)+"\x3c/"+c+"\x3e"})}CKEDITOR.htmlDataProcessor=function(b){var c,
+e,l=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(r);c.addRules(J,{applyToAll:!0});c.addRules(a(b,"data"),{applyToAll:!0});e.addRules(H);e.addRules(E,{applyToAll:!0});e.addRules(a(b,"html"),{applyToAll:!0});b.on("toHtml",function(a){a=a.data;var c=a.dataValue,e,c=x(c,b),c=f(c,L),c=q(c),c=f(c,B),c=c.replace(O,"$1cke:$2"),c=c.replace(C,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"),
+c=c.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");e=a.context||b.editable().getName();var l;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==e&&(e="div",c="\x3cpre\x3e"+c+"\x3c/pre\x3e",l=1);e=b.document.createElement(e);e.setHtml("a"+c);c=e.getHtml().substr(1);c=c.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");l&&(c=c.replace(/^<pre>|<\/pre>$/gi,""));c=c.replace(p,"$1$2");c=D(c);c=A(c);e=!1===a.fixForBody?!1:
+d(a.enterMode,b.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,e);e&&(l=c,!l.children.length&&CKEDITOR.dtd[l.name][e]&&(e=new CKEDITOR.htmlParser.element(e),l.add(e)));a.dataValue=c},null,null,5);b.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,!0,a.data.dontFilter,a.data.enterMode)&&b.fire("dataFiltered")},null,null,6);b.on("toHtml",function(a){a.data.dataValue.filterChildren(l.dataFilter,!0)},null,null,10);b.on("toHtml",function(a){a=a.data;var b=a.dataValue,
+c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(!0);a.dataValue=w(b)},null,null,15);b.on("toDataFormat",function(a){var c=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(c=c.replace(/^<br *\/?>/i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.data.context,d(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(l.htmlFilter,!0)},null,null,10);b.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,
+!1,!0)},null,null,11);b.on("toDataFormat",function(a){var c=a.data.dataValue,d=l.writer;d.reset();c.writeChildrenHtml(d);c=d.getHtml(!0);c=A(c);c=G(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,d){var e=this.editor,f,l,v,g;b&&"object"==typeof b?(f=b.context,c=b.fixForBody,d=b.dontFilter,l=b.filter,v=b.enterMode,g=b.protectedWhitespaces):f=b;f||null===f||(f=e.editable().getName());return e.fire("toHtml",{dataValue:a,context:f,fixForBody:c,dontFilter:d,
+filter:l||e.filter,enterMode:v||e.enterMode,protectedWhitespaces:g}).dataValue},toDataFormat:function(a,b){var c,d,e;b&&(c=b.context,d=b.filter,e=b.enterMode);c||null===c||(c=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:d||this.editor.filter,context:c,enterMode:e||this.editor.enterMode}).dataValue}};var m=/(?:&nbsp;|\xa0)$/,K="{cke_protected}",z=CKEDITOR.dtd,I="caption colgroup col thead tfoot tbody".split(" "),l=CKEDITOR.tools.extend({},z.$blockLimit,
+z.$block),r={elements:{input:k,textarea:k}},J={attributeNames:[[/^on/,"data-cke-pa-on"],[/^srcdoc/,"data-cke-pa-srcdoc"],[/^data-cke-expando$/,""]],elements:{iframe:function(a){if(a.attributes&&a.attributes.src){var b=a.attributes.src.toLowerCase().replace(/[^a-z]/gi,"");if(0===b.indexOf("javascript")||0===b.indexOf("data"))a.attributes["data-cke-pa-src"]=a.attributes.src,delete a.attributes.src}}}},H={elements:{embed:function(a){var b=a.parent;if(b&&"object"==b.name){var c=b.attributes.width,b=b.attributes.height;
+c&&(a.attributes.width=c);b&&(a.attributes.height=b)}},a:function(a){var b=a.attributes;if(!(a.children.length||b.name||b.id||a.attributes["data-cke-saved-name"]))return!1}}},E={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return!1;for(var c=["name","href","src"],d,e=0;e<c.length;e++)d="data-cke-saved-"+c[e],d in b&&delete b[c[e]]}return a},
+table:function(a){a.children.slice(0).sort(function(a,b){var c,d;a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type&&(c=CKEDITOR.tools.indexOf(I,a.name),d=CKEDITOR.tools.indexOf(I,b.name));-1<c&&-1<d&&c!=d||(c=a.parent?a.getIndex():-1,d=b.parent?b.getIndex():-1);return c>d?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;
+delete a.attributes.contenteditable},style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var b=a.children[0];!b&&h(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""},input:n,textarea:n},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(E.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,
+function(a){return a.toLowerCase()})});var u=/<(a|area|img|input|source)\b([^>]*)>/gi,y=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,v=/^(href|src|name)$/i,B=/(?:<style(?=[ >])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,L=/(<textarea(?=[ >])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,V=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,O=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,p=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,C=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})();
+"use strict";CKEDITOR.htmlParser.element=function(a,d){this.name=a;this.attributes=d||{};this.children=[];var b=a||"",c=b.match(/^cke:(.*)/);c&&(b=c[1]);b=!!(CKEDITOR.dtd.$nonBodyContent[b]||CKEDITOR.dtd.$block[b]||CKEDITOR.dtd.$listItem[b]||CKEDITOR.dtd.$tableContent[b]||CKEDITOR.dtd.$nonEditable[b]||"br"==b);this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}};
 CKEDITOR.htmlParser.cssStyle=function(a){var d={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style:a)||"").replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,c,e){"font-family"==c&&(e=e.replace(/["']/g,""));d[c.toLowerCase()]=e});return{rules:d,populate:function(a){var c=this.toString();c&&(a instanceof CKEDITOR.dom.element?a.setAttribute("style",c):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=c:a.style=c)},toString:function(){var a=[],c;
 for(c in d)d[c]&&a.push(c,":",d[c],";");return a.join("")}}};
-(function(){function a(a){return function(b){return b.type==CKEDITOR.NODE_ELEMENT&&("string"==typeof a?b.name==a:b.name in a)}}var d=function(a,b){a=a[0];b=b[0];return a<b?-1:a>b?1:0},b=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:b.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,b){var d=this,k,h;b=d.getFilterContext(b);if(b.off)return!0;
-if(!d.parent)a.onRoot(b,d);for(;;){k=d.name;if(!(h=a.onElementName(b,k)))return this.remove(),!1;d.name=h;if(!(d=a.onElement(b,d)))return this.remove(),!1;if(d!==this)return this.replaceWith(d),!1;if(d.name==k)break;if(d.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(d),!1;if(!d.name)return this.replaceWithChildren(),!1}k=d.attributes;var p,r;for(p in k){for(h=k[p];;)if(r=a.onAttributeName(b,p))if(r!=p)delete k[p],p=r;else break;else{delete k[p];break}r&&(!1===(h=a.onAttribute(b,d,r,h))?delete k[r]:
-k[r]=h)}d.isEmpty||this.filterChildren(a,!1,b);return!0},filterChildren:b.filterChildren,writeHtml:function(a,b){b&&this.filter(b);var g=this.name,k=[],h=this.attributes,p,r;a.openTag(g,h);for(p in h)k.push([p,h[p]]);a.sortAttributes&&k.sort(d);p=0;for(r=k.length;p<r;p++)h=k[p],a.attribute(h[0],h[1]);a.openTagClose(g,this.isEmpty);this.writeChildrenHtml(a);this.isEmpty||a.closeTag(g)},writeChildrenHtml:b.writeChildrenHtml,replaceWithChildren:function(){for(var a=this.children,b=a.length;b;)a[--b].insertAfter(this);
+(function(){function a(a){return function(b){return b.type==CKEDITOR.NODE_ELEMENT&&("string"==typeof a?b.name==a:b.name in a)}}var d=function(a,b){a=a[0];b=b[0];return a<b?-1:a>b?1:0},b=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:b.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,b){var d=this,h,k;b=d.getFilterContext(b);if(b.off)return!0;
+if(!d.parent)a.onRoot(b,d);for(;;){h=d.name;if(!(k=a.onElementName(b,h)))return this.remove(),!1;d.name=k;if(!(d=a.onElement(b,d)))return this.remove(),!1;if(d!==this)return this.replaceWith(d),!1;if(d.name==h)break;if(d.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(d),!1;if(!d.name)return this.replaceWithChildren(),!1}h=d.attributes;var n,q;for(n in h){for(k=h[n];;)if(q=a.onAttributeName(b,n))if(q!=n)delete h[n],n=q;else break;else{delete h[n];break}q&&(!1===(k=a.onAttribute(b,d,q,k))?delete h[q]:
+h[q]=k)}d.isEmpty||this.filterChildren(a,!1,b);return!0},filterChildren:b.filterChildren,writeHtml:function(a,b){b&&this.filter(b);var g=this.name,h=[],k=this.attributes,n,q;a.openTag(g,k);for(n in k)h.push([n,k[n]]);a.sortAttributes&&h.sort(d);n=0;for(q=h.length;n<q;n++)k=h[n],a.attribute(k[0],k[1]);a.openTagClose(g,this.isEmpty);this.writeChildrenHtml(a);this.isEmpty||a.closeTag(g)},writeChildrenHtml:b.writeChildrenHtml,replaceWithChildren:function(){for(var a=this.children,b=a.length;b;)a[--b].insertAfter(this);
 this.remove()},forEach:b.forEach,getFirst:function(b){if(!b)return this.children.length?this.children[0]:null;"function"!=typeof b&&(b=a(b));for(var d=0,g=this.children.length;d<g;++d)if(b(this.children[d]))return this.children[d];return null},getHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeChildrenHtml(a);return a.getHtml()},setHtml:function(a){a=this.children=CKEDITOR.htmlParser.fragment.fromHtml(a).children;for(var b=0,d=a.length;b<d;++b)a[b].parent=this},getOuterHtml:function(){var a=
-new CKEDITOR.htmlParser.basicWriter;this.writeHtml(a);return a.getHtml()},split:function(a){for(var b=this.children.splice(a,this.children.length-a),d=this.clone(),k=0;k<b.length;++k)b[k].parent=d;d.children=b;b[0]&&(b[0].previous=null);0<a&&(this.children[a-1].next=null);this.parent.add(d,this.getIndex()+1);return d},find:function(a,b){void 0===b&&(b=!1);var d=[],k;for(k=0;k<this.children.length;k++){var h=this.children[k];"function"==typeof a&&a(h)?d.push(h):"string"==typeof a&&h.name===a&&d.push(h);
-b&&h.find&&(d=d.concat(h.find(a,b)))}return d},addClass:function(a){if(!this.hasClass(a)){var b=this.attributes["class"]||"";this.attributes["class"]=b+(b?" ":"")+a}},removeClass:function(a){var b=this.attributes["class"];b&&((b=CKEDITOR.tools.trim(b.replace(new RegExp("(?:\\s+|^)"+a+"(?:\\s+|$)")," ")))?this.attributes["class"]=b:delete this.attributes["class"])},hasClass:function(a){var b=this.attributes["class"];return b?(new RegExp("(?:^|\\s)"+a+"(?\x3d\\s|$)")).test(b):!1},getFilterContext:function(a){var b=
+new CKEDITOR.htmlParser.basicWriter;this.writeHtml(a);return a.getHtml()},split:function(a){for(var b=this.children.splice(a,this.children.length-a),d=this.clone(),h=0;h<b.length;++h)b[h].parent=d;d.children=b;b[0]&&(b[0].previous=null);0<a&&(this.children[a-1].next=null);this.parent.add(d,this.getIndex()+1);return d},find:function(a,b){void 0===b&&(b=!1);var d=[],h;for(h=0;h<this.children.length;h++){var k=this.children[h];"function"==typeof a&&a(k)?d.push(k):"string"==typeof a&&k.name===a&&d.push(k);
+b&&k.find&&(d=d.concat(k.find(a,b)))}return d},addClass:function(a){if(!this.hasClass(a)){var b=this.attributes["class"]||"";this.attributes["class"]=b+(b?" ":"")+a}},removeClass:function(a){var b=this.attributes["class"];b&&((b=CKEDITOR.tools.trim(b.replace(new RegExp("(?:\\s+|^)"+a+"(?:\\s+|$)")," ")))?this.attributes["class"]=b:delete this.attributes["class"])},hasClass:function(a){var b=this.attributes["class"];return b?(new RegExp("(?:^|\\s)"+a+"(?\x3d\\s|$)")).test(b):!1},getFilterContext:function(a){var b=
 [];a||(a={off:!1,nonEditable:!1,nestedEditable:!1});a.off||"off"!=this.attributes["data-cke-processor"]||b.push("off",!0);a.nonEditable||"false"!=this.attributes.contenteditable?a.nonEditable&&!a.nestedEditable&&"true"==this.attributes.contenteditable&&b.push("nestedEditable",!0):b.push("nonEditable",!0);if(b.length){a=CKEDITOR.tools.copy(a);for(var d=0;d<b.length;d+=2)a[b[d]]=b[d+1]}return a}},!0)})();
-(function(){var a={},d=/{([^}]+)}/g,b=/([\\'])/g,c=/\n/g,e=/\r/g;CKEDITOR.template=function(g){if(a[g])this.output=a[g];else{var k=g.replace(b,"\\$1").replace(c,"\\n").replace(e,"\\r").replace(d,function(a,b){return"',data['"+b+"']\x3d\x3dundefined?'{"+b+"}':data['"+b+"'],'"});this.output=a[g]=Function("data","buffer","return buffer?buffer.push('"+k+"'):['"+k+"'].join('');")}}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document);
+(function(){var a=/{([^}]+)}/g;CKEDITOR.template=function(a){this.source=String(a)};CKEDITOR.template.prototype.output=function(d,b){var c=this.source.replace(a,function(a,b){return void 0!==d[b]?d[b]:a});return b?b.push(c):c}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document);
 CKEDITOR.add=function(a){CKEDITOR.instances[a.name]=a;a.on("focus",function(){CKEDITOR.currentInstance!=a&&(CKEDITOR.currentInstance=a,CKEDITOR.fire("currentInstance"))});a.on("blur",function(){CKEDITOR.currentInstance==a&&(CKEDITOR.currentInstance=null,CKEDITOR.fire("currentInstance"))});CKEDITOR.fire("instance",null,a)};CKEDITOR.remove=function(a){delete CKEDITOR.instances[a.name]};
 (function(){var a={};CKEDITOR.addTemplate=function(d,b){var c=a[d];if(c)return c;c={name:d,source:b};CKEDITOR.fire("template",c);return a[d]=new CKEDITOR.template(c.source)};CKEDITOR.getTemplate=function(d){return a[d]}})();(function(){var a=[];CKEDITOR.addCss=function(d){a.push(d)};CKEDITOR.getCss=function(){return a.join("\n")}})();CKEDITOR.on("instanceDestroyed",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire("reset")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2;
 CKEDITOR.TRISTATE_DISABLED=0;
 (function(){CKEDITOR.inline=function(a,d){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var b=new CKEDITOR.editor(d,a,CKEDITOR.ELEMENT_MODE_INLINE),c=a.is("textarea")?a:null;c?(b.setData(c.getValue(),null,!0),a=CKEDITOR.dom.element.createFromHtml('\x3cdiv contenteditable\x3d"'+!!b.readOnly+'" class\x3d"cke_textarea_inline"\x3e'+c.getValue()+"\x3c/div\x3e",CKEDITOR.document),
 a.insertAfter(c),c.hide(),c.$.form&&b._attachToForm()):b.setData(a.getHtml(),null,!0);b.on("loaded",function(){b.fire("uiReady");b.editable(a);b.container=a;b.ui.contentsElement=a;b.setData(b.getData(1));b.resetDirty();b.fire("contentDom");b.mode="wysiwyg";b.fire("mode");b.status="ready";b.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,b)},null,null,1E4);b.on("destroy",function(){c&&(b.container.clearCustomData(),b.container.remove(),c.show());b.element.clearCustomData();delete b.element});
 return b};CKEDITOR.inlineAll=function(){var a,d,b;for(b in CKEDITOR.dtd.$editable)for(var c=CKEDITOR.document.getElementsByTag(b),e=0,g=c.count();e<g;e++)a=c.getItem(e),"true"==a.getAttribute("contenteditable")&&(d={element:a,config:{}},!1!==CKEDITOR.fire("inline",d)&&CKEDITOR.inline(a,d.config))};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&CKEDITOR.inlineAll()})})();CKEDITOR.replaceClass="ckeditor";
-(function(){function a(a,e,g,k){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var h=new CKEDITOR.editor(e,a,k);k==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.setStyle("visibility","hidden"),h._.required=a.hasAttribute("required"),a.removeAttribute("required"));g&&h.setData(g,null,!0);h.on("loaded",function(){b(h);k==CKEDITOR.ELEMENT_MODE_REPLACE&&h.config.autoUpdateElement&&
-a.$.form&&h._attachToForm();h.setMode(h.config.startupMode,function(){h.resetDirty();h.status="ready";h.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,h)})});h.on("destroy",d);return h}function d(){var a=this.container,b=this.element;a&&(a.clearCustomData(),a.remove());b&&(b.clearCustomData(),this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(b.show(),this._.required&&b.setAttribute("required","required")),delete this.element)}function b(a){var b=a.name,d=a.element,k=a.elementMode,h=
-a.fire("uiSpace",{space:"top",html:""}).html,p=a.fire("uiSpace",{space:"bottom",html:""}).html,r=new CKEDITOR.template('\x3c{outerEl} id\x3d"cke_{name}" class\x3d"{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+CKEDITOR.env.cssClass+'"  dir\x3d"{langDir}" lang\x3d"{langCode}" role\x3d"application"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':"")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e':"")+'\x3c{outerEl} class\x3d"cke_inner cke_reset" role\x3d"presentation"\x3e{topHtml}\x3c{outerEl} id\x3d"{contentId}" class\x3d"cke_contents cke_reset" role\x3d"presentation"\x3e\x3c/{outerEl}\x3e{bottomHtml}\x3c/{outerEl}\x3e\x3c/{outerEl}\x3e'),
-b=CKEDITOR.dom.element.createFromHtml(r.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.title,topHtml:h?'\x3cspan id\x3d"'+a.ui.spaceId("top")+'" class\x3d"cke_top cke_reset_all" role\x3d"presentation" style\x3d"height:auto"\x3e'+h+"\x3c/span\x3e":"",contentId:a.ui.spaceId("contents"),bottomHtml:p?'\x3cspan id\x3d"'+a.ui.spaceId("bottom")+'" class\x3d"cke_bottom cke_reset_all" role\x3d"presentation"\x3e'+p+"\x3c/span\x3e":"",outerEl:CKEDITOR.env.ie?"span":"div"}));k==CKEDITOR.ELEMENT_MODE_REPLACE?
-(d.hide(),b.insertAfter(d)):d.append(b);a.container=b;a.ui.contentsElement=a.ui.space("contents");h&&a.ui.space("top").unselectable();p&&a.ui.space("bottom").unselectable();d=a.config.width;k=a.config.height;d&&b.setStyle("width",CKEDITOR.tools.cssLength(d));k&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(k));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}CKEDITOR.replace=function(b,d){return a(b,d,null,CKEDITOR.ELEMENT_MODE_REPLACE)};
-CKEDITOR.appendTo=function(b,d,g){return a(b,d,g,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var d=null,k=a[b];if(k.name||k.id){if("string"==typeof arguments[0]){if(!(new RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)")).test(k.className))continue}else if("function"==typeof arguments[0]&&(d={},!1===arguments[0](k,d)))continue;this.replace(k,d)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes=
-{}))[a]=b};CKEDITOR.editor.prototype.setMode=function(a,b){var d=this,k=this._.modes;if(a!=d.mode&&k&&k[a]){d.fire("beforeSetMode",a);if(d.mode){var h=d.checkDirty(),k=d._.previousModeData,p,r=0;d.fire("beforeModeUnload");d.editable(0);d._.previousMode=d.mode;d._.previousModeData=p=d.getData(1);"source"==d.mode&&k==p&&(d.fire("lockSnapshot",{forceUpdate:!0}),r=1);d.ui.space("contents").setHtml("");d.mode=""}else d._.previousModeData=d.getData(1);this._.modes[a](function(){d.mode=a;void 0!==h&&!h&&
-d.resetDirty();r?d.fire("unlockSnapshot"):"wysiwyg"==a&&d.fire("saveSnapshot");setTimeout(function(){d.fire("mode");b&&b.call(d)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,d,k){var h=this.container,p=this.ui.space("contents"),r=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement;k=k?this.container.getFirst(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_inner")}):h;k.setSize("width",a,!0);r&&(r.style.width="1%");var f=(k.$.offsetHeight||0)-(p.$.clientHeight||
-0),h=Math.max(b-(d?0:f),0);b=d?b+f:b;p.setStyle("height",h+"px");r&&(r.style.width="100%");this.fire("resize",{outerHeight:b,contentsHeight:h,outerWidth:a||k.getSize("width")})};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg";
-(function(){function a(a){var b=a.editor,e=a.data.path,f=e.blockLimit,g=a.data.selection,h=g.getRanges()[0],D;if(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)if(g=d(g,e))g.appendBogus(),D=CKEDITOR.env.ie;k(b,e.block,f)&&h.collapsed&&!h.getCommonAncestor().isReadOnly()&&(e=h.clone(),e.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS),f=new CKEDITOR.dom.walker(e),f.guard=function(a){return!c(a)||a.type==CKEDITOR.NODE_COMMENT||a.isReadOnly()},!f.checkForward()||e.checkStartOfBlock()&&e.checkEndOfBlock())&&
-(b=h.fixBlock(!0,b.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p"),CKEDITOR.env.needsBrFiller||(b=b.getFirst(c))&&b.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(b.getText()).match(/^(?:&nbsp;|\xa0)$/)&&b.remove(),D=1,a.cancel());D&&h.select()}function d(a,b){if(a.isFake)return 0;var d=b.block||b.blockLimit,e=d&&d.getLast(c);if(!(!d||!d.isBlockBoundary()||e&&e.type==CKEDITOR.NODE_ELEMENT&&e.isBlockBoundary()||d.is("pre")||d.getBogus()))return d}function b(a){var b=a.data.getTarget();b.is("input")&&
-(b=b.getAttribute("type"),"submit"!=b&&"reset"!=b||a.data.preventDefault())}function c(a){return f(a)&&B(a)}function e(a,b){return function(c){var d=c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget;(d=d&&d.nodeType==CKEDITOR.NODE_ELEMENT?new CKEDITOR.dom.element(d):null)&&(b.equals(d)||b.contains(d))||a.call(this,c)}}function g(a){function b(a){return function(b,l){l&&b.type==CKEDITOR.NODE_ELEMENT&&b.is(f)&&(d=b);if(!(l||!c(b)||a&&z(b)))return!1}}var d,e=a.getRanges()[0];a=a.root;
-var f={table:1,ul:1,ol:1,dl:1};if(e.startPath().contains(f)){var g=e.clone();g.collapse(1);g.setStartAt(a,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(g);a.guard=b();a.checkBackward();if(d)return g=e.clone(),g.collapse(),g.setEndAt(d,CKEDITOR.POSITION_AFTER_END),a=new CKEDITOR.dom.walker(g),a.guard=b(!0),d=!1,a.checkForward(),d}return null}function k(a,b,c){return!1!==a.config.autoParagraph&&a.activeEnterMode!=CKEDITOR.ENTER_BR&&(a.editable().equals(c)&&!b||b&&"true"==b.getAttribute("contenteditable"))}
-function h(a){return a.activeEnterMode!=CKEDITOR.ENTER_BR&&!1!==a.config.autoParagraph?a.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p":!1}function p(a){var b=a.editor;b.getSelection().scrollIntoView();setTimeout(function(){b.fire("saveSnapshot")},0)}function r(a,b,c){var d=a.getCommonAncestor(b);for(b=a=c?b:a;(a=a.getParent())&&!d.equals(a)&&1==a.getChildCount();)b=a;b.remove()}var f,B,u,z,y,m,x,J,w,F;CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element,$:function(a,b){this.base(b.$||
-b);this.editor=a;this.status="unloaded";this.hasFocus=!1;this.setup()},proto:{focus:function(){var a;if(CKEDITOR.env.webkit&&!this.hasFocus&&(a=this.editor._.previousActive||this.getDocument().getActive(),this.contains(a))){a.focus();return}CKEDITOR.env.edge&&14<CKEDITOR.env.version&&!this.hasFocus&&this.getDocument().equals(CKEDITOR.document)&&(this.editor._.previousScrollTop=this.$.scrollTop);try{!CKEDITOR.env.ie||CKEDITOR.env.edge&&14<CKEDITOR.env.version||!this.getDocument().equals(CKEDITOR.document)?
-this.$.focus():this.$.setActive()}catch(b){if(!CKEDITOR.env.ie)throw b;}CKEDITOR.env.safari&&!this.isInline()&&(a=CKEDITOR.document.getActive(),a.equals(this.getWindow().getFrame())||this.getWindow().focus())},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);CKEDITOR.env.ie&&/^focus|blur$/.exec(a)&&(a="focus"==a?"focusin":"focusout",b=e(b,this),c[0]=a,c[1]=b);return CKEDITOR.dom.element.prototype.on.apply(this,c)},attachListener:function(a){!this._.listeners&&(this._.listeners=[]);var b=
-Array.prototype.slice.call(arguments,1),b=a.on.apply(a,b);this._.listeners.push(b);return b},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)a.hasOwnProperty(c)&&(b=a[c],null!==b?this.setAttribute(c,b):this.removeAttribute(c))},attachClass:function(a){var b=this.getCustomData("classes");this.hasClass(a)||(!b&&(b=[]),b.push(a),this.setCustomData("classes",b),this.addClass(a))},changeAttr:function(a,
-b){var c=this.getAttribute(a);b!==c&&(!this._.attrChanges&&(this._.attrChanges={}),a in this._.attrChanges||(this._.attrChanges[a]=c),this.setAttribute(a,b))},insertText:function(a){this.editor.focus();this.insertHtml(this.transformPlainTextToHtml(a),"text")},transformPlainTextToHtml:function(a){var b=this.editor.getSelection().getStartElement().hasAscendant("pre",!0)?CKEDITOR.ENTER_BR:this.editor.activeEnterMode;return CKEDITOR.tools.transformPlainTextToHtml(a,b)},insertHtml:function(a,b,c){var d=
-this.editor;d.focus();d.fire("saveSnapshot");c||(c=d.getSelection().getRanges()[0]);m(this,b||"html",a,c);c.select();p(this);this.editor.fire("afterInsertHtml",{})},insertHtmlIntoRange:function(a,b,c){m(this,c||"html",a,b);this.editor.fire("afterInsertHtml",{intoRange:b})},insertElement:function(a,b){var d=this.editor;d.focus();d.fire("saveSnapshot");var e=d.activeEnterMode,d=d.getSelection(),f=a.getName(),f=CKEDITOR.dtd.$block[f];b||(b=d.getRanges()[0]);this.insertElementIntoRange(a,b)&&(b.moveToPosition(a,
-CKEDITOR.POSITION_AFTER_END),f&&((f=a.getNext(function(a){return c(a)&&!z(a)}))&&f.type==CKEDITOR.NODE_ELEMENT&&f.is(CKEDITOR.dtd.$block)?f.getDtd()["#"]?b.moveToElementEditStart(f):b.moveToElementEditEnd(a):f||e==CKEDITOR.ENTER_BR||(f=b.fixBlock(!0,e==CKEDITOR.ENTER_DIV?"div":"p"),b.moveToElementEditStart(f))));d.selectRanges([b]);p(this)},insertElementIntoSelection:function(a){this.insertElement(a)},insertElementIntoRange:function(a,b){var c=this.editor,d=c.config.enterMode,e=a.getName(),f=CKEDITOR.dtd.$block[e];
-if(b.checkReadOnly())return!1;b.deleteContents(1);b.startContainer.type==CKEDITOR.NODE_ELEMENT&&(b.startContainer.is({tr:1,table:1,tbody:1,thead:1,tfoot:1})?x(b):b.startContainer.is(CKEDITOR.dtd.$list)&&J(b));var g,k;if(f)for(;(g=b.getCommonAncestor(0,1))&&(k=CKEDITOR.dtd[g.getName()])&&(!k||!k[e]);)g.getName()in CKEDITOR.dtd.span?b.splitElement(g):b.checkStartOfBlock()&&b.checkEndOfBlock()?(b.setStartBefore(g),b.collapse(!0),g.remove()):b.splitBlock(d==CKEDITOR.ENTER_DIV?"div":"p",c.editable());
-b.insertNode(a);return!0},setData:function(a,b){b||(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.fixInitialSelection();"unloaded"==this.status&&(this.status="ready");this.editor.fire("dataReady")},getData:function(a){var b=this.getHtml();a||(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");this.status="detached";var a=this.editor;this._.detach();delete a.document;
-delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},fixInitialSelection:function(){function a(){var b=c.getDocument().$,d=b.getSelection(),l;a:if(d.anchorNode&&d.anchorNode==c.$)l=!0;else{if(CKEDITOR.env.webkit&&(l=c.getDocument().getActive())&&l.equals(c)&&!d.anchorNode){l=!0;break a}l=void 0}l&&(l=new CKEDITOR.dom.range(c),l.moveToElementEditStart(c),b=b.createRange(),b.setStart(l.startContainer.$,l.startOffset),b.collapse(!0),d.removeAllRanges(),d.addRange(b))}
-function b(){var a=c.getDocument().$,d=a.selection,l=c.getDocument().getActive();"None"==d.type&&l.equals(c)&&(d=new CKEDITOR.dom.range(c),a=a.body.createTextRange(),d.moveToElementEditStart(c),d=d.startContainer,d.type!=CKEDITOR.NODE_ELEMENT&&(d=d.getParent()),a.moveToElementText(d.$),a.collapse(!0),a.select())}var c=this;if(CKEDITOR.env.ie&&(9>CKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),b());else if(this.hasFocus)this.focus(),a();else this.once("focus",function(){a()},
-null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};w.eol.detect(a,this);w.bogus.exclude(a);w.cell.shrink(a);a.fragment=a.range.cloneContents();w.tree.rebuild(a,this);w.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,b){var c=F,d={range:a,doc:a.document},e=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),e;a.enlarge(CKEDITOR.ENLARGE_INLINE,
+(function(){function a(a,e,g,h){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var k=new CKEDITOR.editor(e,a,h);h==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.setStyle("visibility","hidden"),k._.required=a.hasAttribute("required"),a.removeAttribute("required"));g&&k.setData(g,null,!0);k.on("loaded",function(){b(k);h==CKEDITOR.ELEMENT_MODE_REPLACE&&k.config.autoUpdateElement&&
+a.$.form&&k._attachToForm();k.setMode(k.config.startupMode,function(){k.resetDirty();k.status="ready";k.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,k)})});k.on("destroy",d);return k}function d(){var a=this.container,b=this.element;a&&(a.clearCustomData(),a.remove());b&&(b.clearCustomData(),this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(b.show(),this._.required&&b.setAttribute("required","required")),delete this.element)}function b(a){var b=a.name,d=a.element,h=a.elementMode,k=
+a.fire("uiSpace",{space:"top",html:""}).html,n=a.fire("uiSpace",{space:"bottom",html:""}).html,q=new CKEDITOR.template('\x3c{outerEl} id\x3d"cke_{name}" class\x3d"{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+CKEDITOR.env.cssClass+'"  dir\x3d"{langDir}" lang\x3d"{langCode}" role\x3d"application"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':"")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e':"")+'\x3c{outerEl} class\x3d"cke_inner cke_reset" role\x3d"presentation"\x3e{topHtml}\x3c{outerEl} id\x3d"{contentId}" class\x3d"cke_contents cke_reset" role\x3d"presentation"\x3e\x3c/{outerEl}\x3e{bottomHtml}\x3c/{outerEl}\x3e\x3c/{outerEl}\x3e'),
+b=CKEDITOR.dom.element.createFromHtml(q.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.title,topHtml:k?'\x3cspan id\x3d"'+a.ui.spaceId("top")+'" class\x3d"cke_top cke_reset_all" role\x3d"presentation" style\x3d"height:auto"\x3e'+k+"\x3c/span\x3e":"",contentId:a.ui.spaceId("contents"),bottomHtml:n?'\x3cspan id\x3d"'+a.ui.spaceId("bottom")+'" class\x3d"cke_bottom cke_reset_all" role\x3d"presentation"\x3e'+n+"\x3c/span\x3e":"",outerEl:CKEDITOR.env.ie?"span":"div"}));h==CKEDITOR.ELEMENT_MODE_REPLACE?
+(d.hide(),b.insertAfter(d)):d.append(b);a.container=b;a.ui.contentsElement=a.ui.space("contents");k&&a.ui.space("top").unselectable();n&&a.ui.space("bottom").unselectable();d=a.config.width;h=a.config.height;d&&b.setStyle("width",CKEDITOR.tools.cssLength(d));h&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(h));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}CKEDITOR.replace=function(b,d){return a(b,d,null,CKEDITOR.ELEMENT_MODE_REPLACE)};
+CKEDITOR.appendTo=function(b,d,g){return a(b,d,g,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var d=null,h=a[b];if(h.name||h.id){if("string"==typeof arguments[0]){if(!(new RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)")).test(h.className))continue}else if("function"==typeof arguments[0]&&(d={},!1===arguments[0](h,d)))continue;this.replace(h,d)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes=
+{}))[a]=b};CKEDITOR.editor.prototype.setMode=function(a,b){var d=this,h=this._.modes;if(a!=d.mode&&h&&h[a]){d.fire("beforeSetMode",a);if(d.mode){var k=d.checkDirty(),h=d._.previousModeData,n,q=0;d.fire("beforeModeUnload");d.editable(0);d._.previousMode=d.mode;d._.previousModeData=n=d.getData(1);"source"==d.mode&&h==n&&(d.fire("lockSnapshot",{forceUpdate:!0}),q=1);d.ui.space("contents").setHtml("");d.mode=""}else d._.previousModeData=d.getData(1);this._.modes[a](function(){d.mode=a;void 0!==k&&!k&&
+d.resetDirty();q?d.fire("unlockSnapshot"):"wysiwyg"==a&&d.fire("saveSnapshot");setTimeout(function(){d.fire("mode");b&&b.call(d)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,d,h){var k=this.container,n=this.ui.space("contents"),q=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement;h=h?this.container.getFirst(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_inner")}):k;h.setSize("width",a,!0);q&&(q.style.width="1%");var f=(h.$.offsetHeight||0)-(n.$.clientHeight||
+0),k=Math.max(b-(d?0:f),0);b=d?b+f:b;n.setStyle("height",k+"px");q&&(q.style.width="100%");this.fire("resize",{outerHeight:b,contentsHeight:k,outerWidth:a||h.getSize("width")})};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg";
+(function(){function a(a){var b=a.editor,e=a.data.path,f=e.blockLimit,g=a.data.selection,u=g.getRanges()[0],y;if(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)if(g=d(g,e))g.appendBogus(),y=CKEDITOR.env.ie;h(b,e.block,f)&&u.collapsed&&!u.getCommonAncestor().isReadOnly()&&(e=u.clone(),e.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS),f=new CKEDITOR.dom.walker(e),f.guard=function(a){return!c(a)||a.type==CKEDITOR.NODE_COMMENT||a.isReadOnly()},!f.checkForward()||e.checkStartOfBlock()&&e.checkEndOfBlock())&&
+(b=u.fixBlock(!0,b.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p"),CKEDITOR.env.needsBrFiller||(b=b.getFirst(c))&&b.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(b.getText()).match(/^(?:&nbsp;|\xa0)$/)&&b.remove(),y=1,a.cancel());y&&u.select()}function d(a,b){if(a.isFake)return 0;var d=b.block||b.blockLimit,e=d&&d.getLast(c);if(!(!d||!d.isBlockBoundary()||e&&e.type==CKEDITOR.NODE_ELEMENT&&e.isBlockBoundary()||d.is("pre")||d.getBogus()))return d}function b(a){var b=a.data.getTarget();b.is("input")&&
+(b=b.getAttribute("type"),"submit"!=b&&"reset"!=b||a.data.preventDefault())}function c(a){return f(a)&&D(a)}function e(a,b){return function(c){var d=c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget;(d=d&&d.nodeType==CKEDITOR.NODE_ELEMENT?new CKEDITOR.dom.element(d):null)&&(b.equals(d)||b.contains(d))||a.call(this,c)}}function g(a){function b(a){return function(b,e){e&&b.type==CKEDITOR.NODE_ELEMENT&&b.is(f)&&(d=b);if(!(e||!c(b)||a&&A(b)))return!1}}var d,e=a.getRanges()[0];a=a.root;
+var f={table:1,ul:1,ol:1,dl:1};if(e.startPath().contains(f)){var u=e.clone();u.collapse(1);u.setStartAt(a,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(u);a.guard=b();a.checkBackward();if(d)return u=e.clone(),u.collapse(),u.setEndAt(d,CKEDITOR.POSITION_AFTER_END),a=new CKEDITOR.dom.walker(u),a.guard=b(!0),d=!1,a.checkForward(),d}return null}function h(a,b,c){return!1!==a.config.autoParagraph&&a.activeEnterMode!=CKEDITOR.ENTER_BR&&(a.editable().equals(c)&&!b||b&&"true"==b.getAttribute("contenteditable"))}
+function k(a){return a.activeEnterMode!=CKEDITOR.ENTER_BR&&!1!==a.config.autoParagraph?a.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p":!1}function n(a){var b=a.editor;b.getSelection().scrollIntoView();setTimeout(function(){b.fire("saveSnapshot")},0)}function q(a,b,c){var d=a.getCommonAncestor(b);for(b=a=c?b:a;(a=a.getParent())&&!d.equals(a)&&1==a.getChildCount();)b=a;b.remove()}var f,D,w,A,G,x,m,K,z,I;CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element,$:function(a,b){this.base(b.$||
+b);this.editor=a;this.status="unloaded";this.hasFocus=!1;this.setup()},proto:{focus:function(){var a;if(CKEDITOR.env.webkit&&!this.hasFocus&&(a=this.editor._.previousActive||this.getDocument().getActive(),this.contains(a))){a.focus();return}CKEDITOR.env.edge&&14<CKEDITOR.env.version&&!this.hasFocus&&this.getDocument().equals(CKEDITOR.document)&&(this.editor._.previousScrollTop=this.$.scrollTop);try{if(!CKEDITOR.env.ie||CKEDITOR.env.edge&&14<CKEDITOR.env.version||!this.getDocument().equals(CKEDITOR.document))if(CKEDITOR.env.chrome){var b=
+this.$.scrollTop;this.$.focus();this.$.scrollTop=b}else this.$.focus();else this.$.setActive()}catch(c){if(!CKEDITOR.env.ie)throw c;}CKEDITOR.env.safari&&!this.isInline()&&(a=CKEDITOR.document.getActive(),a.equals(this.getWindow().getFrame())||this.getWindow().focus())},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);CKEDITOR.env.ie&&/^focus|blur$/.exec(a)&&(a="focus"==a?"focusin":"focusout",b=e(b,this),c[0]=a,c[1]=b);return CKEDITOR.dom.element.prototype.on.apply(this,c)},attachListener:function(a){!this._.listeners&&
+(this._.listeners=[]);var b=Array.prototype.slice.call(arguments,1),b=a.on.apply(a,b);this._.listeners.push(b);return b},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)a.hasOwnProperty(c)&&(b=a[c],null!==b?this.setAttribute(c,b):this.removeAttribute(c))},attachClass:function(a){var b=this.getCustomData("classes");this.hasClass(a)||(!b&&(b=[]),b.push(a),this.setCustomData("classes",
+b),this.addClass(a))},changeAttr:function(a,b){var c=this.getAttribute(a);b!==c&&(!this._.attrChanges&&(this._.attrChanges={}),a in this._.attrChanges||(this._.attrChanges[a]=c),this.setAttribute(a,b))},insertText:function(a){this.editor.focus();this.insertHtml(this.transformPlainTextToHtml(a),"text")},transformPlainTextToHtml:function(a){var b=this.editor.getSelection().getStartElement().hasAscendant("pre",!0)?CKEDITOR.ENTER_BR:this.editor.activeEnterMode;return CKEDITOR.tools.transformPlainTextToHtml(a,
+b)},insertHtml:function(a,b,c){var d=this.editor;d.focus();d.fire("saveSnapshot");c||(c=d.getSelection().getRanges()[0]);x(this,b||"html",a,c);c.select();n(this);this.editor.fire("afterInsertHtml",{})},insertHtmlIntoRange:function(a,b,c){x(this,c||"html",a,b);this.editor.fire("afterInsertHtml",{intoRange:b})},insertElement:function(a,b){var d=this.editor;d.focus();d.fire("saveSnapshot");var e=d.activeEnterMode,d=d.getSelection(),f=a.getName(),f=CKEDITOR.dtd.$block[f];b||(b=d.getRanges()[0]);this.insertElementIntoRange(a,
+b)&&(b.moveToPosition(a,CKEDITOR.POSITION_AFTER_END),f&&((f=a.getNext(function(a){return c(a)&&!A(a)}))&&f.type==CKEDITOR.NODE_ELEMENT&&f.is(CKEDITOR.dtd.$block)?f.getDtd()["#"]?b.moveToElementEditStart(f):b.moveToElementEditEnd(a):f||e==CKEDITOR.ENTER_BR||(f=b.fixBlock(!0,e==CKEDITOR.ENTER_DIV?"div":"p"),b.moveToElementEditStart(f))));d.selectRanges([b]);n(this)},insertElementIntoSelection:function(a){this.insertElement(a)},insertElementIntoRange:function(a,b){var c=this.editor,d=c.config.enterMode,
+e=a.getName(),f=CKEDITOR.dtd.$block[e];if(b.checkReadOnly())return!1;b.deleteContents(1);b.startContainer.type==CKEDITOR.NODE_ELEMENT&&(b.startContainer.is({tr:1,table:1,tbody:1,thead:1,tfoot:1})?m(b):b.startContainer.is(CKEDITOR.dtd.$list)&&K(b));var g,v;if(f)for(;(g=b.getCommonAncestor(0,1))&&(v=CKEDITOR.dtd[g.getName()])&&(!v||!v[e]);)g.getName()in CKEDITOR.dtd.span?b.splitElement(g):b.checkStartOfBlock()&&b.checkEndOfBlock()?(b.setStartBefore(g),b.collapse(!0),g.remove()):b.splitBlock(d==CKEDITOR.ENTER_DIV?
+"div":"p",c.editable());b.insertNode(a);return!0},setData:function(a,b){b||(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.fixInitialSelection();"unloaded"==this.status&&(this.status="ready");this.editor.fire("dataReady")},getData:function(a){var b=this.getHtml();a||(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");this.status="detached";var a=this.editor;this._.detach();
+delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},fixInitialSelection:function(){function a(){var b=c.getDocument().$,d=b.getSelection(),e;a:if(d.anchorNode&&d.anchorNode==c.$)e=!0;else{if(CKEDITOR.env.webkit&&(e=c.getDocument().getActive())&&e.equals(c)&&!d.anchorNode){e=!0;break a}e=void 0}e&&(e=new CKEDITOR.dom.range(c),e.moveToElementEditStart(c),b=b.createRange(),b.setStart(e.startContainer.$,e.startOffset),b.collapse(!0),d.removeAllRanges(),
+d.addRange(b))}function b(){var a=c.getDocument().$,d=a.selection,e=c.getDocument().getActive();"None"==d.type&&e.equals(c)&&(d=new CKEDITOR.dom.range(c),a=a.body.createTextRange(),d.moveToElementEditStart(c),d=d.startContainer,d.type!=CKEDITOR.NODE_ELEMENT&&(d=d.getParent()),a.moveToElementText(d.$),a.collapse(!0),a.select())}var c=this;if(CKEDITOR.env.ie&&(9>CKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),b());else if(this.hasFocus)this.focus(),a();else this.once("focus",
+function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};z.eol.detect(a,this);z.bogus.exclude(a);z.cell.shrink(a);a.fragment=a.range.cloneContents();z.tree.rebuild(a,this);z.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,b){var c=I,d={range:a,doc:a.document},e=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),e;a.enlarge(CKEDITOR.ENLARGE_INLINE,
 1);c.table.detectPurge(d);d.bookmark=a.createBookmark();delete d.range;var f=this.editor.createRange();f.moveToPosition(d.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);d.targetBookmark=f.createBookmark();c.list.detectMerge(d,this);c.table.detectRanges(d,this);c.block.detectMerge(d,this);d.tableContentsRanges?(c.table.deleteRanges(d),a.moveToBookmark(d.bookmark),d.range=a):(a.moveToBookmark(d.bookmark),d.range=a,a.extractContents(c.detectExtractMerge(d)));a.moveToBookmark(d.targetBookmark);a.optimize();
-c.fixUneditableRangePosition(a);c.list.merge(d,this);c.table.purge(d,this);c.block.merge(d,this);if(b){c=a.startPath();if(d=a.checkStartOfBlock()&&a.checkEndOfBlock()&&c.block&&!a.root.equals(c.block)){a:{var d=c.block.getElementsByTag("span"),f=0,g;if(d)for(;g=d.getItem(f++);)if(!B(g)){d=!0;break a}d=!1}d=!d}d&&(a.moveToPosition(c.block,CKEDITOR.POSITION_BEFORE_START),c.block.remove())}else c.autoParagraph(this.editor,a),u(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();
-return e},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(b=b.replace(y,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,
+c.fixUneditableRangePosition(a);c.list.merge(d,this);c.table.purge(d,this);c.block.merge(d,this);if(b){c=a.startPath();if(d=a.checkStartOfBlock()&&a.checkEndOfBlock()&&c.block&&!a.root.equals(c.block)){a:{var d=c.block.getElementsByTag("span"),f=0,g;if(d)for(;g=d.getItem(f++);)if(!D(g)){d=!0;break a}d=!1}d=!d}d&&(a.moveToPosition(c.block,CKEDITOR.POSITION_BEFORE_START),c.block.remove())}else c.autoParagraph(this.editor,a),w(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();
+return e},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(b=b.replace(G,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,
 "beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&"Control"==b.type||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):
 a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll",function(){a._.previousScrollTop=a.editable().$.scrollTop},null,
 null,-1);if(CKEDITOR.env.edge&&14<CKEDITOR.env.version){var d=function(){var b=a.editable();null!=a._.previousScrollTop&&b.getDocument().equals(CKEDITOR.document)&&(b.$.scrollTop=a._.previousScrollTop,a._.previousScrollTop=null,this.removeListener("scroll",d))};this.on("scroll",d)}a.focusManager.add(this);this.equals(CKEDITOR.document.getActive())&&(this.hasFocus=!0,a.once("contentDom",function(){a.focusManager.focus(this)},this));this.isInline()&&this.changeAttr("tabindex",a.tabIndex);if(!this.is("textarea")){a.document=
-this.getDocument();a.window=this.getWindow();var e=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var t=a.config.contentsLangDirection;this.getDirection(1)!=t&&this.changeAttr("dir",t);var k=CKEDITOR.getCss();if(k){var t=e.getHead(),h=t.getCustomData("stylesheet");h?k!=h.getText()&&(CKEDITOR.env.ie&&9>CKEDITOR.env.version?h.$.styleSheet.cssText=k:h.setText(k)):(k=e.appendStyleText(k),k=new CKEDITOR.dom.element(k.ownerNode||k.owningElement),t.setCustomData("stylesheet",
-k),k.data("cke-temp",1))}t=e.getCustomData("stylesheet_ref")||0;e.setCustomData("stylesheet_ref",t+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");b&&2!=a.$.button&&b.isReadOnly()&&a.preventDefault()});var D={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var c=b.data.domEvent.getKey(),d;if(c in D){b=a.getSelection();var e,
-n=b.getRanges()[0],q=n.startPath(),t,k,h,c=8==c;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(e=b.getSelectedElement())||(e=g(b))?(a.fire("saveSnapshot"),n.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e.remove(),n.select(),a.fire("saveSnapshot"),d=1):n.collapsed&&((t=q.block)&&(h=t[c?"getPrevious":"getNext"](f))&&h.type==CKEDITOR.NODE_ELEMENT&&h.is("table")&&n[c?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),n[c?"checkEndOfBlock":"checkStartOfBlock"]()&&t.remove(),n["moveToElementEdit"+
-(c?"End":"Start")](h),n.select(),a.fire("saveSnapshot"),d=1):q.blockLimit&&q.blockLimit.is("td")&&(k=q.blockLimit.getAscendant("table"))&&n.checkBoundaryOfElement(k,c?CKEDITOR.START:CKEDITOR.END)&&(h=k[c?"getPrevious":"getNext"](f))?(a.fire("saveSnapshot"),n["moveToElementEdit"+(c?"End":"Start")](h),n.checkStartOfBlock()&&n.checkEndOfBlock()?h.remove():n.select(),a.fire("saveSnapshot"),d=1):(k=q.contains(["td","th","caption"]))&&n.checkBoundaryOfElement(k,c?CKEDITOR.START:CKEDITOR.END)&&(d=1))}return!d});
-a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(b){b.data.getKeystroke()in D&&!this.getFirst(c)&&(this.appendBogus(),b=a.createRange(),b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START),b.select())});this.attachListener(this,"dblclick",function(b){if(a.readOnly)return!1;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",b);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",
-function(b){var c=b.data.getTarget();c.is("img","hr","input","textarea","select")&&!c.isReadOnly()&&(a.getSelection().selectElement(c),c.is("input","textarea","select")&&b.data.preventDefault())});CKEDITOR.env.edge&&this.attachListener(this,"mouseup",function(b){(b=b.data.getTarget())&&b.is("img")&&a.getSelection().selectElement(b)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(2==b.data.$.button&&(b=b.data.getTarget(),!b.getOuterHtml().replace(y,""))){var c=a.createRange();
-c.moveToElementEditStart(b);c.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(b){if(a.readOnly)return!0;b=b.data.domEvent.getKey();if(b in D){var c=8==b,d=a.getSelection().getRanges()[0];b=d.startPath();if(d.collapsed)a:{var e=
-b.block;if(e&&d[c?"checkStartOfBlock":"checkEndOfBlock"]()&&d.moveToClosestEditablePosition(e,!c)&&d.collapsed){if(d.startContainer.type==CKEDITOR.NODE_ELEMENT){var f=d.startContainer.getChild(d.startOffset-(c?1:0));if(f&&f.type==CKEDITOR.NODE_ELEMENT&&f.is("hr")){a.fire("saveSnapshot");f.remove();b=!0;break a}}d=d.startPath().block;if(!d||d&&d.contains(e))b=void 0;else{a.fire("saveSnapshot");var n;(n=(c?d:e).getBogus())&&n.remove();n=a.getSelection();f=n.createBookmarks();(c?e:d).moveChildren(c?
-d:e,!1);b.lastElement.mergeSiblings();r(e,d,!c);n.selectBookmarks(f);b=!0}}else b=!1}else c=d,n=b.block,d=c.endPath().block,n&&d&&!n.equals(d)?(a.fire("saveSnapshot"),(e=n.getBogus())&&e.remove(),c.enlarge(CKEDITOR.ENLARGE_INLINE),c.deleteContents(),d.getParent()&&(d.moveChildren(n,!1),b.lastElement.mergeSiblings(),r(n,d,!0)),c=a.getSelection().getRanges()[0],c.collapse(1),c.optimize(),""===c.startContainer.getHtml()&&c.startContainer.appendBogus(),c.select(),b=!0):b=!1;if(!b)return;a.getSelection().scrollIntoView();
-a.fire("saveSnapshot");return!1}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());if(!this.is("textarea")){a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c=a.getCustomData("stylesheet_ref");--c?a.setCustomData("stylesheet_ref",c):(a.removeCustomData("stylesheet_ref"),b.removeCustomData("stylesheet").remove())}}this.editor.fire("contentDomUnload");
+this.getDocument();a.window=this.getWindow();var e=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var k=a.config.contentsLangDirection;this.getDirection(1)!=k&&this.changeAttr("dir",k);var h=CKEDITOR.getCss();if(h){var k=e.getHead(),u=k.getCustomData("stylesheet");u?h!=u.getText()&&(CKEDITOR.env.ie&&9>CKEDITOR.env.version?u.$.styleSheet.cssText=h:u.setText(h)):(h=e.appendStyleText(h),h=new CKEDITOR.dom.element(h.ownerNode||h.owningElement),k.setCustomData("stylesheet",
+h),h.data("cke-temp",1))}k=e.getCustomData("stylesheet_ref")||0;e.setCustomData("stylesheet_ref",k+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");b&&2!=a.$.button&&b.isReadOnly()&&a.preventDefault()});var y={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var c=b.data.domEvent.getKey(),d;b=a.getSelection();if(0!==b.getRanges().length){if(c in
+y){var e,u=b.getRanges()[0],p=u.startPath(),C,t,k,c=8==c;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(e=b.getSelectedElement())||(e=g(b))?(a.fire("saveSnapshot"),u.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e.remove(),u.select(),a.fire("saveSnapshot"),d=1):u.collapsed&&((C=p.block)&&(k=C[c?"getPrevious":"getNext"](f))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("table")&&u[c?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),u[c?"checkEndOfBlock":"checkStartOfBlock"]()&&C.remove(),u["moveToElementEdit"+
+(c?"End":"Start")](k),u.select(),a.fire("saveSnapshot"),d=1):p.blockLimit&&p.blockLimit.is("td")&&(t=p.blockLimit.getAscendant("table"))&&u.checkBoundaryOfElement(t,c?CKEDITOR.START:CKEDITOR.END)&&(k=t[c?"getPrevious":"getNext"](f))?(a.fire("saveSnapshot"),u["moveToElementEdit"+(c?"End":"Start")](k),u.checkStartOfBlock()&&u.checkEndOfBlock()?k.remove():u.select(),a.fire("saveSnapshot"),d=1):(t=p.contains(["td","th","caption"]))&&u.checkBoundaryOfElement(t,c?CKEDITOR.START:CKEDITOR.END)&&(d=1))}return!d}});
+a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(b){b.data.getKeystroke()in y&&!this.getFirst(c)&&(this.appendBogus(),b=a.createRange(),b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START),b.select())});this.attachListener(this,"dblclick",function(b){if(a.readOnly)return!1;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",b);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",
+function(b){var c=b.data.getTarget();c.is("img","hr","input","textarea","select")&&!c.isReadOnly()&&(a.getSelection().selectElement(c),c.is("input","textarea","select")&&b.data.preventDefault())});CKEDITOR.env.edge&&this.attachListener(this,"mouseup",function(b){(b=b.data.getTarget())&&b.is("img")&&a.getSelection().selectElement(b)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(2==b.data.$.button&&(b=b.data.getTarget(),!b.getOuterHtml().replace(G,""))){var c=a.createRange();
+c.moveToElementEditStart(b);c.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var c=b.data.domEvent.getKey();if(c in y&&(b=a.getSelection(),0!==b.getRanges().length)){var c=8==c,d=b.getRanges()[0];b=d.startPath();
+if(d.collapsed)a:{var e=b.block;if(e&&d[c?"checkStartOfBlock":"checkEndOfBlock"]()&&d.moveToClosestEditablePosition(e,!c)&&d.collapsed){if(d.startContainer.type==CKEDITOR.NODE_ELEMENT){var f=d.startContainer.getChild(d.startOffset-(c?1:0));if(f&&f.type==CKEDITOR.NODE_ELEMENT&&f.is("hr")){a.fire("saveSnapshot");f.remove();b=!0;break a}}d=d.startPath().block;if(!d||d&&d.contains(e))b=void 0;else{a.fire("saveSnapshot");var p;(p=(c?d:e).getBogus())&&p.remove();p=a.getSelection();f=p.createBookmarks();
+(c?e:d).moveChildren(c?d:e,!1);b.lastElement.mergeSiblings();q(e,d,!c);p.selectBookmarks(f);b=!0}}else b=!1}else c=d,p=b.block,d=c.endPath().block,p&&d&&!p.equals(d)?(a.fire("saveSnapshot"),(e=p.getBogus())&&e.remove(),c.enlarge(CKEDITOR.ENLARGE_INLINE),c.deleteContents(),d.getParent()&&(d.moveChildren(p,!1),b.lastElement.mergeSiblings(),q(p,d,!0)),c=a.getSelection().getRanges()[0],c.collapse(1),c.optimize(),""===c.startContainer.getHtml()&&c.startContainer.appendBogus(),c.select(),b=!0):b=!1;if(!b)return;
+a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());if(!this.is("textarea")){a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c=a.getCustomData("stylesheet_ref");--c?a.setCustomData("stylesheet_ref",c):(a.removeCustomData("stylesheet_ref"),b.removeCustomData("stylesheet").remove())}}this.editor.fire("contentDomUnload");
 delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;arguments.length&&(b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null));return b};CKEDITOR.on("instanceLoaded",function(b){var c=b.editor;c.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")?
 "true":"1"),a.setAttribute("contentEditable",!1))});c.on("selectionChange",function(b){if(!c.readOnly){var d=c.getSelection();d&&!d.isLocked&&(d=c.checkDirty(),c.fire("lockSnapshot"),a(b),c.fire("unlockSnapshot"),!d&&c.resetDirty())}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode",function(){var a=b.editable();if(a&&a.isInline()){var c=b.title;a.changeAttr("role","textbox");a.changeAttr("aria-label",c);c&&a.changeAttr("title",c);var d=b.fire("ariaEditorHelpLabel",{}).label;
-if(d&&(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var e=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+e+'" class\x3d"cke_voice_label"\x3e'+d+"\x3c/span\x3e");c.append(d);a.changeAttr("aria-describedby",e)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");f=CKEDITOR.dom.walker.whitespaces(!0);B=CKEDITOR.dom.walker.bookmark(!1,!0);u=CKEDITOR.dom.walker.empty();
-z=CKEDITOR.dom.walker.bogus();y=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;m=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(c,d){var e,f,n,t,g=[],k=d.range.startContainer;e=d.range.startPath();for(var k=p[k.getName()],h=0,C=c.getChildren(),A=C.count(),D=-1,m=-1,r=0,H=e.contains(p.$list);h<A;++h)e=C.getItem(h),a(e)?(n=e.getName(),H&&n in CKEDITOR.dtd.$list?g=g.concat(b(e,d)):(t=!!k[n],
-"br"!=n||!e.data("cke-eol")||h&&h!=A-1||(r=(f=h?g[h-1].node:C.getItem(h+1))&&(!a(f)||!f.is("br")),f=f&&a(f)&&p.$block[f.getName()]),-1!=D||t||(D=h),t||(m=h),g.push({isElement:1,isLineBreak:r,isBlock:e.isBlockBoundary(),hasBlockSibling:f,node:e,name:n,allowed:t}),f=r=0)):g.push({isElement:0,node:e,allowed:1});-1<D&&(g[D].firstNotAllowed=1);-1<m&&(g[m].lastNotAllowed=1);return g}function d(b,c){var e=[],f=b.getChildren(),q=f.count(),g,t=0,k=p[c],h=!b.is(p.$inline)||b.is("br");for(h&&e.push(" ");t<q;t++)g=
-f.getItem(t),a(g)&&!g.is(k)?e=e.concat(d(g,c)):e.push(g);h&&e.push(" ");return e}function e(b){return a(b.startContainer)&&b.startContainer.getChild(b.startOffset-1)}function f(b){return b&&a(b)&&(b.is(p.$removeEmpty)||b.is("a")&&!b.isBlockBoundary())}function g(b,c,d,e){var f=b.clone(),n,q;f.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);(n=(new CKEDITOR.dom.walker(f)).next())&&a(n)&&m[n.getName()]&&(q=n.getPrevious())&&a(q)&&!q.getParent().equals(b.startContainer)&&d.contains(q)&&e.contains(n)&&n.isIdentical(q)&&
-(n.moveChildren(q),n.remove(),g(b,c,d,e))}function D(b,c){function d(b,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&a(b)&&b.is("br"))return b.remove(),1}var e=c.endContainer.getChild(c.endOffset),f=c.endContainer.getChild(c.endOffset-1);e&&d(e,b[b.length-1]);f&&d(f,b[0])&&(c.setEnd(c.endContainer,c.endOffset-1),c.collapse())}var p=CKEDITOR.dtd,m={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},r={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},x=CKEDITOR.tools.extend({},
-p.$inline);delete x.br;return function(m,v,G,E){var I=m.editor,K=!1;"unfiltered_html"==v&&(v="html",K=!0);if(!E.checkReadOnly()){var L=(new CKEDITOR.dom.elementPath(E.startContainer,E.root)).blockLimit||E.root;m={type:v,dontFilter:K,editable:m,editor:I,range:E,blockLimit:L,mergeCandidates:[],zombies:[]};v=m.range;E=m.mergeCandidates;var H,u;"text"==m.type&&v.shrink(CKEDITOR.SHRINK_ELEMENT,!0,!1)&&(H=CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",v.document),v.insertNode(H),
-v.setStartAfter(H));K=new CKEDITOR.dom.elementPath(v.startContainer);m.endPath=L=new CKEDITOR.dom.elementPath(v.endContainer);if(!v.collapsed){var I=L.block||L.blockLimit,B=v.getCommonAncestor();I&&!I.equals(B)&&!I.contains(B)&&v.checkEndOfBlock()&&m.zombies.push(I);v.deleteContents()}for(;(u=e(v))&&a(u)&&u.isBlockBoundary()&&K.contains(u);)v.moveToPosition(u,CKEDITOR.POSITION_BEFORE_END);g(v,m.blockLimit,K,L);H&&(v.setEndBefore(H),v.collapse(),H.remove());H=v.startPath();if(I=H.contains(f,!1,1))v.splitElement(I),
-m.inlineStylesRoot=I,m.inlineStylesPeak=H.lastElement;H=v.createBookmark();(I=H.startNode.getPrevious(c))&&a(I)&&f(I)&&E.push(I);(I=H.startNode.getNext(c))&&a(I)&&f(I)&&E.push(I);for(I=H.startNode;(I=I.getParent())&&f(I);)E.push(I);v.moveToBookmark(H);if(H=G){H=m.range;if("text"==m.type&&m.inlineStylesRoot){u=m.inlineStylesPeak;v=u.getDocument().createText("{cke-peak}");for(E=m.inlineStylesRoot.getParent();!u.equals(E);)v=v.appendTo(u.clone()),u=u.getParent();G=v.getOuterHtml().split("{cke-peak}").join(G)}u=
-m.blockLimit.getName();if(/^\s+|\s+$/.test(G)&&"span"in CKEDITOR.dtd[u]){var z='\x3cspan data-cke-marker\x3d"1"\x3e\x26nbsp;\x3c/span\x3e';G=z+G+z}G=m.editor.dataProcessor.toHtml(G,{context:null,fixForBody:!1,protectedWhitespaces:!!z,dontFilter:m.dontFilter,filter:m.editor.activeFilter,enterMode:m.editor.activeEnterMode});u=H.document.createElement("body");u.setHtml(G);z&&(u.getFirst().remove(),u.getLast().remove());if((z=H.startPath().block)&&(1!=z.getChildCount()||!z.getBogus()))a:{var w;if(1==
-u.getChildCount()&&a(w=u.getFirst())&&w.is(r)&&!w.hasAttribute("contenteditable")){z=w.getElementsByTag("*");H=0;for(E=z.count();H<E;H++)if(v=z.getItem(H),!v.is(x))break a;w.moveChildren(w.getParent(1));w.remove()}}m.dataWrapper=u;H=G}if(H){w=m.range;H=w.document;var y;u=m.blockLimit;E=0;var O,z=[],N,V;G=I=0;var F,J;v=w.startContainer;var K=m.endPath.elements[0],Y,L=K.getPosition(v),B=!!K.getCommonAncestor(v)&&L!=CKEDITOR.POSITION_IDENTICAL&&!(L&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED);
-v=b(m.dataWrapper,m);for(D(v,w);E<v.length;E++){L=v[E];if(y=L.isLineBreak){y=w;F=u;var U=void 0,aa=void 0;L.hasBlockSibling?y=1:(U=y.startContainer.getAscendant(p.$block,1))&&U.is({div:1,p:1})?(aa=U.getPosition(F),aa==CKEDITOR.POSITION_IDENTICAL||aa==CKEDITOR.POSITION_CONTAINS?y=0:(F=y.splitElement(U),y.moveToPosition(F,CKEDITOR.POSITION_AFTER_START),y=1)):y=0}if(y)G=0<E;else{y=w.startPath();!L.isBlock&&k(m.editor,y.block,y.blockLimit)&&(V=h(m.editor))&&(V=H.createElement(V),V.appendBogus(),w.insertNode(V),
-CKEDITOR.env.needsBrFiller&&(O=V.getBogus())&&O.remove(),w.moveToPosition(V,CKEDITOR.POSITION_BEFORE_END));if((y=w.startPath().block)&&!y.equals(N)){if(O=y.getBogus())O.remove(),z.push(y);N=y}L.firstNotAllowed&&(I=1);if(I&&L.isElement){y=w.startContainer;for(F=null;y&&!p[y.getName()][L.name];){if(y.equals(u)){y=null;break}F=y;y=y.getParent()}if(y)F&&(J=w.splitElement(F),m.zombies.push(J),m.zombies.push(F));else{F=u.getName();Y=!E;y=E==v.length-1;F=d(L.node,F);for(var U=[],aa=F.length,ba=0,da=void 0,
-ea=0,W=-1;ba<aa;ba++)da=F[ba]," "==da?(ea||Y&&!ba||(U.push(new CKEDITOR.dom.text(" ")),W=U.length),ea=1):(U.push(da),ea=0);y&&W==U.length&&U.pop();Y=U}}if(Y){for(;y=Y.pop();)w.insertNode(y);Y=0}else w.insertNode(L.node);L.lastNotAllowed&&E<v.length-1&&((J=B?K:J)&&w.setEndAt(J,CKEDITOR.POSITION_AFTER_START),I=0);w.collapse()}}1!=v.length?O=!1:(O=v[0],O=O.isElement&&"false"==O.node.getAttribute("contenteditable"));O&&(G=!0,y=v[0].node,w.setStartAt(y,CKEDITOR.POSITION_BEFORE_START),w.setEndAt(y,CKEDITOR.POSITION_AFTER_END));
-m.dontMoveCaret=G;m.bogusNeededBlocks=z}O=m.range;var T;J=m.bogusNeededBlocks;for(Y=O.createBookmark();N=m.zombies.pop();)N.getParent()&&(V=O.clone(),V.moveToElementEditStart(N),V.removeEmptyBlocksAtEnd());if(J)for(;N=J.pop();)CKEDITOR.env.needsBrFiller?N.appendBogus():N.append(O.document.createText(" "));for(;N=m.mergeCandidates.pop();)N.mergeSiblings();O.moveToBookmark(Y);if(!m.dontMoveCaret){for(N=e(O);N&&a(N)&&!N.is(p.$empty);){if(N.isBlockBoundary())O.moveToPosition(N,CKEDITOR.POSITION_BEFORE_END);
-else{if(f(N)&&N.getHtml().match(/(\s|&nbsp;)$/g)){T=null;break}T=O.clone();T.moveToPosition(N,CKEDITOR.POSITION_BEFORE_END)}N=N.getLast(c)}T&&O.moveToRange(T)}}}}();x=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$tableContent)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT};return b}function b(a,c,d){c=a.getDocument().createElement(c);a.append(c,d);return c}function c(a){var b=a.count(),
+if(d&&(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var e=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+e+'" class\x3d"cke_voice_label"\x3e'+d+"\x3c/span\x3e");c.append(d);a.changeAttr("aria-describedby",e)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");f=CKEDITOR.dom.walker.whitespaces(!0);D=CKEDITOR.dom.walker.bookmark(!1,!0);w=CKEDITOR.dom.walker.empty();
+A=CKEDITOR.dom.walker.bogus();G=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;x=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(c,d){var e,f,u,g,y=[],k=d.range.startContainer;e=d.range.startPath();for(var k=v[k.getName()],h=0,B=c.getChildren(),n=B.count(),L=-1,q=-1,E=0,H=e.contains(v.$list);h<n;++h)e=B.getItem(h),a(e)?(u=e.getName(),H&&u in CKEDITOR.dtd.$list?y=y.concat(b(e,d)):(g=!!k[u],
+"br"!=u||!e.data("cke-eol")||h&&h!=n-1||(E=(f=h?y[h-1].node:B.getItem(h+1))&&(!a(f)||!f.is("br")),f=f&&a(f)&&v.$block[f.getName()]),-1!=L||g||(L=h),g||(q=h),y.push({isElement:1,isLineBreak:E,isBlock:e.isBlockBoundary(),hasBlockSibling:f,node:e,name:u,allowed:g}),f=E=0)):y.push({isElement:0,node:e,allowed:1});-1<L&&(y[L].firstNotAllowed=1);-1<q&&(y[q].lastNotAllowed=1);return y}function d(b,c){var e=[],f=b.getChildren(),u=f.count(),g,y=0,k=v[c],h=!b.is(v.$inline)||b.is("br");for(h&&e.push(" ");y<u;y++)g=
+f.getItem(y),a(g)&&!g.is(k)?e=e.concat(d(g,c)):e.push(g);h&&e.push(" ");return e}function e(b){return a(b.startContainer)&&b.startContainer.getChild(b.startOffset-1)}function f(b){return b&&a(b)&&(b.is(v.$removeEmpty)||b.is("a")&&!b.isBlockBoundary())}function u(b,c,d,e){var f=b.clone(),g,v;f.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);(g=(new CKEDITOR.dom.walker(f)).next())&&a(g)&&B[g.getName()]&&(v=g.getPrevious())&&a(v)&&!v.getParent().equals(b.startContainer)&&d.contains(v)&&e.contains(g)&&g.isIdentical(v)&&
+(g.moveChildren(v),g.remove(),u(b,c,d,e))}function g(b,c){function d(b,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&a(b)&&b.is("br"))return b.remove(),1}var e=c.endContainer.getChild(c.endOffset),f=c.endContainer.getChild(c.endOffset-1);e&&d(e,b[b.length-1]);f&&d(f,b[0])&&(c.setEnd(c.endContainer,c.endOffset-1),c.collapse())}var v=CKEDITOR.dtd,B={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},L={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},n=CKEDITOR.tools.extend({},
+v.$inline);delete n.br;return function(B,p,C,t){var F=B.editor,N=!1;"unfiltered_html"==p&&(p="html",N=!0);if(!t.checkReadOnly()){var q=(new CKEDITOR.dom.elementPath(t.startContainer,t.root)).blockLimit||t.root;B={type:p,dontFilter:N,editable:B,editor:F,range:t,blockLimit:q,mergeCandidates:[],zombies:[]};p=B.range;t=B.mergeCandidates;var m,w;"text"==B.type&&p.shrink(CKEDITOR.SHRINK_ELEMENT,!0,!1)&&(m=CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",p.document),p.insertNode(m),
+p.setStartAfter(m));N=new CKEDITOR.dom.elementPath(p.startContainer);B.endPath=q=new CKEDITOR.dom.elementPath(p.endContainer);if(!p.collapsed){var F=q.block||q.blockLimit,x=p.getCommonAncestor();F&&!F.equals(x)&&!F.contains(x)&&p.checkEndOfBlock()&&B.zombies.push(F);p.deleteContents()}for(;(w=e(p))&&a(w)&&w.isBlockBoundary()&&N.contains(w);)p.moveToPosition(w,CKEDITOR.POSITION_BEFORE_END);u(p,B.blockLimit,N,q);m&&(p.setEndBefore(m),p.collapse(),m.remove());m=p.startPath();if(F=m.contains(f,!1,1))p.splitElement(F),
+B.inlineStylesRoot=F,B.inlineStylesPeak=m.lastElement;m=p.createBookmark();(F=m.startNode.getPrevious(c))&&a(F)&&f(F)&&t.push(F);(F=m.startNode.getNext(c))&&a(F)&&f(F)&&t.push(F);for(F=m.startNode;(F=F.getParent())&&f(F);)t.push(F);p.moveToBookmark(m);if(m=C){m=B.range;if("text"==B.type&&B.inlineStylesRoot){w=B.inlineStylesPeak;p=w.getDocument().createText("{cke-peak}");for(t=B.inlineStylesRoot.getParent();!w.equals(t);)p=p.appendTo(w.clone()),w=w.getParent();C=p.getOuterHtml().split("{cke-peak}").join(C)}w=
+B.blockLimit.getName();if(/^\s+|\s+$/.test(C)&&"span"in CKEDITOR.dtd[w]){var D='\x3cspan data-cke-marker\x3d"1"\x3e\x26nbsp;\x3c/span\x3e';C=D+C+D}C=B.editor.dataProcessor.toHtml(C,{context:null,fixForBody:!1,protectedWhitespaces:!!D,dontFilter:B.dontFilter,filter:B.editor.activeFilter,enterMode:B.editor.activeEnterMode});w=m.document.createElement("body");w.setHtml(C);D&&(w.getFirst().remove(),w.getLast().remove());if((D=m.startPath().block)&&(1!=D.getChildCount()||!D.getBogus()))a:{var A;if(1==
+w.getChildCount()&&a(A=w.getFirst())&&A.is(L)&&!A.hasAttribute("contenteditable")){D=A.getElementsByTag("*");m=0;for(t=D.count();m<t;m++)if(p=D.getItem(m),!p.is(n))break a;A.moveChildren(A.getParent(1));A.remove()}}B.dataWrapper=w;m=C}if(m){A=B.range;m=A.document;var M;w=B.blockLimit;t=0;var z,D=[],G,S;C=F=0;var I,K;p=A.startContainer;var N=B.endPath.elements[0],W,q=N.getPosition(p),x=!!N.getCommonAncestor(p)&&q!=CKEDITOR.POSITION_IDENTICAL&&!(q&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED);
+p=b(B.dataWrapper,B);for(g(p,A);t<p.length;t++){q=p[t];if(M=q.isLineBreak){M=A;I=w;var R=void 0,Z=void 0;q.hasBlockSibling?M=1:(R=M.startContainer.getAscendant(v.$block,1))&&R.is({div:1,p:1})?(Z=R.getPosition(I),Z==CKEDITOR.POSITION_IDENTICAL||Z==CKEDITOR.POSITION_CONTAINS?M=0:(I=M.splitElement(R),M.moveToPosition(I,CKEDITOR.POSITION_AFTER_START),M=1)):M=0}if(M)C=0<t;else{M=A.startPath();!q.isBlock&&h(B.editor,M.block,M.blockLimit)&&(S=k(B.editor))&&(S=m.createElement(S),S.appendBogus(),A.insertNode(S),
+CKEDITOR.env.needsBrFiller&&(z=S.getBogus())&&z.remove(),A.moveToPosition(S,CKEDITOR.POSITION_BEFORE_END));if((M=A.startPath().block)&&!M.equals(G)){if(z=M.getBogus())z.remove(),D.push(M);G=M}q.firstNotAllowed&&(F=1);if(F&&q.isElement){M=A.startContainer;for(I=null;M&&!v[M.getName()][q.name];){if(M.equals(w)){M=null;break}I=M;M=M.getParent()}if(M)I&&(K=A.splitElement(I),B.zombies.push(K),B.zombies.push(I));else{I=w.getName();W=!t;M=t==p.length-1;I=d(q.node,I);for(var R=[],Z=I.length,aa=0,ca=void 0,
+da=0,T=-1;aa<Z;aa++)ca=I[aa]," "==ca?(da||W&&!aa||(R.push(new CKEDITOR.dom.text(" ")),T=R.length),da=1):(R.push(ca),da=0);M&&T==R.length&&R.pop();W=R}}if(W){for(;M=W.pop();)A.insertNode(M);W=0}else A.insertNode(q.node);q.lastNotAllowed&&t<p.length-1&&((K=x?N:K)&&A.setEndAt(K,CKEDITOR.POSITION_AFTER_START),F=0);A.collapse()}}1!=p.length?z=!1:(z=p[0],z=z.isElement&&"false"==z.node.getAttribute("contenteditable"));z&&(C=!0,M=p[0].node,A.setStartAt(M,CKEDITOR.POSITION_BEFORE_START),A.setEndAt(M,CKEDITOR.POSITION_AFTER_END));
+B.dontMoveCaret=C;B.bogusNeededBlocks=D}z=B.range;var Q;K=B.bogusNeededBlocks;for(W=z.createBookmark();G=B.zombies.pop();)G.getParent()&&(S=z.clone(),S.moveToElementEditStart(G),S.removeEmptyBlocksAtEnd());if(K)for(;G=K.pop();)CKEDITOR.env.needsBrFiller?G.appendBogus():G.append(z.document.createText(" "));for(;G=B.mergeCandidates.pop();)G.mergeSiblings();z.moveToBookmark(W);if(!B.dontMoveCaret){for(G=e(z);G&&a(G)&&!G.is(v.$empty);){if(G.isBlockBoundary())z.moveToPosition(G,CKEDITOR.POSITION_BEFORE_END);
+else{if(f(G)&&G.getHtml().match(/(\s|&nbsp;)$/g)){Q=null;break}Q=z.clone();Q.moveToPosition(G,CKEDITOR.POSITION_BEFORE_END)}G=G.getLast(c)}Q&&z.moveToRange(Q)}}}}();m=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$tableContent)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT};return b}function b(a,c,d){c=a.getDocument().createElement(c);a.append(c,d);return c}function c(a){var b=a.count(),
 d;for(b;0<b--;)d=a.getItem(b),CKEDITOR.tools.trim(d.getHtml())||(d.appendBogus(),CKEDITOR.env.ie&&9>CKEDITOR.env.version&&d.getChildCount()&&d.getFirst().remove())}return function(d){var e=d.startContainer,f=e.getAscendant("table",1),g=!1;c(f.getElementsByTag("td"));c(f.getElementsByTag("th"));f=d.clone();f.setStart(e,0);f=a(f).lastBackward();f||(f=d.clone(),f.setEndAt(e,CKEDITOR.POSITION_BEFORE_END),f=a(f).lastForward(),g=!0);f||(f=e);f.is("table")?(d.setStartAt(f,CKEDITOR.POSITION_BEFORE_START),
-d.collapse(!0),f.remove()):(f.is({tbody:1,thead:1,tfoot:1})&&(f=b(f,"tr",g)),f.is("tr")&&(f=b(f,f.getParent().is("thead")?"th":"td",g)),(e=f.getBogus())&&e.remove(),d.moveToPosition(f,g?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}();J=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&
-a.is(CKEDITOR.dtd.$listItem)};return b}return function(b){var c=b.startContainer,d=!1,e;e=b.clone();e.setStart(c,0);e=a(e).lastBackward();e||(e=b.clone(),e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),d=!0);e||(e=c);e.is(CKEDITOR.dtd.$list)?(b.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),b.collapse(!0),e.remove()):((c=e.getBogus())&&c.remove(),b.moveToPosition(e,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),b.select())}}();w={eol:{detect:function(a,b){var c=a.range,
+d.collapse(!0),f.remove()):(f.is({tbody:1,thead:1,tfoot:1})&&(f=b(f,"tr",g)),f.is("tr")&&(f=b(f,f.getParent().is("thead")?"th":"td",g)),(e=f.getBogus())&&e.remove(),d.moveToPosition(f,g?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}();K=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&
+a.is(CKEDITOR.dtd.$listItem)};return b}return function(b){var c=b.startContainer,d=!1,e;e=b.clone();e.setStart(c,0);e=a(e).lastBackward();e||(e=b.clone(),e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),d=!0);e||(e=c);e.is(CKEDITOR.dtd.$list)?(b.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),b.collapse(!0),e.remove()):((c=e.getBogus())&&c.remove(),b.moveToPosition(e,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),b.select())}}();z={eol:{detect:function(a,b){var c=a.range,
 d=c.clone(),e=c.clone(),f=new CKEDITOR.dom.elementPath(c.startContainer,b),g=new CKEDITOR.dom.elementPath(c.endContainer,b);d.collapse(1);e.collapse();f.block&&d.checkBoundaryOfElement(f.block,CKEDITOR.END)&&(c.setStartAfter(f.block),a.prependEolBr=1);g.block&&e.checkBoundaryOfElement(g.block,CKEDITOR.START)&&(c.setEndBefore(g.block),a.appendEolBr=1)},fix:function(a,b){var c=b.getDocument(),d;a.appendEolBr&&(d=this.createEolBr(c),a.fragment.append(d));!a.prependEolBr||d&&!d.getPrevious()||a.fragment.append(this.createEolBr(c),
-1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var b=a.range.getBoundaryNodes(),c=b.startNode,b=b.endNode;!b||!z(b)||c&&c.equals(b)||a.range.setEndBefore(b)}},tree:{rebuild:function(a,b){var c=a.range,d=c.getCommonAncestor(),e=new CKEDITOR.dom.elementPath(d,b),f=new CKEDITOR.dom.elementPath(c.startContainer,b),c=new CKEDITOR.dom.elementPath(c.endContainer,b),g;d.type==CKEDITOR.NODE_TEXT&&(d=d.getParent());if(e.blockLimit.is({tr:1,
-table:1})){var k=e.contains("table").getParent();g=function(a){return!a.equals(k)}}else if(e.block&&e.block.is(CKEDITOR.dtd.$listItem)&&(f=f.contains(CKEDITOR.dtd.$list),c=c.contains(CKEDITOR.dtd.$list),!f.equals(c))){var h=e.contains(CKEDITOR.dtd.$list).getParent();g=function(a){return!a.equals(h)}}g||(g=function(a){return!a.equals(e.block)&&!a.equals(e.blockLimit)});this.rebuildFragment(a,b,d,g)},rebuildFragment:function(a,b,c,d){for(var e;c&&!c.equals(b)&&d(c);)e=c.clone(0,1),a.fragment.appendTo(e),
-a.fragment=e,c=c.getParent()}},cell:{shrink:function(a){a=a.range;var b=a.startContainer,c=a.endContainer,d=a.startOffset,e=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&b.equals(c)&&b.is("tr")&&++d==e&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};F=function(){function a(b,c){var d=b.getParent();if(d.is(CKEDITOR.dtd.$inline))b[c?"insertBefore":"insertAfter"](d)}function b(c,d,e){a(d);a(e,1);for(var f;f=e.getNext();)f.insertAfter(d),d=f;u(c)&&c.remove()}function c(a,b){var d=new CKEDITOR.dom.range(a);d.setStartAfter(b.startNode);
-d.setEndBefore(b.endNode);return d}return{list:{detectMerge:function(a,b){var d=c(b,a.bookmark),e=d.startPath(),f=d.endPath(),l=e.contains(CKEDITOR.dtd.$list),g=f.contains(CKEDITOR.dtd.$list);a.mergeList=l&&g&&l.getParent().equals(g.getParent())&&!l.equals(g);a.mergeListItems=e.block&&f.block&&e.block.is(CKEDITOR.dtd.$listItem)&&f.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)d=d.clone(),d.setStartBefore(a.bookmark.startNode),d.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=
-d.createBookmark()},merge:function(a,c){if(a.mergeListBookmark){var d=a.mergeListBookmark.startNode,e=a.mergeListBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),l=new CKEDITOR.dom.elementPath(e,c);if(a.mergeList){var g=f.contains(CKEDITOR.dtd.$list),n=l.contains(CKEDITOR.dtd.$list);g.equals(n)||(n.moveChildren(g),n.remove())}a.mergeListItems&&(f=f.contains(CKEDITOR.dtd.$listItem),l=l.contains(CKEDITOR.dtd.$listItem),f.equals(l)||b(l,d,e));d.remove();e.remove()}}},block:{detectMerge:function(a,
-b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var c=new CKEDITOR.dom.range(b);c.setStartBefore(a.bookmark.startNode);c.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=c.createBookmark()}},merge:function(a,c){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var d=a.mergeBlockBookmark.startNode,e=a.mergeBlockBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),l=new CKEDITOR.dom.elementPath(e,c),f=f.block,l=l.block;f&&l&&!f.equals(l)&&b(l,d,e);d.remove();e.remove()}}},table:function(){function a(c){var e=
-[],f,l=new CKEDITOR.dom.walker(c),g=c.startPath().contains(d),n=c.endPath().contains(d),k={};l.guard=function(a,l){if(a.type==CKEDITOR.NODE_ELEMENT){var h="visited_"+(l?"out":"in");if(a.getCustomData(h))return;CKEDITOR.dom.element.setMarker(k,a,h,1)}if(l&&g&&a.equals(g))f=c.clone(),f.setEndAt(g,CKEDITOR.POSITION_BEFORE_END),e.push(f);else if(!l&&n&&a.equals(n))f=c.clone(),f.setStartAt(n,CKEDITOR.POSITION_AFTER_START),e.push(f);else{if(h=!l)h=a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&(!g||b(a,g))&&(!n||
-b(a,n));h&&(f=c.clone(),f.selectNodeContents(a),e.push(f))}};l.lastForward();CKEDITOR.dom.element.clearAllMarkers(k);return e}function b(a,c){var d=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,e=a.getPosition(c);return e===CKEDITOR.POSITION_IDENTICAL?!1:0===(e&d)}var d={td:1,th:1,caption:1};return{detectPurge:function(a){var b=a.range,c=b.clone();c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var c=new CKEDITOR.dom.walker(c),e=0;c.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&++e};
-c.checkForward();if(1<e){var c=b.startPath().contains("table"),f=b.endPath().contains("table");c&&f&&b.checkBoundaryOfElement(c,CKEDITOR.START)&&b.checkBoundaryOfElement(f,CKEDITOR.END)&&(b=a.range.clone(),b.setStartBefore(c),b.setEndAfter(f),a.purgeTableBookmark=b.createBookmark())}},detectRanges:function(e,f){var l=c(f,e.bookmark),g=l.clone(),k,h,v=l.getCommonAncestor();v.is(CKEDITOR.dtd.$tableContent)&&!v.is(d)&&(v=v.getAscendant("table",!0));h=v;v=new CKEDITOR.dom.elementPath(l.startContainer,
-h);h=new CKEDITOR.dom.elementPath(l.endContainer,h);v=v.contains("table");h=h.contains("table");if(v||h)v&&h&&b(v,h)?(e.tableSurroundingRange=g,g.setStartAt(v,CKEDITOR.POSITION_AFTER_END),g.setEndAt(h,CKEDITOR.POSITION_BEFORE_START),g=l.clone(),g.setEndAt(v,CKEDITOR.POSITION_AFTER_END),k=l.clone(),k.setStartAt(h,CKEDITOR.POSITION_BEFORE_START),k=a(g).concat(a(k))):v?h||(e.tableSurroundingRange=g,g.setStartAt(v,CKEDITOR.POSITION_AFTER_END),l.setEndAt(v,CKEDITOR.POSITION_AFTER_END)):(e.tableSurroundingRange=
-g,g.setEndAt(h,CKEDITOR.POSITION_BEFORE_START),l.setStartAt(h,CKEDITOR.POSITION_AFTER_START)),e.tableContentsRanges=k?k:a(l)},deleteRanges:function(a){for(var b;b=a.tableContentsRanges.pop();)b.extractContents(),u(b.startContainer)&&b.startContainer.appendBogus();a.tableSurroundingRange&&a.tableSurroundingRange.extractContents()},purge:function(a){if(a.purgeTableBookmark){var b=a.doc,c=a.range.clone(),b=b.createElement("p");b.insertBefore(a.purgeTableBookmark.startNode);c.moveToBookmark(a.purgeTableBookmark);
-c.deleteContents();a.range.moveToPosition(b,CKEDITOR.POSITION_AFTER_START)}}}}(),detectExtractMerge:function(a){return!(a.range.startPath().contains(CKEDITOR.dtd.$listItem)&&a.range.endPath().contains(CKEDITOR.dtd.$listItem))},fixUneditableRangePosition:function(a){a.startContainer.getDtd()["#"]||a.moveToClosestEditablePosition(null,!0)},autoParagraph:function(a,b){var c=b.startPath(),d;k(a,c.block,c.blockLimit)&&(d=h(a))&&(d=b.document.createElement(d),d.appendBogus(),b.insertNode(d),b.moveToPosition(d,
+1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var b=a.range.getBoundaryNodes(),c=b.startNode,b=b.endNode;!b||!A(b)||c&&c.equals(b)||a.range.setEndBefore(b)}},tree:{rebuild:function(a,b){var c=a.range,d=c.getCommonAncestor(),e=new CKEDITOR.dom.elementPath(d,b),f=new CKEDITOR.dom.elementPath(c.startContainer,b),c=new CKEDITOR.dom.elementPath(c.endContainer,b),g;d.type==CKEDITOR.NODE_TEXT&&(d=d.getParent());if(e.blockLimit.is({tr:1,
+table:1})){var v=e.contains("table").getParent();g=function(a){return!a.equals(v)}}else if(e.block&&e.block.is(CKEDITOR.dtd.$listItem)&&(f=f.contains(CKEDITOR.dtd.$list),c=c.contains(CKEDITOR.dtd.$list),!f.equals(c))){var k=e.contains(CKEDITOR.dtd.$list).getParent();g=function(a){return!a.equals(k)}}g||(g=function(a){return!a.equals(e.block)&&!a.equals(e.blockLimit)});this.rebuildFragment(a,b,d,g)},rebuildFragment:function(a,b,c,d){for(var e;c&&!c.equals(b)&&d(c);)e=c.clone(0,1),a.fragment.appendTo(e),
+a.fragment=e,c=c.getParent()}},cell:{shrink:function(a){a=a.range;var b=a.startContainer,c=a.endContainer,d=a.startOffset,e=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&b.equals(c)&&b.is("tr")&&++d==e&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};I=function(){function a(b,c){var d=b.getParent();if(d.is(CKEDITOR.dtd.$inline))b[c?"insertBefore":"insertAfter"](d)}function b(c,d,e){a(d);a(e,1);for(var f;f=e.getNext();)f.insertAfter(d),d=f;w(c)&&c.remove()}function c(a,b){var d=new CKEDITOR.dom.range(a);d.setStartAfter(b.startNode);
+d.setEndBefore(b.endNode);return d}return{list:{detectMerge:function(a,b){var d=c(b,a.bookmark),e=d.startPath(),f=d.endPath(),g=e.contains(CKEDITOR.dtd.$list),k=f.contains(CKEDITOR.dtd.$list);a.mergeList=g&&k&&g.getParent().equals(k.getParent())&&!g.equals(k);a.mergeListItems=e.block&&f.block&&e.block.is(CKEDITOR.dtd.$listItem)&&f.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)d=d.clone(),d.setStartBefore(a.bookmark.startNode),d.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=
+d.createBookmark()},merge:function(a,c){if(a.mergeListBookmark){var d=a.mergeListBookmark.startNode,e=a.mergeListBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),g=new CKEDITOR.dom.elementPath(e,c);if(a.mergeList){var k=f.contains(CKEDITOR.dtd.$list),h=g.contains(CKEDITOR.dtd.$list);k.equals(h)||(h.moveChildren(k),h.remove())}a.mergeListItems&&(f=f.contains(CKEDITOR.dtd.$listItem),g=g.contains(CKEDITOR.dtd.$listItem),f.equals(g)||b(g,d,e));d.remove();e.remove()}}},block:{detectMerge:function(a,
+b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var c=new CKEDITOR.dom.range(b);c.setStartBefore(a.bookmark.startNode);c.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=c.createBookmark()}},merge:function(a,c){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var d=a.mergeBlockBookmark.startNode,e=a.mergeBlockBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),g=new CKEDITOR.dom.elementPath(e,c),f=f.block,g=g.block;f&&g&&!f.equals(g)&&b(g,d,e);d.remove();e.remove()}}},table:function(){function a(c){var e=
+[],f,g=new CKEDITOR.dom.walker(c),k=c.startPath().contains(d),h=c.endPath().contains(d),p={};g.guard=function(a,g){if(a.type==CKEDITOR.NODE_ELEMENT){var F="visited_"+(g?"out":"in");if(a.getCustomData(F))return;CKEDITOR.dom.element.setMarker(p,a,F,1)}if(g&&k&&a.equals(k))f=c.clone(),f.setEndAt(k,CKEDITOR.POSITION_BEFORE_END),e.push(f);else if(!g&&h&&a.equals(h))f=c.clone(),f.setStartAt(h,CKEDITOR.POSITION_AFTER_START),e.push(f);else{if(F=!g)F=a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&(!k||b(a,k))&&(!h||
+b(a,h));F&&(f=c.clone(),f.selectNodeContents(a),e.push(f))}};g.lastForward();CKEDITOR.dom.element.clearAllMarkers(p);return e}function b(a,c){var d=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,e=a.getPosition(c);return e===CKEDITOR.POSITION_IDENTICAL?!1:0===(e&d)}var d={td:1,th:1,caption:1};return{detectPurge:function(a){var b=a.range,c=b.clone();c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var c=new CKEDITOR.dom.walker(c),e=0;c.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&++e};
+c.checkForward();if(1<e){var c=b.startPath().contains("table"),f=b.endPath().contains("table");c&&f&&b.checkBoundaryOfElement(c,CKEDITOR.START)&&b.checkBoundaryOfElement(f,CKEDITOR.END)&&(b=a.range.clone(),b.setStartBefore(c),b.setEndAfter(f),a.purgeTableBookmark=b.createBookmark())}},detectRanges:function(e,f){var g=c(f,e.bookmark),k=g.clone(),h,l,p=g.getCommonAncestor();p.is(CKEDITOR.dtd.$tableContent)&&!p.is(d)&&(p=p.getAscendant("table",!0));l=p;p=new CKEDITOR.dom.elementPath(g.startContainer,
+l);l=new CKEDITOR.dom.elementPath(g.endContainer,l);p=p.contains("table");l=l.contains("table");if(p||l)p&&l&&b(p,l)?(e.tableSurroundingRange=k,k.setStartAt(p,CKEDITOR.POSITION_AFTER_END),k.setEndAt(l,CKEDITOR.POSITION_BEFORE_START),k=g.clone(),k.setEndAt(p,CKEDITOR.POSITION_AFTER_END),h=g.clone(),h.setStartAt(l,CKEDITOR.POSITION_BEFORE_START),h=a(k).concat(a(h))):p?l||(e.tableSurroundingRange=k,k.setStartAt(p,CKEDITOR.POSITION_AFTER_END),g.setEndAt(p,CKEDITOR.POSITION_AFTER_END)):(e.tableSurroundingRange=
+k,k.setEndAt(l,CKEDITOR.POSITION_BEFORE_START),g.setStartAt(l,CKEDITOR.POSITION_AFTER_START)),e.tableContentsRanges=h?h:a(g)},deleteRanges:function(a){for(var b;b=a.tableContentsRanges.pop();)b.extractContents(),w(b.startContainer)&&b.startContainer.appendBogus();a.tableSurroundingRange&&a.tableSurroundingRange.extractContents()},purge:function(a){if(a.purgeTableBookmark){var b=a.doc,c=a.range.clone(),b=b.createElement("p");b.insertBefore(a.purgeTableBookmark.startNode);c.moveToBookmark(a.purgeTableBookmark);
+c.deleteContents();a.range.moveToPosition(b,CKEDITOR.POSITION_AFTER_START)}}}}(),detectExtractMerge:function(a){return!(a.range.startPath().contains(CKEDITOR.dtd.$listItem)&&a.range.endPath().contains(CKEDITOR.dtd.$listItem))},fixUneditableRangePosition:function(a){a.startContainer.getDtd()["#"]||a.moveToClosestEditablePosition(null,!0)},autoParagraph:function(a,b){var c=b.startPath(),d;h(a,c.block,c.blockLimit)&&(d=k(a))&&(d=b.document.createElement(d),d.appendBogus(),b.insertNode(d),b.moveToPosition(d,
 CKEDITOR.POSITION_AFTER_START))}}}()})();
-(function(){function a(){var a=this._.fakeSelection,b;a&&(b=this.getSelection(1),b&&b.isHidden()||(a.reset(),a=0));if(!a&&(a=b||this.getSelection(1),!a||a.getType()==CKEDITOR.SELECTION_NONE))return;this.fire("selectionCheck",a);b=this.elementPath();if(!b.compare(this._.selectionPreviousPath)){var c=this._.selectionPreviousPath&&this._.selectionPreviousPath.blockLimit.equals(b.blockLimit);CKEDITOR.env.webkit&&!c&&(this._.previousActive=this.document.getActive());this._.selectionPreviousPath=b;this.fire("selectionChange",
-{selection:a,path:b})}}function d(){x=!0;m||(b.call(this),m=CKEDITOR.tools.setTimeout(b,200,this))}function b(){m=null;x&&(CKEDITOR.tools.setTimeout(a,0,this),x=!1)}function c(a){return J(a)||a.type==CKEDITOR.NODE_ELEMENT&&!a.is(CKEDITOR.dtd.$empty)?!0:!1}function e(a){function b(c,d){return c&&c.type!=CKEDITOR.NODE_TEXT?a.clone()["moveToElementEdit"+(d?"End":"Start")](c):!1}if(!(a.root instanceof CKEDITOR.editable))return!1;var d=a.startContainer,e=a.getPreviousNode(c,null,d),f=a.getNextNode(c,null,
-d);return b(e)||b(f,1)||!(e||f||d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()&&d.getBogus())?!0:!1}function g(a){k(a,!1);var b=a.getDocument().createText(z);a.setCustomData("cke-fillingChar",b);return b}function k(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(!1!==b){var d=a.getDocument().getSelection().getNative(),e=d&&"None"!=d.type&&d.getRangeAt(0),f=z.length;if(c.getLength()>f&&e&&e.intersectsNode(c.$)){var g=[{node:d.anchorNode,offset:d.anchorOffset},{node:d.focusNode,offset:d.focusOffset}];
-d.anchorNode==c.$&&d.anchorOffset>f&&(g[0].offset-=f);d.focusNode==c.$&&d.focusOffset>f&&(g[1].offset-=f)}}c.setText(h(c.getText(),1));g&&(c=a.getDocument().$,d=c.getSelection(),c=c.createRange(),c.setStart(g[0].node,g[0].offset),c.collapse(!0),d.removeAllRanges(),d.addRange(c),d.extend(g[1].node,g[1].offset))}}function h(a,b){return b?a.replace(y,function(a,b){return b?" ":""}):a.replace(z,"")}function p(a,b){var c=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+
-(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px")+'"\x3e'+(b||"\x26nbsp;")+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(c);var d=a.getSelection(1),e=a.createRange(),f=d.root.on("selectionchange",function(a){a.cancel()},null,null,0);e.setStartAt(c,CKEDITOR.POSITION_AFTER_START);e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);d.selectRanges([e]);f.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=c}function r(a){var b=
-{37:1,39:1,8:1,46:1};return function(c){var d=c.data.getKeystroke();if(b[d]){var e=a.getSelection().getRanges(),f=e[0];1==e.length&&f.collapsed&&(d=f[38>d?"getPreviousEditableNode":"getNextEditableNode"]())&&d.type==CKEDITOR.NODE_ELEMENT&&"false"==d.getAttribute("contenteditable")&&(a.getSelection().fake(d),c.data.preventDefault(),c.cancel())}}}function f(a){for(var b=0;b<a.length;b++){var c=a[b];c.getCommonAncestor().isReadOnly()&&a.splice(b,1);if(!c.collapsed){if(c.startContainer.isReadOnly())for(var d=
-c.startContainer,e;d&&!((e=d.type==CKEDITOR.NODE_ELEMENT)&&d.is("body")||!d.isReadOnly());)e&&"false"==d.getAttribute("contentEditable")&&c.setStartAfter(d),d=d.getParent();d=c.startContainer;e=c.endContainer;var f=c.startOffset,g=c.endOffset,h=c.clone();d&&d.type==CKEDITOR.NODE_TEXT&&(f>=d.getLength()?h.setStartAfter(d):h.setStartBefore(d));e&&e.type==CKEDITOR.NODE_TEXT&&(g?h.setEndAfter(e):h.setEndBefore(e));d=new CKEDITOR.dom.walker(h);d.evaluator=function(d){if(d.type==CKEDITOR.NODE_ELEMENT&&
-d.isReadOnly()){var e=c.clone();c.setEndBefore(d);c.collapsed&&a.splice(b--,1);d.getPosition(h.endContainer)&CKEDITOR.POSITION_CONTAINS||(e.setStartAfter(d),e.collapsed||a.splice(b+1,0,e));return!0}return!1};d.next()}}return a}var B="function"!=typeof window.getSelection,u=1,z=CKEDITOR.tools.repeat("​",7),y=new RegExp(z+"( )?","g"),m,x,J=CKEDITOR.dom.walker.invisible(1),w=function(){function a(b){return function(a){var c=a.editor.createRange();c.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([c]);
-return!1}}function b(a){return function(b){var c=b.editor,d=c.createRange(),e;(e=d.moveToClosestEditablePosition(b.selected,a))||(e=d.moveToClosestEditablePosition(b.selected,!a));e&&c.getSelection().selectRanges([d]);c.fire("saveSnapshot");b.selected.remove();e||(d.moveToElementEditablePosition(c.editable()),c.getSelection().selectRanges([d]));c.fire("saveSnapshot");return!1}}var c=a(),d=a(1);return{37:c,38:c,39:d,40:d,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(b){function c(){var a=
-e.getSelection();a&&a.removeAllRanges()}var e=b.editor;e.on("contentDom",function(){function b(){v=new CKEDITOR.dom.selection(e.getSelection());v.lock()}function c(){l.removeListener("mouseup",c);q.removeListener("mouseup",c);var a=CKEDITOR.document.$.selection,b=a.createRange();"None"!=a.type&&b.parentElement().ownerDocument==f.$&&b.select()}var f=e.document,l=CKEDITOR.document,g=e.editable(),h=f.getBody(),q=f.getDocumentElement(),m=g.isInline(),p,v;CKEDITOR.env.gecko&&g.attachListener(g,"focus",
-function(a){a.removeListener();0!==p&&(a=e.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==g.$&&(a=e.createRange(),a.moveToElementEditStart(g),a.select())},null,null,-2);g.attachListener(g,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){p&&CKEDITOR.env.webkit&&(p=e._.previousActive&&e._.previousActive.equals(f.getActive()))&&null!=e._.previousScrollTop&&e._.previousScrollTop!=g.$.scrollTop&&(g.$.scrollTop=e._.previousScrollTop);e.unlockSelection(p);p=0},null,null,-1);g.attachListener(g,
-"mousedown",function(){p=0});if(CKEDITOR.env.ie||m)B?g.attachListener(g,"beforedeactivate",b,null,null,-1):g.attachListener(e,"selectionCheck",b,null,null,-1),g.attachListener(g,CKEDITOR.env.webkit?"DOMFocusOut":"blur",function(){e.lockSelection(v);p=1},null,null,-1),g.attachListener(g,"mousedown",function(){p=0});if(CKEDITOR.env.ie&&!m){var G;g.attachListener(g,"mousedown",function(a){2==a.data.$.button&&((a=e.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(G=e.window.getScrollPosition()))});
-g.attachListener(g,"mouseup",function(a){2==a.data.$.button&&G&&(e.document.$.documentElement.scrollLeft=G.x,e.document.$.documentElement.scrollTop=G.y);G=null});if("BackCompat"!=f.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var E,I;q.on("mousedown",function(a){function b(a){a=a.data.$;if(E){var c=h.$.createTextRange();try{c.moveToPoint(a.clientX,a.clientY)}catch(d){}E.setEndPoint(0>I.compareEndPoints("StartToStart",c)?"EndToEnd":"StartToStart",c);E.select()}}function c(){q.removeListener("mousemove",
-b);l.removeListener("mouseup",c);q.removeListener("mouseup",c);E.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y<q.$.clientHeight&&a.$.x<q.$.clientWidth){E=h.$.createTextRange();try{E.moveToPoint(a.$.clientX,a.$.clientY)}catch(d){}I=E.duplicate();q.on("mousemove",b);l.on("mouseup",c);q.on("mouseup",c)}})}if(7<CKEDITOR.env.version&&11>CKEDITOR.env.version)q.on("mousedown",function(a){a.data.getTarget().is("html")&&(l.on("mouseup",c),q.on("mouseup",c))})}}g.attachListener(g,"selectionchange",a,
-e);g.attachListener(g,"keyup",d,e);g.attachListener(g,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){e.forceNextSelectionCheck();e.selectionChange(1)});if(m&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var K;g.attachListener(g,"mousedown",function(){K=1});g.attachListener(f.getDocumentElement(),"mouseup",function(){K&&d.call(e);K=0})}else g.attachListener(CKEDITOR.env.ie?g:f.getDocumentElement(),"mouseup",d,e);CKEDITOR.env.webkit&&g.attachListener(f,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:k(g)}},
-null,null,-1);g.attachListener(g,"keydown",r(e),null,null,-1)});e.on("setData",function(){e.unlockSelection();CKEDITOR.env.webkit&&c()});e.on("contentDomUnload",function(){e.unlockSelection()});if(CKEDITOR.env.ie9Compat)e.on("beforeDestroy",c,null,null,9);e.on("dataReady",function(){delete e._.fakeSelection;delete e._.hiddenSelectionContainer;e.selectionChange(1)});e.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=e.editable().getLast(a);b&&b.hasAttribute("data-cke-hidden-sel")&&
-(b.remove(),CKEDITOR.env.gecko&&(a=e.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);e.on("key",function(a){if("wysiwyg"==e.mode){var b=e.getSelection();if(b.isFake){var c=w[a.data.keyCode];if(c)return c({editor:e,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var b=a.editor;b.on("selectionChange",function(){var a=b.editable(),c=a.getCustomData("cke-fillingChar");
-c&&(c.getCustomData("ready")?k(a):c.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){k(b.editable())},null,null,-1);b.on("getSnapshot",function(a){a.data&&(a.data=h(a.data))},b,null,20);b.on("toDataFormat",function(a){a.data.dataValue=h(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:d).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==
-this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;return b?(b.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};
-CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var b=a;a=a.root}var c=a instanceof CKEDITOR.dom.element;
-this.rev=b?b.rev:u++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=c?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b)return CKEDITOR.tools.extend(this._.cache,b._.cache),this.isFake=b.isFake,this.isLocked=b.isLocked,this;a=this.getNative();var d,e;if(a)if(a.getRangeAt)d=(e=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(e.commonAncestorContainer);else{try{e=a.createRange()}catch(f){}d=e&&CKEDITOR.dom.element.get(e.item&&e.item(0)||e.parentElement())}if(!d||
-d.type!=CKEDITOR.NODE_ELEMENT&&d.type!=CKEDITOR.NODE_TEXT||!this.root.equals(d)&&!this.root.contains(d))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement=null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var F={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:h,
-_createFillingCharSequenceNode:g,FILLING_CHAR_SEQUENCE:z});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel=B?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:B?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;"Text"==d&&(b=CKEDITOR.SELECTION_TEXT);"Control"==d&&(b=CKEDITOR.SELECTION_ELEMENT);c.createRange().parentElement()&&
-(b=CKEDITOR.SELECTION_TEXT)}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(1==c.rangeCount){var c=c.getRangeAt(0),d=c.startContainer;d==c.endContainer&&1==d.nodeType&&1==c.endOffset-c.startOffset&&F[d.childNodes[c.startOffset].nodeName.toLowerCase()]&&(b=CKEDITOR.SELECTION_ELEMENT)}return a.type=b},getRanges:function(){var a=B?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}
-var b=function(b,c){b=b.duplicate();b.collapse(c);var d=b.parentElement();if(!d.hasChildNodes())return{container:d,offset:0};for(var e=d.children,f,l,g=b.duplicate(),h=0,k=e.length-1,v=-1,n,m;h<=k;)if(v=Math.floor((h+k)/2),f=e[v],g.moveToElementText(f),n=g.compareEndPoints("StartToStart",b),0<n)k=v-1;else if(0>n)h=v+1;else return{container:d,offset:a(f)};if(-1==v||v==e.length-1&&0>n){g.moveToElementText(d);g.setEndPoint("StartToStart",b);g=g.text.replace(/(\r\n|\r)/g,"\n").length;e=d.childNodes;if(!g)return f=
-e[e.length-1],f.nodeType!=CKEDITOR.NODE_TEXT?{container:d,offset:e.length}:{container:f,offset:f.nodeValue.length};for(d=e.length;0<g&&0<d;)l=e[--d],l.nodeType==CKEDITOR.NODE_TEXT&&(m=l,g-=l.nodeValue.length);return{container:m,offset:-g}}g.collapse(0<n?!0:!1);g.setEndPoint(0<n?"StartToStart":"EndToStart",b);g=g.text.replace(/(\r\n|\r)/g,"\n").length;if(!g)return{container:d,offset:a(f)+(0<n?0:1)};for(;0<g;)try{l=f[0<n?"previousSibling":"nextSibling"],l.nodeType==CKEDITOR.NODE_TEXT&&(g-=l.nodeValue.length,
-m=l),f=l}catch(p){return{container:d,offset:a(f)}}return{container:m,offset:0<n?-g:m.nodeValue.length+g}};return function(){var a=this.getNative(),c=a&&a.createRange(),d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT)return a=new CKEDITOR.dom.range(this.root),d=b(c,!0),a.setStart(new CKEDITOR.dom.node(d.container),d.offset),d=b(c),a.setEnd(new CKEDITOR.dom.node(d.container),d.offset),a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&
-a.collapse(),[a];if(d==CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var f=c.item(e),g=f.parentNode,l=0,a=new CKEDITOR.dom.range(this.root);l<g.childNodes.length&&g.childNodes[l]!=f;l++);a.setStart(new CKEDITOR.dom.node(g),l);a.setEnd(new CKEDITOR.dom.node(g),l+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),
-e.startOffset);b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache,d=c.ranges;d||(c.ranges=d=new CKEDITOR.dom.rangeList(a.call(this)));return b?f(new CKEDITOR.dom.rangeList(d.slice())):d}}(),getStartElement:function(){var a=this._.cache;if(void 0!==a.startElement)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];
-if(c){if(c.collapsed)b=c.startContainer,b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());else{for(c.optimize();b=c.startContainer,c.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary();)c.setStartAfter(b);b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();if((b=b.getChild(c.startOffset))&&b.type==CKEDITOR.NODE_ELEMENT)for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;)b=c,c=c.getFirst();else b=c.startContainer}b=b.$}}return a.startElement=b?
-new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(void 0!==a.selectedElement)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},function(){for(var a=b.getRanges()[0].clone(),c,d,e=2;e&&!((c=a.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&F[c.getName()]&&(d=c));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d&&d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=
-this._.cache;if(void 0!==a.selectedText)return a.selectedText;var b=this.getNative(),b=B?"Control"==b.type?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),c=!b&&this.getRanges(),d=this.isFake;this.isLocked=0;this.reset();a&&(a=b||c[0]&&c[0].getCommonAncestor())&&
-a.getAscendant("body",1)&&(d?this.fake(b):b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection)if(this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;var b=a._.hiddenSelectionContainer;if(b){var c=a.checkDirty();a.fire("lockSnapshot");b.remove();a.fire("unlockSnapshot");!c&&a.resetDirty()}delete a._.hiddenSelectionContainer}else CKEDITOR.warn("selection-fake-reset");this.rev=u++},selectElement:function(a){var b=
-new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){var b=this.root.editor,b=b&&b._.hiddenSelectionContainer;this.reset();if(b)for(var b=this.root,c,d=0;d<a.length;++d)c=a[d],c.endContainer.equals(b)&&(c.endOffset=Math.min(c.endOffset,b.getChildCount()));if(a.length)if(this.isLocked){var f=CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();f&&!f.equals(this.root)&&f.focus()}else{var h;a:{var m,p;if(1==a.length&&
-!(p=a[0]).collapsed&&(h=p.getEnclosedNode())&&h.type==CKEDITOR.NODE_ELEMENT&&(p=p.clone(),p.shrink(CKEDITOR.SHRINK_ELEMENT,!0),(m=p.getEnclosedNode())&&m.type==CKEDITOR.NODE_ELEMENT&&(h=m),"false"==h.getAttribute("contenteditable")))break a;h=void 0}if(h)this.fake(h);else{if(B){p=CKEDITOR.dom.walker.whitespaces(!0);m=/\ufeff|\u00a0/;b={table:1,tbody:1,tr:1};1<a.length&&(h=a[a.length-1],a[0].setEnd(h.endContainer,h.endOffset));h=a[0];a=h.collapsed;var r,u,y;if((c=h.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&
-c.getName()in F&&(!c.is("a")||!c.getText()))try{y=c.$.createControlRange();y.addElement(c.$);y.select();return}catch(w){}if(h.startContainer.type==CKEDITOR.NODE_ELEMENT&&h.startContainer.getName()in b||h.endContainer.type==CKEDITOR.NODE_ELEMENT&&h.endContainer.getName()in b)h.shrink(CKEDITOR.NODE_ELEMENT,!0),a=h.collapsed;y=h.createBookmark();b=y.startNode;a||(f=y.endNode);y=h.document.$.body.createTextRange();y.moveToElementText(b.$);y.moveStart("character",1);f?(m=h.document.$.body.createTextRange(),
-m.moveToElementText(f.$),y.setEndPoint("EndToEnd",m),y.moveEnd("character",-1)):(r=b.getNext(p),u=b.hasAscendant("pre"),r=!(r&&r.getText&&r.getText().match(m))&&(u||!b.hasPrevious()||b.getPrevious().is&&b.getPrevious().is("br")),u=h.document.createElement("span"),u.setHtml("\x26#65279;"),u.insertBefore(b),r&&h.document.createText("").insertBefore(b));h.setStartBefore(b);b.remove();a?(r?(y.moveStart("character",-1),y.select(),h.document.$.selection.clear()):y.select(),h.moveToPosition(u,CKEDITOR.POSITION_BEFORE_START),
-u.remove()):(h.setEndBefore(f),f.remove(),y.select())}else{f=this.getNative();if(!f)return;this.removeAllRanges();for(y=0;y<a.length;y++){if(y<a.length-1&&(r=a[y],u=a[y+1],m=r.clone(),m.setStart(r.endContainer,r.endOffset),m.setEnd(u.startContainer,u.startOffset),!m.collapsed&&(m.shrink(CKEDITOR.NODE_ELEMENT,!0),h=m.getCommonAncestor(),m=m.getEnclosedNode(),h.isReadOnly()||m&&m.isReadOnly()))){u.setStart(r.startContainer,r.startOffset);a.splice(y--,1);continue}h=a[y];u=this.document.$.createRange();
-h.collapsed&&CKEDITOR.env.webkit&&e(h)&&(m=g(this.root),h.insertNode(m),(r=m.getNext())&&!m.getPrevious()&&r.type==CKEDITOR.NODE_ELEMENT&&"br"==r.getName()?(k(this.root),h.moveToPosition(r,CKEDITOR.POSITION_BEFORE_START)):h.moveToPosition(m,CKEDITOR.POSITION_AFTER_END));u.setStart(h.startContainer.$,h.startOffset);try{u.setEnd(h.endContainer.$,h.endOffset)}catch(v){if(0<=v.toString().indexOf("NS_ERROR_ILLEGAL_VALUE"))h.collapse(1),u.setEnd(h.endContainer.$,h.endOffset);else throw v;}f.addRange(u)}}this.reset();
-this.root.fire("selectionchange")}}},fake:function(a,b){var c=this.root.editor;void 0===b&&a.hasAttribute("aria-label")&&(b=a.getAttribute("aria-label"));this.reset();p(c,b);var d=this._.cache,e=new CKEDITOR.dom.range(this.root);e.setStartBefore(a);e.setEndAfter(a);d.ranges=new CKEDITOR.dom.rangeList(e);d.selectedElement=d.startElement=a;d.type=CKEDITOR.SELECTION_ELEMENT;d.selectedText=d.nativeSel=null;this.isFake=1;this.rev=u++;c._.fakeSelection=this;this.root.fire("selectionchange")},isHidden:function(){var a=
-this.getCommonAncestor();a&&a.type==CKEDITOR.NODE_TEXT&&(a=a.getParent());return!(!a||!a.data("cke-hidden-sel"))},createBookmarks:function(a){a=this.getRanges().createBookmarks(a);this.isFake&&(a.isFake=1);return a},createBookmarks2:function(a){a=this.getRanges().createBookmarks2(a);this.isFake&&(a.isFake=1);return a},selectBookmarks:function(a){for(var b=[],c,d=0;d<a.length;d++){var e=new CKEDITOR.dom.range(this.root);e.moveToBookmark(a[d]);b.push(e)}a.isFake&&(c=b[0].getEnclosedNode(),c&&c.type==
-CKEDITOR.NODE_ELEMENT||(CKEDITOR.warn("selection-not-fake"),a.isFake=0));a.isFake?this.fake(c):this.selectRanges(b);return this},getCommonAncestor:function(){var a=this.getRanges();return a.length?a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer):null},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){if(this.getType()!=CKEDITOR.SELECTION_NONE){var a=this.getNative();try{a&&a[B?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}}})();
+(function(){function a(a,b){if(0===a.length)return!1;var c,d;if((c=!b&&1===a.length)&&!(c=a[0].collapsed)){var e=a[0];c=e.startContainer.getAscendant({td:1,th:1},!0);var f=e.endContainer.getAscendant({td:1,th:1},!0);d=CKEDITOR.tools.trim;c&&c.equals(f)&&!c.findOne("td, th, tr, tbody, table")?(e=e.cloneContents(),c=e.getFirst()?d(e.getFirst().getText())!==d(c.getText()):!0):c=!1}if(c)return!1;for(d=0;d<a.length;d++)if(c=a[d]._getTableElement(),!c)return!1;return!0}function d(a){function b(a){a=a.find("td, th");
+var c=[],d;for(d=0;d<a.count();d++)c.push(a.getItem(d));return c}var c=[],d,e;for(e=0;e<a.length;e++)d=a[e]._getTableElement(),d.is&&d.is({td:1,th:1})?c.push(d):c=c.concat(b(d));return c}function b(a){a=d(a);var b="",c=[],e,f;for(f=0;f<a.length;f++)e&&!e.equals(a[f].getAscendant("tr"))?(b+=c.join("\t")+"\n",e=a[f].getAscendant("tr"),c=[]):0===f&&(e=a[f].getAscendant("tr")),c.push(a[f].getText());return b+=c.join("\t")}function c(a){var c=this.root.editor,d=c.getSelection(1);this.reset();I=!0;d.root.once("selectionchange",
+function(a){a.cancel()},null,null,0);d.selectRanges([a[0]]);d=this._.cache;d.ranges=new CKEDITOR.dom.rangeList(a);d.type=CKEDITOR.SELECTION_TEXT;d.selectedElement=a[0]._getTableElement();d.selectedText=b(a);d.nativeSel=null;this.isFake=1;this.rev=m++;c._.fakeSelection=this;I=!1;this.root.fire("selectionchange")}function e(){var b=this._.fakeSelection,c;if(b){c=this.getSelection(1);var d;if(!(d=!c)&&(d=!c.isHidden())){d=b;var e=c.getRanges(),f=d.getRanges(),g=e.length&&e[0]._getTableElement()&&e[0]._getTableElement().getAscendant("table",
+!0),k=f.length&&f[0]._getTableElement()&&f[0]._getTableElement().getAscendant("table",!0),p=1===e.length&&e[0]._getTableElement()&&e[0]._getTableElement().is("table"),h=1===f.length&&f[0]._getTableElement()&&f[0]._getTableElement().is("table"),t=1===e.length&&e[0].collapsed,f=a(e,!!CKEDITOR.env.webkit)&&a(f);g=g&&k?g.equals(k)||k.contains(g):!1;g&&(t||f)?(p&&!h&&d.selectRanges(e),d=!0):d=!1;d=!d}d&&(b.reset(),b=0)}if(!b&&(b=c||this.getSelection(1),!b||b.getType()==CKEDITOR.SELECTION_NONE))return;
+this.fire("selectionCheck",b);c=this.elementPath();c.compare(this._.selectionPreviousPath)||(d=this._.selectionPreviousPath&&this._.selectionPreviousPath.blockLimit.equals(c.blockLimit),CKEDITOR.env.webkit&&!d&&(this._.previousActive=this.document.getActive()),this._.selectionPreviousPath=c,this.fire("selectionChange",{selection:b,path:c}))}function g(){r=!0;l||(h.call(this),l=CKEDITOR.tools.setTimeout(h,200,this))}function h(){l=null;r&&(CKEDITOR.tools.setTimeout(e,0,this),r=!1)}function k(a){return J(a)||
+a.type==CKEDITOR.NODE_ELEMENT&&!a.is(CKEDITOR.dtd.$empty)?!0:!1}function n(a){function b(c,d){return c&&c.type!=CKEDITOR.NODE_TEXT?a.clone()["moveToElementEdit"+(d?"End":"Start")](c):!1}if(!(a.root instanceof CKEDITOR.editable))return!1;var c=a.startContainer,d=a.getPreviousNode(k,null,c),e=a.getNextNode(k,null,c);return b(d)||b(e,1)||!(d||e||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()&&c.getBogus())?!0:!1}function q(a){f(a,!1);var b=a.getDocument().createText(K);a.setCustomData("cke-fillingChar",
+b);return b}function f(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(!1!==b){var d=a.getDocument().getSelection().getNative(),e=d&&"None"!=d.type&&d.getRangeAt(0),f=K.length;if(c.getLength()>f&&e&&e.intersectsNode(c.$)){var g=[{node:d.anchorNode,offset:d.anchorOffset},{node:d.focusNode,offset:d.focusOffset}];d.anchorNode==c.$&&d.anchorOffset>f&&(g[0].offset-=f);d.focusNode==c.$&&d.focusOffset>f&&(g[1].offset-=f)}}c.setText(D(c.getText(),1));g&&(c=a.getDocument().$,d=c.getSelection(),
+c=c.createRange(),c.setStart(g[0].node,g[0].offset),c.collapse(!0),d.removeAllRanges(),d.addRange(c),d.extend(g[1].node,g[1].offset))}}function D(a,b){return b?a.replace(z,function(a,b){return b?" ":""}):a.replace(K,"")}function w(a,b){var c=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px")+'"\x3e'+(b||"\x26nbsp;")+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");
+a.editable().append(c);var d=a.getSelection(1),e=a.createRange(),f=d.root.on("selectionchange",function(a){a.cancel()},null,null,0);e.setStartAt(c,CKEDITOR.POSITION_AFTER_START);e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);d.selectRanges([e]);f.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=c}function A(a){var b={37:1,39:1,8:1,46:1};return function(c){var d=c.data.getKeystroke();if(b[d]){var e=a.getSelection().getRanges(),f=e[0];1==e.length&&f.collapsed&&(d=f[38>d?"getPreviousEditableNode":
+"getNextEditableNode"]())&&d.type==CKEDITOR.NODE_ELEMENT&&"false"==d.getAttribute("contenteditable")&&(a.getSelection().fake(d),c.data.preventDefault(),c.cancel())}}}function G(a){for(var b=0;b<a.length;b++){var c=a[b];c.getCommonAncestor().isReadOnly()&&a.splice(b,1);if(!c.collapsed){if(c.startContainer.isReadOnly())for(var d=c.startContainer,e;d&&!((e=d.type==CKEDITOR.NODE_ELEMENT)&&d.is("body")||!d.isReadOnly());)e&&"false"==d.getAttribute("contentEditable")&&c.setStartAfter(d),d=d.getParent();
+d=c.startContainer;e=c.endContainer;var f=c.startOffset,g=c.endOffset,p=c.clone();d&&d.type==CKEDITOR.NODE_TEXT&&(f>=d.getLength()?p.setStartAfter(d):p.setStartBefore(d));e&&e.type==CKEDITOR.NODE_TEXT&&(g?p.setEndAfter(e):p.setEndBefore(e));d=new CKEDITOR.dom.walker(p);d.evaluator=function(d){if(d.type==CKEDITOR.NODE_ELEMENT&&d.isReadOnly()){var e=c.clone();c.setEndBefore(d);c.collapsed&&a.splice(b--,1);d.getPosition(p.endContainer)&CKEDITOR.POSITION_CONTAINS||(e.setStartAfter(d),e.collapsed||a.splice(b+
+1,0,e));return!0}return!1};d.next()}}return a}var x="function"!=typeof window.getSelection,m=1,K=CKEDITOR.tools.repeat("​",7),z=new RegExp(K+"( )?","g"),I,l,r,J=CKEDITOR.dom.walker.invisible(1),H=function(){function a(b){return function(a){var c=a.editor.createRange();c.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([c]);return!1}}function b(a){return function(b){var c=b.editor,d=c.createRange(),e;(e=d.moveToClosestEditablePosition(b.selected,a))||(e=d.moveToClosestEditablePosition(b.selected,
+!a));e&&c.getSelection().selectRanges([d]);c.fire("saveSnapshot");b.selected.remove();e||(d.moveToElementEditablePosition(c.editable()),c.getSelection().selectRanges([d]));c.fire("saveSnapshot");return!1}}var c=a(),d=a(1);return{37:c,38:c,39:d,40:d,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(a){function b(){var a=c.getSelection();a&&a.removeAllRanges()}var c=a.editor;c.on("contentDom",function(){function a(){q=new CKEDITOR.dom.selection(c.getSelection());q.lock()}function b(){p.removeListener("mouseup",
+b);u.removeListener("mouseup",b);var a=CKEDITOR.document.$.selection,c=a.createRange();"None"!=a.type&&c.parentElement()&&c.parentElement().ownerDocument==k.$&&c.select()}function d(a){if(CKEDITOR.env.ie){var b=(a=a.getRanges()[0])?a.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&("false"==a.getAttribute("contenteditable")||"true"==a.getAttribute("contenteditable"))},!0):null;return a&&"false"==b.getAttribute("contenteditable")&&b}}var k=c.document,p=CKEDITOR.document,
+h=c.editable(),t=k.getBody(),u=k.getDocumentElement(),l=h.isInline(),y,q;CKEDITOR.env.gecko&&h.attachListener(h,"focus",function(a){a.removeListener();0!==y&&(a=c.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==h.$&&(a=c.createRange(),a.moveToElementEditStart(h),a.select())},null,null,-2);h.attachListener(h,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){y&&CKEDITOR.env.webkit&&(y=c._.previousActive&&c._.previousActive.equals(k.getActive()))&&null!=c._.previousScrollTop&&c._.previousScrollTop!=
+h.$.scrollTop&&(h.$.scrollTop=c._.previousScrollTop);c.unlockSelection(y);y=0},null,null,-1);h.attachListener(h,"mousedown",function(){y=0});if(CKEDITOR.env.ie||l)x?h.attachListener(h,"beforedeactivate",a,null,null,-1):h.attachListener(c,"selectionCheck",a,null,null,-1),h.attachListener(h,CKEDITOR.env.webkit?"DOMFocusOut":"blur",function(){c.lockSelection(q);y=1},null,null,-1),h.attachListener(h,"mousedown",function(){y=0});if(CKEDITOR.env.ie&&!l){var n;h.attachListener(h,"mousedown",function(a){2==
+a.data.$.button&&((a=c.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(n=c.window.getScrollPosition()))});h.attachListener(h,"mouseup",function(a){2==a.data.$.button&&n&&(c.document.$.documentElement.scrollLeft=n.x,c.document.$.documentElement.scrollTop=n.y);n=null});if("BackCompat"!=k.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var m,w;u.on("mousedown",function(a){function b(a){a=a.data.$;if(m){var c=t.$.createTextRange();try{c.moveToPoint(a.clientX,a.clientY)}catch(d){}m.setEndPoint(0>
+w.compareEndPoints("StartToStart",c)?"EndToEnd":"StartToStart",c);m.select()}}function c(){u.removeListener("mousemove",b);p.removeListener("mouseup",c);u.removeListener("mouseup",c);m.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y<u.$.clientHeight&&a.$.x<u.$.clientWidth){m=t.$.createTextRange();try{m.moveToPoint(a.$.clientX,a.$.clientY)}catch(d){}w=m.duplicate();u.on("mousemove",b);p.on("mouseup",c);u.on("mouseup",c)}})}if(7<CKEDITOR.env.version&&11>CKEDITOR.env.version)u.on("mousedown",function(a){a.data.getTarget().is("html")&&
+(p.on("mouseup",b),u.on("mouseup",b))})}}h.attachListener(h,"selectionchange",e,c);h.attachListener(h,"keyup",g,c);h.attachListener(h,"keydown",function(a){var b=this.getSelection(1);d(b)&&(b.selectElement(d(b)),a.data.preventDefault())},c);h.attachListener(h,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){c.forceNextSelectionCheck();c.selectionChange(1)});if(l&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var r;h.attachListener(h,"mousedown",function(){r=1});h.attachListener(k.getDocumentElement(),
+"mouseup",function(){r&&g.call(c);r=0})}else h.attachListener(CKEDITOR.env.ie?h:k.getDocumentElement(),"mouseup",g,c);CKEDITOR.env.webkit&&h.attachListener(k,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h.hasFocus&&f(h)}},null,null,-1);h.attachListener(h,"keydown",A(c),null,null,-1)});c.on("setData",function(){c.unlockSelection();CKEDITOR.env.webkit&&b()});c.on("contentDomUnload",function(){c.unlockSelection()});if(CKEDITOR.env.ie9Compat)c.on("beforeDestroy",
+b,null,null,9);c.on("dataReady",function(){delete c._.fakeSelection;delete c._.hiddenSelectionContainer;c.selectionChange(1)});c.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=c.editable().getLast(a);b&&b.hasAttribute("data-cke-hidden-sel")&&(b.remove(),CKEDITOR.env.gecko&&(a=c.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);c.on("key",function(a){if("wysiwyg"==c.mode){var b=c.getSelection();if(b.isFake){var d=
+H[a.data.keyCode];if(d)return d({editor:c,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var b=a.editor;b.on("selectionChange",function(){var a=b.editable(),c=a.getCustomData("cke-fillingChar");c&&(c.getCustomData("ready")?(f(a),a.editor.fire("selectionCheck")):c.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){f(b.editable())},null,null,-1);b.on("getSnapshot",function(a){a.data&&(a.data=D(a.data))},
+b,null,20);b.on("toDataFormat",function(a){a.data.dataValue=D(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(a){(a?e:g).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?
+(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;return b?(b.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():
+new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var b=a;a=a.root}var c=a instanceof CKEDITOR.dom.element;this.rev=b?b.rev:m++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=c?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b)return CKEDITOR.tools.extend(this._.cache,b._.cache),
+this.isFake=b.isFake,this.isLocked=b.isLocked,this;a=this.getNative();var d,e;if(a)if(a.getRangeAt)d=(e=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(e.commonAncestorContainer);else{try{e=a.createRange()}catch(f){}d=e&&CKEDITOR.dom.element.get(e.item&&e.item(0)||e.parentElement())}if(!d||d.type!=CKEDITOR.NODE_ELEMENT&&d.type!=CKEDITOR.NODE_TEXT||!this.root.equals(d)&&!this.root.contains(d))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement=
+null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var E={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:D,_createFillingCharSequenceNode:q,FILLING_CHAR_SEQUENCE:K});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel=
+x?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:x?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;"Text"==d&&(b=CKEDITOR.SELECTION_TEXT);"Control"==d&&(b=CKEDITOR.SELECTION_ELEMENT);c.createRange().parentElement()&&(b=CKEDITOR.SELECTION_TEXT)}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;
+else if(1==c.rangeCount){var c=c.getRangeAt(0),d=c.startContainer;d==c.endContainer&&1==d.nodeType&&1==c.endOffset-c.startOffset&&E[d.childNodes[c.startOffset].nodeName.toLowerCase()]&&(b=CKEDITOR.SELECTION_ELEMENT)}return a.type=b},getRanges:function(){var a=x?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,c){b=b.duplicate();b.collapse(c);var d=b.parentElement();if(!d.hasChildNodes())return{container:d,offset:0};for(var e=d.children,f,g,h=b.duplicate(),k=0,
+l=e.length-1,u=-1,q,n;k<=l;)if(u=Math.floor((k+l)/2),f=e[u],h.moveToElementText(f),q=h.compareEndPoints("StartToStart",b),0<q)l=u-1;else if(0>q)k=u+1;else return{container:d,offset:a(f)};if(-1==u||u==e.length-1&&0>q){h.moveToElementText(d);h.setEndPoint("StartToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;e=d.childNodes;if(!h)return f=e[e.length-1],f.nodeType!=CKEDITOR.NODE_TEXT?{container:d,offset:e.length}:{container:f,offset:f.nodeValue.length};for(d=e.length;0<h&&0<d;)g=e[--d],g.nodeType==
+CKEDITOR.NODE_TEXT&&(n=g,h-=g.nodeValue.length);return{container:n,offset:-h}}h.collapse(0<q?!0:!1);h.setEndPoint(0<q?"StartToStart":"EndToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;if(!h)return{container:d,offset:a(f)+(0<q?0:1)};for(;0<h;)try{g=f[0<q?"previousSibling":"nextSibling"],g.nodeType==CKEDITOR.NODE_TEXT&&(h-=g.nodeValue.length,n=g),f=g}catch(m){return{container:d,offset:a(f)}}return{container:n,offset:0<q?-h:n.nodeValue.length+h}};return function(){var a=this.getNative(),c=a&&
+a.createRange(),d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT)return a=new CKEDITOR.dom.range(this.root),d=b(c,!0),a.setStart(new CKEDITOR.dom.node(d.container),d.offset),d=b(c),a.setEnd(new CKEDITOR.dom.node(d.container),d.offset),a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse(),[a];if(d==CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var f=c.item(e),g=f.parentNode,h=0,a=new CKEDITOR.dom.range(this.root);h<
+g.childNodes.length&&g.childNodes[h]!=f;h++);a.setStart(new CKEDITOR.dom.node(g),h);a.setEnd(new CKEDITOR.dom.node(g),h+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),e.startOffset);b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache,d=c.ranges;d||(c.ranges=
+d=new CKEDITOR.dom.rangeList(a.call(this)));return b?G(new CKEDITOR.dom.rangeList(d.slice())):d}}(),getStartElement:function(){var a=this._.cache;if(void 0!==a.startElement)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];if(c){if(c.collapsed)b=c.startContainer,b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());else{for(c.optimize();b=c.startContainer,c.startOffset==(b.getChildCount?
+b.getChildCount():b.getLength())&&!b.isBlockBoundary();)c.setStartAfter(b);b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();if((b=b.getChild(c.startOffset))&&b.type==CKEDITOR.NODE_ELEMENT)for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;)b=c,c=c.getFirst();else b=c.startContainer}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(void 0!==a.selectedElement)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},
+function(){for(var a=b.getRanges()[0].clone(),c,d,e=2;e&&!((c=a.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&E[c.getName()]&&(d=c));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d&&d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=this._.cache;if(void 0!==a.selectedText)return a.selectedText;var b=this.getNative(),b=x?"Control"==b.type?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();
+this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(b){if(this.isLocked){if(b)var d=this.getSelectedElement(),e=this.getRanges(),f=this.isFake;this.isLocked=0;this.reset();b&&(b=d||e[0]&&e[0].getCommonAncestor())&&b.getAscendant("body",1)&&(a(e)?c.call(this,e):f?this.fake(d):d?this.selectElement(d):this.selectRanges(e))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection)if(this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;
+var b=a._.hiddenSelectionContainer;if(b){var c=a.checkDirty();a.fire("lockSnapshot");b.remove();a.fire("unlockSnapshot");!c&&a.resetDirty()}delete a._.hiddenSelectionContainer}else CKEDITOR.warn("selection-fake-reset");this.rev=m++},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(b){var d=this.root.editor,e=d&&d._.hiddenSelectionContainer;this.reset();if(e)for(var e=this.root,g,h=0;h<b.length;++h)g=
+b[h],g.endContainer.equals(e)&&(g.endOffset=Math.min(g.endOffset,e.getChildCount()));if(b.length)if(this.isLocked){var k=CKEDITOR.document.getActive();this.unlock();this.selectRanges(b);this.lock();k&&!k.equals(this.root)&&k.focus()}else{var l;a:{var p,C;if(1==b.length&&!(C=b[0]).collapsed&&(l=C.getEnclosedNode())&&l.type==CKEDITOR.NODE_ELEMENT&&(C=C.clone(),C.shrink(CKEDITOR.SHRINK_ELEMENT,!0),(p=C.getEnclosedNode())&&p.type==CKEDITOR.NODE_ELEMENT&&(l=p),"false"==l.getAttribute("contenteditable")))break a;
+l=void 0}if(l)this.fake(l);else if(d&&d.plugins.tableselection&&CKEDITOR.plugins.tableselection.isSupportedEnvironment&&a(b)&&!I)c.call(this,b);else{if(x){p=CKEDITOR.dom.walker.whitespaces(!0);l=/\ufeff|\u00a0/;C={table:1,tbody:1,tr:1};1<b.length&&(d=b[b.length-1],b[0].setEnd(d.endContainer,d.endOffset));d=b[0];b=d.collapsed;var t,F,m;if((e=d.getEnclosedNode())&&e.type==CKEDITOR.NODE_ELEMENT&&e.getName()in E&&(!e.is("a")||!e.getText()))try{m=e.$.createControlRange();m.addElement(e.$);m.select();return}catch(w){}if(d.startContainer.type==
+CKEDITOR.NODE_ELEMENT&&d.startContainer.getName()in C||d.endContainer.type==CKEDITOR.NODE_ELEMENT&&d.endContainer.getName()in C)d.shrink(CKEDITOR.NODE_ELEMENT,!0),b=d.collapsed;m=d.createBookmark();C=m.startNode;b||(k=m.endNode);m=d.document.$.body.createTextRange();m.moveToElementText(C.$);m.moveStart("character",1);k?(l=d.document.$.body.createTextRange(),l.moveToElementText(k.$),m.setEndPoint("EndToEnd",l),m.moveEnd("character",-1)):(t=C.getNext(p),F=C.hasAscendant("pre"),t=!(t&&t.getText&&t.getText().match(l))&&
+(F||!C.hasPrevious()||C.getPrevious().is&&C.getPrevious().is("br")),F=d.document.createElement("span"),F.setHtml("\x26#65279;"),F.insertBefore(C),t&&d.document.createText("").insertBefore(C));d.setStartBefore(C);C.remove();b?(t?(m.moveStart("character",-1),m.select(),d.document.$.selection.clear()):m.select(),d.moveToPosition(F,CKEDITOR.POSITION_BEFORE_START),F.remove()):(d.setEndBefore(k),k.remove(),m.select())}else{k=this.getNative();if(!k)return;this.removeAllRanges();for(m=0;m<b.length;m++){if(m<
+b.length-1&&(t=b[m],F=b[m+1],l=t.clone(),l.setStart(t.endContainer,t.endOffset),l.setEnd(F.startContainer,F.startOffset),!l.collapsed&&(l.shrink(CKEDITOR.NODE_ELEMENT,!0),d=l.getCommonAncestor(),l=l.getEnclosedNode(),d.isReadOnly()||l&&l.isReadOnly()))){F.setStart(t.startContainer,t.startOffset);b.splice(m--,1);continue}d=b[m];F=this.document.$.createRange();d.collapsed&&CKEDITOR.env.webkit&&n(d)&&(l=q(this.root),d.insertNode(l),(t=l.getNext())&&!l.getPrevious()&&t.type==CKEDITOR.NODE_ELEMENT&&"br"==
+t.getName()?(f(this.root),d.moveToPosition(t,CKEDITOR.POSITION_BEFORE_START)):d.moveToPosition(l,CKEDITOR.POSITION_AFTER_END));F.setStart(d.startContainer.$,d.startOffset);try{F.setEnd(d.endContainer.$,d.endOffset)}catch(r){if(0<=r.toString().indexOf("NS_ERROR_ILLEGAL_VALUE"))d.collapse(1),F.setEnd(d.endContainer.$,d.endOffset);else throw r;}k.addRange(F)}}this.reset();this.root.fire("selectionchange")}}},fake:function(a,b){var c=this.root.editor;void 0===b&&a.hasAttribute("aria-label")&&(b=a.getAttribute("aria-label"));
+this.reset();w(c,b);var d=this._.cache,e=new CKEDITOR.dom.range(this.root);e.setStartBefore(a);e.setEndAfter(a);d.ranges=new CKEDITOR.dom.rangeList(e);d.selectedElement=d.startElement=a;d.type=CKEDITOR.SELECTION_ELEMENT;d.selectedText=d.nativeSel=null;this.isFake=1;this.rev=m++;c._.fakeSelection=this;this.root.fire("selectionchange")},isHidden:function(){var a=this.getCommonAncestor();a&&a.type==CKEDITOR.NODE_TEXT&&(a=a.getParent());return!(!a||!a.data("cke-hidden-sel"))},isInTable:function(b){return a(this.getRanges(),
+b)},isCollapsed:function(){var a=this.getRanges();return 1===a.length&&a[0].collapsed},createBookmarks:function(a){a=this.getRanges().createBookmarks(a);this.isFake&&(a.isFake=1);return a},createBookmarks2:function(a){a=this.getRanges().createBookmarks2(a);this.isFake&&(a.isFake=1);return a},selectBookmarks:function(b){for(var c=[],d,e=0;e<b.length;e++){var f=new CKEDITOR.dom.range(this.root);f.moveToBookmark(b[e]);c.push(f)}b.isFake&&(d=a(c)?c[0]._getTableElement():c[0].getEnclosedNode(),d&&d.type==
+CKEDITOR.NODE_ELEMENT||(CKEDITOR.warn("selection-not-fake"),b.isFake=0));b.isFake&&!a(c)?this.fake(d):this.selectRanges(c);return this},getCommonAncestor:function(){var a=this.getRanges();return a.length?a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer):null},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){if(this.getType()!=CKEDITOR.SELECTION_NONE){var a=this.getNative();try{a&&a[x?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}}})();
 "use strict";CKEDITOR.STYLE_BLOCK=1;CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3;
-(function(){function a(a,b){for(var c,d;(a=a.getParent())&&!a.equals(b);)if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");"false"==e?c=a:"true"==e&&(d=1)}return c}function d(a,b,c,d){return(a.getPosition(b)|d)==d&&(!c.childRule||c.childRule(a))}function b(c){var f=c.document;if(c.collapsed)f=J(this,f),c.insertNode(f),c.moveToPosition(f,CKEDITOR.POSITION_BEFORE_END);else{var g=this.element,h=this._.definition,l,k=h.ignoreReadonly,m=k||h.includeReadonly;null==
-m&&(m=c.root.getCustomData("cke_includeReadonly"));var n=CKEDITOR.dtd[g];n||(l=!0,n=CKEDITOR.dtd.span);c.enlarge(CKEDITOR.ENLARGE_INLINE,1);c.trim();var p=c.createBookmark(),q=p.startNode,r=p.endNode,u=q,t;if(!k){var w=c.getCommonAncestor(),k=a(q,w),w=a(r,w);k&&(u=k.getNextSourceNode(!0));w&&(r=w)}for(u.getPosition(r)==CKEDITOR.POSITION_FOLLOWING&&(u=0);u;){k=!1;if(u.equals(r))u=null,k=!0;else{var z=u.type==CKEDITOR.NODE_ELEMENT?u.getName():null,w=z&&"false"==u.getAttribute("contentEditable"),x=z&&
-u.getAttribute("data-nostyle");if(z&&u.data("cke-bookmark")){u=u.getNextSourceNode(!0);continue}if(w&&m&&CKEDITOR.dtd.$block[z])for(var B=u,A=e(B),C=void 0,D=A.length,F=0,B=D&&new CKEDITOR.dom.range(B.getDocument());F<D;++F){var C=A[F],M=CKEDITOR.filter.instances[C.data("cke-filter")];if(M?M.check(this):1)B.selectNodeContents(C),b.call(this,B)}A=z?!n[z]||x?0:w&&!m?0:d(u,r,h,Q):1;if(A)if(C=u.getParent(),A=h,D=g,F=l,!C||!(C.getDtd()||CKEDITOR.dtd.span)[D]&&!F||A.parentRule&&!A.parentRule(C))k=!0;else{if(t||
-z&&CKEDITOR.dtd.$removeEmpty[z]&&(u.getPosition(r)|Q)!=Q||(t=c.clone(),t.setStartBefore(u)),z=u.type,z==CKEDITOR.NODE_TEXT||w||z==CKEDITOR.NODE_ELEMENT&&!u.getChildCount()){for(var z=u,R;(k=!z.getNext(H))&&(R=z.getParent(),n[R.getName()])&&d(R,q,h,P);)z=R;t.setEndAfter(z)}}else k=!0;u=u.getNextSourceNode(x||w)}if(k&&t&&!t.collapsed){for(var k=J(this,f),w=k.hasAttributes(),x=t.getCommonAncestor(),z={},A={},C={},D={},W,T,ca;k&&x;){if(x.getName()==g){for(W in h.attributes)!D[W]&&(ca=x.getAttribute(T))&&
-(k.getAttribute(W)==ca?A[W]=1:D[W]=1);for(T in h.styles)!C[T]&&(ca=x.getStyle(T))&&(k.getStyle(T)==ca?z[T]=1:C[T]=1)}x=x.getParent()}for(W in A)k.removeAttribute(W);for(T in z)k.removeStyle(T);w&&!k.hasAttributes()&&(k=null);k?(t.extractContents().appendTo(k),t.insertNode(k),y.call(this,k),k.mergeSiblings(),CKEDITOR.env.ie||k.$.normalize()):(k=new CKEDITOR.dom.element("span"),t.extractContents().appendTo(k),t.insertNode(k),y.call(this,k),k.remove(!0));t=null}}c.moveToBookmark(p);c.shrink(CKEDITOR.SHRINK_TEXT);
-c.shrink(CKEDITOR.NODE_ELEMENT,!0)}}function c(a){function b(){for(var a=new CKEDITOR.dom.elementPath(d.getParent()),c=new CKEDITOR.dom.elementPath(n.getParent()),e=null,f=null,g=0;g<a.elements.length;g++){var h=a.elements[g];if(h==a.block||h==a.blockLimit)break;p.checkElementRemovable(h,!0)&&(e=h)}for(g=0;g<c.elements.length;g++){h=c.elements[g];if(h==c.block||h==c.blockLimit)break;p.checkElementRemovable(h,!0)&&(f=h)}f&&n.breakParent(f);e&&d.breakParent(e)}a.enlarge(CKEDITOR.ENLARGE_INLINE,1);var c=
-a.createBookmark(),d=c.startNode;if(a.collapsed){for(var e=new CKEDITOR.dom.elementPath(d.getParent(),a.root),f,g=0,h;g<e.elements.length&&(h=e.elements[g])&&h!=e.block&&h!=e.blockLimit;g++)if(this.checkElementRemovable(h)){var k;a.collapsed&&(a.checkBoundaryOfElement(h,CKEDITOR.END)||(k=a.checkBoundaryOfElement(h,CKEDITOR.START)))?(f=h,f.match=k?"start":"end"):(h.mergeSiblings(),h.is(this.element)?z.call(this,h):m(h,l(this)[h.getName()]))}if(f){h=d;for(g=0;;g++){k=e.elements[g];if(k.equals(f))break;
-else if(k.match)continue;else k=k.clone();k.append(h);h=k}h["start"==f.match?"insertBefore":"insertAfter"](f)}}else{var n=c.endNode,p=this;b();for(e=d;!e.equals(n);)f=e.getNextSourceNode(),e.type==CKEDITOR.NODE_ELEMENT&&this.checkElementRemovable(e)&&(e.getName()==this.element?z.call(this,e):m(e,l(this)[e.getName()]),f.type==CKEDITOR.NODE_ELEMENT&&f.contains(d)&&(b(),f=d.getNext())),e=f}a.moveToBookmark(c);a.shrink(CKEDITOR.NODE_ELEMENT,!0)}function e(a){var b=[];a.forEach(function(a){if("true"==
-a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function g(a){var b=a.getEnclosedNode()||a.getCommonAncestor(!1,!0);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&w(a,this)}function k(a){var b=a.getCommonAncestor(!0,!0);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&&
-a.removeStyle(e)}}function h(a){var b=a.createBookmark(!0),c=a.createIterator();c.enforceRealBlocks=!0;this._.enterMode&&(c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR);for(var d,e=a.document,f;d=c.getNextParagraph();)!d.isReadOnly()&&(c.activeFilter?c.activeFilter.check(this):1)&&(f=J(this,e,d),r(d,f));a.moveToBookmark(b)}function p(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=!0;c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e;d=c.getNextParagraph();)this.checkElementRemovable(d)&&
-(d.is("pre")?((e=this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))&&d.copyAttributes(e),r(d,e)):z.call(this,d));a.moveToBookmark(b)}function r(a,b){var c=!b;c&&(b=a.getDocument().createElement("div"),a.copyAttributes(b));var d=b&&b.is("pre"),e=a.is("pre"),g=!d&&e;if(d&&!e){e=b;(g=a.getBogus())&&g.remove();g=a.getHtml();g=B(g,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");g=g.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");g=g.replace(/([ \t\n\r]+|&nbsp;)/g,
-" ");g=g.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="\x3cpre\x3e"+g+"\x3c/pre\x3e";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(g);b=e}else g?b=u(c?[a.getHtml()]:f(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,k;(k=c.getPrevious(R))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(d=B(k.getHtml(),/\n$/,"")+"\n\n"+B(c.getHtml(),/^\n/,""),CKEDITOR.env.ie?c.$.outerHTML="\x3cpre\x3e"+d+"\x3c/pre\x3e":
-c.setHtml(d),k.remove())}else c&&x(b)}function f(a){var b=[];B(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"\x3c/pre\x3e"+c+"\x3cpre\x3e"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function B(a,b,c){var d="",e="";a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,c){b&&(d=b);c&&(e=c);return""});return d+a.replace(b,c)+e}function u(a,b){var c;
-1<a.length&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\r\n|\r)/g,"\n"),e=B(e,/^[ \t]*\n/,""),e=B(e,/\n$/,""),e=B(e,/^[ \t]+|[ \t]+$/g,function(a,b){return 1==a.length?"\x26nbsp;":b?" "+CKEDITOR.tools.repeat("\x26nbsp;",a.length-1):CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "}),e=e.replace(/\n/g,"\x3cbr\x3e"),e=e.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "});if(c){var f=b.clone();f.setHtml(e);
-c.append(f)}else b.setHtml(e)}return c||b}function z(a,b){var c=this._.definition,d=c.attributes,c=c.styles,e=l(this)[a.getName()],f=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(c),g;for(g in d)if("class"!=g&&!this._.definition.fullMatch||a.getAttribute(g)==q(g,d[g]))b&&"data-"==g.slice(0,5)||(f=a.hasAttribute(g),a.removeAttribute(g));for(var h in c)this._.definition.fullMatch&&a.getStyle(h)!=q(h,c[h],!0)||(f=f||!!a.getStyle(h),a.removeStyle(h));m(a,e,A[a.getName()]);f&&(this._.definition.alwaysRemoveElement?
-x(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?x(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function y(a){for(var b=l(this),c=a.getElementsByTag(this.element),d,e=c.count();0<=--e;)d=c.getItem(e),d.isReadOnly()||z.call(this,d,!0);for(var f in b)if(f!=this.element)for(c=a.getElementsByTag(f),e=c.count()-1;0<=e;e--)d=c.getItem(e),d.isReadOnly()||m(d,b[f])}function m(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=b[d][0],
-f;if(f=a.getAttribute(e)){var g=b[d][1];(null===g||g.test&&g.test(f)||"string"==typeof g&&f==g)&&a.removeAttribute(e)}}c||x(a)}function x(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(R),d=a.getNext(R);!c||c.type!=CKEDITOR.NODE_TEXT&&c.isBlockBoundary({br:1})||a.append("br",1);!d||d.type!=CKEDITOR.NODE_TEXT&&d.isBlockBoundary({br:1})||a.append("br");a.remove(!0)}else c=a.getFirst(),d=a.getLast(),a.remove(!0),c&&(c.type==CKEDITOR.NODE_ELEMENT&&c.mergeSiblings(),
-d&&!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT&&d.mergeSiblings())}function J(a,b,c){var d;d=a.element;"*"==d&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=w(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function w(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("style",c);return a}function F(a,
-b){for(var c in a)a[c]=a[c].replace(M,function(a,c){return b[c]})}function l(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;"string"==typeof e?f=e.toLowerCase():(f=e.element?e.element.toLowerCase():a.element,g=e.attributes);e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return b}function q(a,b,c){var d=new CKEDITOR.dom.element("span");
-d[c?"setStyle":"setAttribute"](a,b);return d[c?"getStyle":"getAttribute"](a)}function n(a,b){function c(a,b){return"font-family"==b.toLowerCase()?a.replace(/["']/g,""):a}"string"==typeof a&&(a=CKEDITOR.tools.parseCssText(a));"string"==typeof b&&(b=CKEDITOR.tools.parseCssText(b,!0));for(var d in a)if(!(d in b)||c(b[d],d)!=c(a[d],d)&&"inherit"!=a[d]&&"inherit"!=b[d])return!1;return!0}function t(a,b,c){var d=a.document,e=a.getRanges();b=b?this.removeFromRange:this.applyToRange;for(var f,g=e.createIterator();f=
-g.getNextRange();)b.call(this,f,c);a.selectRanges(e);d.removeCustomData("doc_processing_style")}var A={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},C={a:1,blockquote:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},D=/\s*(?:;\s*|$)/,M=/#\((.+?)\)/g,H=CKEDITOR.dom.walker.bookmark(0,
-1),R=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){if("string"==typeof a.type)return new CKEDITOR.style.customHandlers[a.type](a);var c=a.attributes;c&&c.style&&(a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style)),delete c.style);b&&(a=CKEDITOR.tools.clone(a),F(a.attributes,b),F(a.styles,b));c=this.element=a.element?"string"==typeof a.element?a.element.toLowerCase():a.element:"*";this.type=a.type||(A[c]?CKEDITOR.STYLE_BLOCK:C[c]?CKEDITOR.STYLE_OBJECT:
-CKEDITOR.STYLE_INLINE);"object"==typeof this.element&&(this.type=CKEDITOR.STYLE_OBJECT);this._={definition:a}};CKEDITOR.style.prototype={apply:function(a){if(a instanceof CKEDITOR.dom.document)return t.call(this,a.getSelection());if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);t.call(this,a.getSelection(),0,a);this._.enterMode=b}},remove:function(a){if(a instanceof CKEDITOR.dom.document)return t.call(this,a.getSelection(),1);if(this.checkApplicable(a.elementPath(),
-a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);t.call(this,a.getSelection(),1,a);this._.enterMode=b}},applyToRange:function(a){this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?h:this.type==CKEDITOR.STYLE_OBJECT?g:null;return this.applyToRange(a)},removeFromRange:function(a){this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?c:this.type==CKEDITOR.STYLE_BLOCK?p:this.type==CKEDITOR.STYLE_OBJECT?k:null;return this.removeFromRange(a)},applyToObject:function(a){w(a,
-this)},checkActive:function(a,b){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||a.blockLimit,!0,b);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var c=a.elements,d=0,e;d<c.length;d++)if(e=c[d],this.type!=CKEDITOR.STYLE_INLINE||e!=a.block&&e!=a.blockLimit){if(this.type==CKEDITOR.STYLE_OBJECT){var f=e.getName();if(!("string"==typeof this.element?f==this.element:f in this.element))continue}if(this.checkElementRemovable(e,!0,b))return!0}}return!1},checkApplicable:function(a,
-b,c){b&&b instanceof CKEDITOR.filter&&(c=b);if(c&&!c.check(this))return!1;switch(this.type){case CKEDITOR.STYLE_OBJECT:return!!a.contains(this.element);case CKEDITOR.STYLE_BLOCK:return!!a.blockLimit.getDtd()[this.element]}return!0},checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return!1;var d=a.getName();if("string"==typeof this.element?d==this.element:d in this.element){if(!b&&!a.hasAttributes())return!0;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;
-if(f)for(var g in f)e++,d[g]=f[g];if(g=CKEDITOR.style.getStyleText(c))d.style||e++,d.style=g;d._length=e;c=c._AC=d}if(c._length){for(var h in c)if("_length"!=h)if(d=a.getAttribute(h)||"","style"==h?n(c[h],d):c[h]==d){if(!b)return!0}else if(b)return!1;if(b)return!0}else return!0}return!1},checkElementRemovable:function(a,b,c){if(this.checkElementMatch(a,b,c))return!0;if(b=l(this)[a.getName()]){var d;if(!(b=b.attributes))return!0;for(c=0;c<b.length;c++)if(d=b[c][0],d=a.getAttribute(d)){var e=b[c][1];
-if(null===e)return!0;if("string"==typeof e){if(d==e)return!0}else if(e.test(d))return!0}}return!1},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;"bdo"==d&&(d="span");var c=["\x3c",d],e=b.attributes;if(e)for(var f in e)c.push(" ",f,'\x3d"',e[f],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style\x3d"',e,'"');c.push("\x3e",a||b.name,"\x3c/",d,"\x3e");return c.join("")},getDefinition:function(){return this._.definition}};CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;
-var b=a.styles,c=a.attributes&&a.attributes.style||"",d="";c.length&&(c=c.replace(D,";"));for(var e in b){var f=b[e],g=(e+":"+f).replace(D,";");"inherit"==f?d+=g:c+=g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,!0));return a._ST=c+d};CKEDITOR.style.customHandlers={};CKEDITOR.style.addCustomHandler=function(a){var b=function(a){this._={definition:a};this.setup&&this.setup(a)};b.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.style.prototype),{assignedTo:CKEDITOR.STYLE_OBJECT},
-a,!0);return this.customHandlers[a.type]=b};var Q=CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED,P=CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED})();CKEDITOR.styleCommand=function(a,d){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,d,!0)};
+(function(){function a(a,b){for(var c,d;(a=a.getParent())&&!a.equals(b);)if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");"false"==e?c=a:"true"==e&&(d=1)}return c}function d(a,b,c,d){return(a.getPosition(b)|d)==d&&(!c.childRule||c.childRule(a))}function b(c){var f=c.document;if(c.collapsed)f=K(this,f),c.insertNode(f),c.moveToPosition(f,CKEDITOR.POSITION_BEFORE_END);else{var g=this.element,h=this._.definition,k,l=h.ignoreReadonly,m=l||h.includeReadonly;null==
+m&&(m=c.root.getCustomData("cke_includeReadonly"));var q=CKEDITOR.dtd[g];q||(k=!0,q=CKEDITOR.dtd.span);c.enlarge(CKEDITOR.ENLARGE_INLINE,1);c.trim();var n=c.createBookmark(),w=n.startNode,u=n.endNode,r=w,v;if(!l){var x=c.getCommonAncestor(),l=a(w,x),x=a(u,x);l&&(r=l.getNextSourceNode(!0));x&&(u=x)}for(r.getPosition(u)==CKEDITOR.POSITION_FOLLOWING&&(r=0);r;){l=!1;if(r.equals(u))r=null,l=!0;else{var A=r.type==CKEDITOR.NODE_ELEMENT?r.getName():null,x=A&&"false"==r.getAttribute("contentEditable"),D=A&&
+r.getAttribute("data-nostyle");if(A&&r.data("cke-bookmark")){r=r.getNextSourceNode(!0);continue}if(x&&m&&CKEDITOR.dtd.$block[A])for(var z=r,y=e(z),E=void 0,H=y.length,I=0,z=H&&new CKEDITOR.dom.range(z.getDocument());I<H;++I){var E=y[I],J=CKEDITOR.filter.instances[E.data("cke-filter")];if(J?J.check(this):1)z.selectNodeContents(E),b.call(this,z)}y=A?!q[A]||D?0:x&&!m?0:d(r,u,h,V):1;if(y)if(E=r.getParent(),y=h,H=g,I=k,!E||!(E.getDtd()||CKEDITOR.dtd.span)[H]&&!I||y.parentRule&&!y.parentRule(E))l=!0;else{if(v||
+A&&CKEDITOR.dtd.$removeEmpty[A]&&(r.getPosition(u)|V)!=V||(v=c.clone(),v.setStartBefore(r)),A=r.type,A==CKEDITOR.NODE_TEXT||x||A==CKEDITOR.NODE_ELEMENT&&!r.getChildCount()){for(var A=r,L;(l=!A.getNext(B))&&(L=A.getParent(),q[L.getName()])&&d(L,w,h,O);)A=L;v.setEndAfter(A)}}else l=!0;r=r.getNextSourceNode(D||x)}if(l&&v&&!v.collapsed){for(var l=K(this,f),x=l.hasAttributes(),D=v.getCommonAncestor(),A={},y={},E={},H={},T,Q,ba;l&&D;){if(D.getName()==g){for(T in h.attributes)!H[T]&&(ba=D.getAttribute(Q))&&
+(l.getAttribute(T)==ba?y[T]=1:H[T]=1);for(Q in h.styles)!E[Q]&&(ba=D.getStyle(Q))&&(l.getStyle(Q)==ba?A[Q]=1:E[Q]=1)}D=D.getParent()}for(T in y)l.removeAttribute(T);for(Q in A)l.removeStyle(Q);x&&!l.hasAttributes()&&(l=null);l?(v.extractContents().appendTo(l),v.insertNode(l),G.call(this,l),l.mergeSiblings(),CKEDITOR.env.ie||l.$.normalize()):(l=new CKEDITOR.dom.element("span"),v.extractContents().appendTo(l),v.insertNode(l),G.call(this,l),l.remove(!0));v=null}}c.moveToBookmark(n);c.shrink(CKEDITOR.SHRINK_TEXT);
+c.shrink(CKEDITOR.NODE_ELEMENT,!0)}}function c(a){function b(){for(var a=new CKEDITOR.dom.elementPath(d.getParent()),c=new CKEDITOR.dom.elementPath(q.getParent()),e=null,f=null,g=0;g<a.elements.length;g++){var h=a.elements[g];if(h==a.block||h==a.blockLimit)break;n.checkElementRemovable(h,!0)&&(e=h)}for(g=0;g<c.elements.length;g++){h=c.elements[g];if(h==c.block||h==c.blockLimit)break;n.checkElementRemovable(h,!0)&&(f=h)}f&&q.breakParent(f);e&&d.breakParent(e)}a.enlarge(CKEDITOR.ENLARGE_INLINE,1);var c=
+a.createBookmark(),d=c.startNode,e=this._.definition.alwaysRemoveElement;if(a.collapsed){for(var f=new CKEDITOR.dom.elementPath(d.getParent(),a.root),g,h=0,k;h<f.elements.length&&(k=f.elements[h])&&k!=f.block&&k!=f.blockLimit;h++)if(this.checkElementRemovable(k)){var m;!e&&a.collapsed&&(a.checkBoundaryOfElement(k,CKEDITOR.END)||(m=a.checkBoundaryOfElement(k,CKEDITOR.START)))?(g=k,g.match=m?"start":"end"):(k.mergeSiblings(),k.is(this.element)?A.call(this,k):x(k,l(this)[k.getName()]))}if(g){e=d;for(h=
+0;;h++){k=f.elements[h];if(k.equals(g))break;else if(k.match)continue;else k=k.clone();k.append(e);e=k}e["start"==g.match?"insertBefore":"insertAfter"](g)}}else{var q=c.endNode,n=this;b();for(f=d;!f.equals(q);)g=f.getNextSourceNode(),f.type==CKEDITOR.NODE_ELEMENT&&this.checkElementRemovable(f)&&(f.getName()==this.element?A.call(this,f):x(f,l(this)[f.getName()]),g.type==CKEDITOR.NODE_ELEMENT&&g.contains(d)&&(b(),g=d.getNext())),f=g}a.moveToBookmark(c);a.shrink(CKEDITOR.NODE_ELEMENT,!0)}function e(a){var b=
+[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function g(a){var b=a.getEnclosedNode()||a.getCommonAncestor(!1,!0);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&z(a,this)}function h(a){var b=a.getCommonAncestor(!0,!0);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&&
+a.removeStyle(e)}}function k(a){var b=a.createBookmark(!0),c=a.createIterator();c.enforceRealBlocks=!0;this._.enterMode&&(c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR);for(var d,e=a.document,f;d=c.getNextParagraph();)!d.isReadOnly()&&(c.activeFilter?c.activeFilter.check(this):1)&&(f=K(this,e,d),q(d,f));a.moveToBookmark(b)}function n(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=!0;c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e;d=c.getNextParagraph();)this.checkElementRemovable(d)&&
+(d.is("pre")?((e=this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))&&d.copyAttributes(e),q(d,e)):A.call(this,d));a.moveToBookmark(b)}function q(a,b){var c=!b;c&&(b=a.getDocument().createElement("div"),a.copyAttributes(b));var d=b&&b.is("pre"),e=a.is("pre"),g=!d&&e;if(d&&!e){e=b;(g=a.getBogus())&&g.remove();g=a.getHtml();g=D(g,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");g=g.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");g=g.replace(/([ \t\n\r]+|&nbsp;)/g,
+" ");g=g.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="\x3cpre\x3e"+g+"\x3c/pre\x3e";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(g);b=e}else g?b=w(c?[a.getHtml()]:f(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,k;(k=c.getPrevious(L))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(d=D(k.getHtml(),/\n$/,"")+"\n\n"+D(c.getHtml(),/^\n/,""),CKEDITOR.env.ie?c.$.outerHTML="\x3cpre\x3e"+d+"\x3c/pre\x3e":
+c.setHtml(d),k.remove())}else c&&m(b)}function f(a){var b=[];D(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"\x3c/pre\x3e"+c+"\x3cpre\x3e"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function D(a,b,c){var d="",e="";a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,c){b&&(d=b);c&&(e=c);return""});return d+a.replace(b,c)+e}function w(a,b){var c;
+1<a.length&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\r\n|\r)/g,"\n"),e=D(e,/^[ \t]*\n/,""),e=D(e,/\n$/,""),e=D(e,/^[ \t]+|[ \t]+$/g,function(a,b){return 1==a.length?"\x26nbsp;":b?" "+CKEDITOR.tools.repeat("\x26nbsp;",a.length-1):CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "}),e=e.replace(/\n/g,"\x3cbr\x3e"),e=e.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "});if(c){var f=b.clone();f.setHtml(e);
+c.append(f)}else b.setHtml(e)}return c||b}function A(a,b){var c=this._.definition,d=c.attributes,c=c.styles,e=l(this)[a.getName()],f=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(c),g;for(g in d)if("class"!=g&&!this._.definition.fullMatch||a.getAttribute(g)==r(g,d[g]))b&&"data-"==g.slice(0,5)||(f=a.hasAttribute(g),a.removeAttribute(g));for(var h in c)this._.definition.fullMatch&&a.getStyle(h)!=r(h,c[h],!0)||(f=f||!!a.getStyle(h),a.removeStyle(h));x(a,e,E[a.getName()]);f&&(this._.definition.alwaysRemoveElement?
+m(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?m(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function G(a){for(var b=l(this),c=a.getElementsByTag(this.element),d,e=c.count();0<=--e;)d=c.getItem(e),d.isReadOnly()||A.call(this,d,!0);for(var f in b)if(f!=this.element)for(c=a.getElementsByTag(f),e=c.count()-1;0<=e;e--)d=c.getItem(e),d.isReadOnly()||x(d,b[f])}function x(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=b[d][0],
+f;if(f=a.getAttribute(e)){var g=b[d][1];(null===g||g.test&&g.test(f)||"string"==typeof g&&f==g)&&a.removeAttribute(e)}}c||m(a)}function m(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(L),d=a.getNext(L);!c||c.type!=CKEDITOR.NODE_TEXT&&c.isBlockBoundary({br:1})||a.append("br",1);!d||d.type!=CKEDITOR.NODE_TEXT&&d.isBlockBoundary({br:1})||a.append("br");a.remove(!0)}else c=a.getFirst(),d=a.getLast(),a.remove(!0),c&&(c.type==CKEDITOR.NODE_ELEMENT&&c.mergeSiblings(),
+d&&!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT&&d.mergeSiblings())}function K(a,b,c){var d;d=a.element;"*"==d&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=z(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function z(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("style",c);return a}function I(a,
+b){for(var c in a)a[c]=a[c].replace(v,function(a,c){return b[c]})}function l(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;"string"==typeof e?f=e.toLowerCase():(f=e.element?e.element.toLowerCase():a.element,g=e.attributes);e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return b}function r(a,b,c){var d=new CKEDITOR.dom.element("span");
+d[c?"setStyle":"setAttribute"](a,b);return d[c?"getStyle":"getAttribute"](a)}function J(a,b){function c(a,b){return"font-family"==b.toLowerCase()?a.replace(/["']/g,""):a}"string"==typeof a&&(a=CKEDITOR.tools.parseCssText(a));"string"==typeof b&&(b=CKEDITOR.tools.parseCssText(b,!0));for(var d in a)if(!(d in b)||c(b[d],d)!=c(a[d],d)&&"inherit"!=a[d]&&"inherit"!=b[d])return!1;return!0}function H(a,b,c){var d=a.document,e=a.getRanges();b=b?this.removeFromRange:this.applyToRange;var f,g;if(a.isFake&&a.isInTable())for(f=
+[],g=0;g<e.length;g++)f.push(e[g].clone());for(var h=e.createIterator();g=h.getNextRange();)b.call(this,g,c);a.selectRanges(f||e);d.removeCustomData("doc_processing_style")}var E={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},u={a:1,blockquote:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,
+dd:1,form:1,audio:1,video:1},y=/\s*(?:;\s*|$)/,v=/#\((.+?)\)/g,B=CKEDITOR.dom.walker.bookmark(0,1),L=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){if("string"==typeof a.type)return new CKEDITOR.style.customHandlers[a.type](a);var c=a.attributes;c&&c.style&&(a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style)),delete c.style);b&&(a=CKEDITOR.tools.clone(a),I(a.attributes,b),I(a.styles,b));c=this.element=a.element?"string"==typeof a.element?a.element.toLowerCase():
+a.element:"*";this.type=a.type||(E[c]?CKEDITOR.STYLE_BLOCK:u[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);"object"==typeof this.element&&(this.type=CKEDITOR.STYLE_OBJECT);this._={definition:a}};CKEDITOR.style.prototype={apply:function(a){if(a instanceof CKEDITOR.dom.document)return H.call(this,a.getSelection());if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);H.call(this,a.getSelection(),0,a);this._.enterMode=b}},remove:function(a){if(a instanceof
+CKEDITOR.dom.document)return H.call(this,a.getSelection(),1);if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);H.call(this,a.getSelection(),1,a);this._.enterMode=b}},applyToRange:function(a){this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?k:this.type==CKEDITOR.STYLE_OBJECT?g:null;return this.applyToRange(a)},removeFromRange:function(a){this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?c:this.type==CKEDITOR.STYLE_BLOCK?
+n:this.type==CKEDITOR.STYLE_OBJECT?h:null;return this.removeFromRange(a)},applyToObject:function(a){z(a,this)},checkActive:function(a,b){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||a.blockLimit,!0,b);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var c=a.elements,d=0,e;d<c.length;d++)if(e=c[d],this.type!=CKEDITOR.STYLE_INLINE||e!=a.block&&e!=a.blockLimit){if(this.type==CKEDITOR.STYLE_OBJECT){var f=e.getName();if(!("string"==typeof this.element?
+f==this.element:f in this.element))continue}if(this.checkElementRemovable(e,!0,b))return!0}}return!1},checkApplicable:function(a,b,c){b&&b instanceof CKEDITOR.filter&&(c=b);if(c&&!c.check(this))return!1;switch(this.type){case CKEDITOR.STYLE_OBJECT:return!!a.contains(this.element);case CKEDITOR.STYLE_BLOCK:return!!a.blockLimit.getDtd()[this.element]}return!0},checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return!1;var d=a.getName();if("string"==typeof this.element?
+d==this.element:d in this.element){if(!b&&!a.hasAttributes())return!0;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;if(f)for(var g in f)e++,d[g]=f[g];if(g=CKEDITOR.style.getStyleText(c))d.style||e++,d.style=g;d._length=e;c=c._AC=d}if(c._length){for(var h in c)if("_length"!=h)if(d=a.getAttribute(h)||"","style"==h?J(c[h],d):c[h]==d){if(!b)return!0}else if(b)return!1;if(b)return!0}else return!0}return!1},checkElementRemovable:function(a,b,c){if(this.checkElementMatch(a,b,c))return!0;if(b=l(this)[a.getName()]){var d;
+if(!(b=b.attributes))return!0;for(c=0;c<b.length;c++)if(d=b[c][0],d=a.getAttribute(d)){var e=b[c][1];if(null===e)return!0;if("string"==typeof e){if(d==e)return!0}else if(e.test(d))return!0}}return!1},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;"bdo"==d&&(d="span");var c=["\x3c",d],e=b.attributes;if(e)for(var f in e)c.push(" ",f,'\x3d"',e[f],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style\x3d"',e,'"');c.push("\x3e",a||b.name,"\x3c/",d,"\x3e");return c.join("")},getDefinition:function(){return this._.definition}};
+CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,c=a.attributes&&a.attributes.style||"",d="";c.length&&(c=c.replace(y,";"));for(var e in b){var f=b[e],g=(e+":"+f).replace(y,";");"inherit"==f?d+=g:c+=g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,!0));return a._ST=c+d};CKEDITOR.style.customHandlers={};CKEDITOR.style.addCustomHandler=function(a){var b=function(a){this._={definition:a};this.setup&&this.setup(a)};b.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.style.prototype),
+{assignedTo:CKEDITOR.STYLE_OBJECT},a,!0);return this.customHandlers[a.type]=b};var V=CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED,O=CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED})();CKEDITOR.styleCommand=function(a,d){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,d,!0)};
 CKEDITOR.styleCommand.prototype.exec=function(a){a.focus();this.state==CKEDITOR.TRISTATE_OFF?a.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&a.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet");CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);CKEDITOR.loadStylesSet=function(a,d,b){CKEDITOR.stylesSet.addExternal(a,d,"");CKEDITOR.stylesSet.load(a,b)};
-CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{attachStyleStateChange:function(a,d){var b=this._.styleStateChangeCallbacks;b||(b=this._.styleStateChangeCallbacks=[],this.on("selectionChange",function(a){for(var d=0;d<b.length;d++){var g=b[d],k=g.style.checkActive(a.data.path,this)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;g.fn.call(this,k)}}));b.push({style:a,fn:d})},applyStyle:function(a){a.apply(this)},removeStyle:function(a){a.remove(this)},getStylesSet:function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions);
+CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{attachStyleStateChange:function(a,d){var b=this._.styleStateChangeCallbacks;b||(b=this._.styleStateChangeCallbacks=[],this.on("selectionChange",function(a){for(var d=0;d<b.length;d++){var g=b[d],h=g.style.checkActive(a.data.path,this)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;g.fn.call(this,h)}}));b.push({style:a,fn:d})},applyStyle:function(a){a.apply(this)},removeStyle:function(a){a.remove(this)},getStylesSet:function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions);
 else{var d=this,b=d.config.stylesCombo_stylesSet||d.config.stylesSet;if(!1===b)a(null);else if(b instanceof Array)d._.stylesDefinitions=b,a(b);else{b||(b="default");var b=b.split(":"),c=b[0];CKEDITOR.stylesSet.addExternal(c,b[1]?b.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(c,function(b){d._.stylesDefinitions=b[c];a(d._.stylesDefinitions)})}}}});
 CKEDITOR.dom.comment=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createComment(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"\x3c!--"+this.$.nodeValue+"--\x3e"}});"use strict";
-(function(){var a={},d={},b;for(b in CKEDITOR.dtd.$blockLimit)b in CKEDITOR.dtd.$list||(a[b]=1);for(b in CKEDITOR.dtd.$block)b in CKEDITOR.dtd.$blockLimit||b in CKEDITOR.dtd.$empty||(d[b]=1);CKEDITOR.dom.elementPath=function(b,e){var g=null,k=null,h=[],p=b,r;e=e||b.getDocument().getBody();do if(p.type==CKEDITOR.NODE_ELEMENT){h.push(p);if(!this.lastElement&&(this.lastElement=p,p.is(CKEDITOR.dtd.$object)||"false"==p.getAttribute("contenteditable")))continue;if(p.equals(e))break;if(!k&&(r=p.getName(),
-"true"==p.getAttribute("contenteditable")?k=p:!g&&d[r]&&(g=p),a[r])){if(r=!g&&"div"==r){a:{r=p.getChildren();for(var f=0,B=r.count();f<B;f++){var u=r.getItem(f);if(u.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[u.getName()]){r=!0;break a}}r=!1}r=!r}r?g=p:k=p}}while(p=p.getParent());k||(k=e);this.block=g;this.blockLimit=k;this.root=e;this.elements=h}})();
-CKEDITOR.dom.elementPath.prototype={compare:function(a){var d=this.elements;a=a&&a.elements;if(!a||d.length!=a.length)return!1;for(var b=0;b<d.length;b++)if(!d[b].equals(a[b]))return!1;return!0},contains:function(a,d,b){var c;"string"==typeof a&&(c=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?c=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?c=function(b){return-1<CKEDITOR.tools.indexOf(a,b.getName())}:"function"==typeof a?c=a:"object"==typeof a&&(c=function(b){return b.getName()in
-a});var e=this.elements,g=e.length;d&&g--;b&&(e=Array.prototype.slice.call(e,0),e.reverse());for(d=0;d<g;d++)if(c(e[d]))return e[d];return null},isContextFor:function(a){var d;return a in CKEDITOR.dtd.$block?(d=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit,!!d.getDtd()[a]):!0},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}};
+(function(){var a={},d={},b;for(b in CKEDITOR.dtd.$blockLimit)b in CKEDITOR.dtd.$list||(a[b]=1);for(b in CKEDITOR.dtd.$block)b in CKEDITOR.dtd.$blockLimit||b in CKEDITOR.dtd.$empty||(d[b]=1);CKEDITOR.dom.elementPath=function(b,e){var g=null,h=null,k=[],n=b,q;e=e||b.getDocument().getBody();n||(n=e);do if(n.type==CKEDITOR.NODE_ELEMENT){k.push(n);if(!this.lastElement&&(this.lastElement=n,n.is(CKEDITOR.dtd.$object)||"false"==n.getAttribute("contenteditable")))continue;if(n.equals(e))break;if(!h&&(q=n.getName(),
+"true"==n.getAttribute("contenteditable")?h=n:!g&&d[q]&&(g=n),a[q])){if(q=!g&&"div"==q){a:{q=n.getChildren();for(var f=0,D=q.count();f<D;f++){var w=q.getItem(f);if(w.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[w.getName()]){q=!0;break a}}q=!1}q=!q}q?g=n:h=n}}while(n=n.getParent());h||(h=e);this.block=g;this.blockLimit=h;this.root=e;this.elements=k}})();
+CKEDITOR.dom.elementPath.prototype={compare:function(a){var d=this.elements;a=a&&a.elements;if(!a||d.length!=a.length)return!1;for(var b=0;b<d.length;b++)if(!d[b].equals(a[b]))return!1;return!0},contains:function(a,d,b){var c=0,e;"string"==typeof a&&(e=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?e=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?e=function(b){return-1<CKEDITOR.tools.indexOf(a,b.getName())}:"function"==typeof a?e=a:"object"==typeof a&&(e=function(b){return b.getName()in
+a});var g=this.elements,h=g.length;d&&(b?c+=1:--h);b&&(g=Array.prototype.slice.call(g,0),g.reverse());for(;c<h;c++)if(e(g[c]))return g[c];return null},isContextFor:function(a){var d;return a in CKEDITOR.dtd.$block?(d=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit,!!d.getDtd()[a]):!0},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}};
 CKEDITOR.dom.text=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createTextNode(a));this.$=a};CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node;
 CKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(a){this.$.nodeValue=a},split:function(a){var d=this.$.parentNode,b=d.childNodes.length,c=this.getLength(),e=this.getDocument(),g=new CKEDITOR.dom.text(this.$.splitText(a),e);d.childNodes.length==b&&(a>=c?(g=e.createText(""),g.insertAfter(this)):(a=e.createText(""),a.insertAfter(g),a.remove()));return g},substring:function(a,
 d){return"number"!=typeof d?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,d)}});
-(function(){function a(a,c,d){var g=a.serializable,k=c[d?"endContainer":"startContainer"],h=d?"endOffset":"startOffset",p=g?c.document.getById(a.startNode):a.startNode;a=g?c.document.getById(a.endNode):a.endNode;k.equals(p.getPrevious())?(c.startOffset=c.startOffset-k.getLength()-a.getPrevious().getLength(),k=a.getNext()):k.equals(a.getPrevious())&&(c.startOffset-=k.getLength(),k=a.getNext());k.equals(p.getParent())&&c[h]++;k.equals(a.getParent())&&c[h]++;c[d?"endContainer":"startContainer"]=k;return c}
-CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,d)};var d={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),d=[],g;return{getNextRange:function(k){g=void 0===g?0:g+1;var h=a[g];if(h&&1<a.length){if(!g)for(var p=a.length-1;0<=p;p--)d.unshift(a[p].createBookmark(!0));if(k)for(var r=0;a[g+r+1];){var f=h.document;k=0;p=f.getById(d[r].endNode);for(f=f.getById(d[r+1].startNode);;){p=
-p.getNextSourceNode(!1);if(f.equals(p))k=1;else if(c(p)||p.type==CKEDITOR.NODE_ELEMENT&&p.isBlockBoundary())continue;break}if(!k)break;r++}for(h.moveToBookmark(d.shift());r--;)p=a[++g],p.moveToBookmark(d.shift()),h.setEnd(p.endContainer,p.endOffset)}return h}}},createBookmarks:function(b){for(var c=[],d,g=0;g<this.length;g++){c.push(d=this[g].createBookmark(b,!0));for(var k=g+1;k<this.length;k++)this[k]=a(d,this[k]),this[k]=a(d,this[k],!0)}return c},createBookmarks2:function(a){for(var c=[],d=0;d<
+(function(){function a(a,c,d){var g=a.serializable,h=c[d?"endContainer":"startContainer"],k=d?"endOffset":"startOffset",n=g?c.document.getById(a.startNode):a.startNode;a=g?c.document.getById(a.endNode):a.endNode;h.equals(n.getPrevious())?(c.startOffset=c.startOffset-h.getLength()-a.getPrevious().getLength(),h=a.getNext()):h.equals(a.getPrevious())&&(c.startOffset-=h.getLength(),h=a.getNext());h.equals(n.getParent())&&c[k]++;h.equals(a.getParent())&&c[k]++;c[d?"endContainer":"startContainer"]=h;return c}
+CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,d)};var d={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),d=[],g;return{getNextRange:function(h){g=void 0===g?0:g+1;var k=a[g];if(k&&1<a.length){if(!g)for(var n=a.length-1;0<=n;n--)d.unshift(a[n].createBookmark(!0));if(h)for(var q=0;a[g+q+1];){var f=k.document;h=0;n=f.getById(d[q].endNode);for(f=f.getById(d[q+1].startNode);;){n=
+n.getNextSourceNode(!1);if(f.equals(n))h=1;else if(c(n)||n.type==CKEDITOR.NODE_ELEMENT&&n.isBlockBoundary())continue;break}if(!h)break;q++}for(k.moveToBookmark(d.shift());q--;)n=a[++g],n.moveToBookmark(d.shift()),k.setEnd(n.endContainer,n.endOffset)}return k}}},createBookmarks:function(b){for(var c=[],d,g=0;g<this.length;g++){c.push(d=this[g].createBookmark(b,!0));for(var h=g+1;h<this.length;h++)this[h]=a(d,this[h]),this[h]=a(d,this[h],!0)}return c},createBookmarks2:function(a){for(var c=[],d=0;d<
 this.length;d++)c.push(this[d].createBookmark2(a));return c},moveToBookmarks:function(a){for(var c=0;c<this.length;c++)this[c].moveToBookmark(a[c])}}})();
 (function(){function a(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(",")[1]||"skins/"+CKEDITOR.skinName.split(",")[0]+"/")}function d(b){var c=CKEDITOR.skin["ua_"+b],d=CKEDITOR.env;if(c)for(var c=c.split(",").sort(function(a,b){return a>b?-1:1}),e=0,g;e<c.length;e++)if(g=c[e],d.ie&&(g.replace(/^ie/,"")==d.version||d.quirks&&"iequirks"==g)&&(g="ie"),d[g]){b+="_"+c[e];break}return CKEDITOR.getUrl(a()+b+".css")}function b(a,b){g[a]||(CKEDITOR.document.appendStyleSheet(d(a)),g[a]=1);b&&b()}function c(a){var b=
-a.getById(k);b||(b=a.getHead().append("style"),b.setAttribute("id",k),b.setAttribute("type","text/css"));return b}function e(a,b,c){var d,e,g;if(CKEDITOR.env.webkit)for(b=b.split("}").slice(0,-1),e=0;e<b.length;e++)b[e]=b[e].split("{");for(var h=0;h<a.length;h++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){g=b[e][1];for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);a[h].$.sheet.addRule(b[e][0],g)}else{g=b;for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);CKEDITOR.env.ie&&11>CKEDITOR.env.version?
+a.getById(h);b||(b=a.getHead().append("style"),b.setAttribute("id",h),b.setAttribute("type","text/css"));return b}function e(a,b,c){var d,e,g;if(CKEDITOR.env.webkit)for(b=b.split("}").slice(0,-1),e=0;e<b.length;e++)b[e]=b[e].split("{");for(var h=0;h<a.length;h++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){g=b[e][1];for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);a[h].$.sheet.addRule(b[e][0],g)}else{g=b;for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);CKEDITOR.env.ie&&11>CKEDITOR.env.version?
 a[h].$.styleSheet.cssText+=g:a[h].$.innerHTML+=g}}var g={};CKEDITOR.skin={path:a,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){b(c,d)}):b(c,d)},getPath:function(a){return CKEDITOR.getUrl(d(a))},icons:{},addIcon:function(a,b,c,d){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0,bgsize:d||"16px"})},getIconStyle:function(a,b,c,d,e){var g;a&&(a=a.toLowerCase(),b&&(g=this.icons[a+"-rtl"]),
 g||(g=this.icons[a]));a=c||g&&g.path||"";d=d||g&&g.offset;e=e||g&&g.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+"');background-position:0 "+d+"px;background-size:"+e+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=c(CKEDITOR.document);return(this.setUiColor=function(a){this.uiColor=a;var c=CKEDITOR.skin.chameleon,d="",g="";"function"==typeof c&&(d=c(this,"editor"),g=
-c(this,"panel"));a=[[p,a]];e([b],d,a);e(h,g,a)}).call(this,a)}});var k="cke_ui_color",h=[],p=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor;a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=c(a);h.push(a);var d=b.getUiColor();d&&e([a],CKEDITOR.skin.chameleon(b,"panel"),[[p,d]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})();
+c(this,"panel"));a=[[n,a]];e([b],d,a);e(k,g,a)}).call(this,a)}});var h="cke_ui_color",k=[],n=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor;a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=c(a);k.push(a);var d=b.getUiColor();d&&e([a],CKEDITOR.skin.chameleon(b,"panel"),[[n,d]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})();
 (function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=!1;else{var a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e',CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{var d=a.getComputedStyle("border-top-color"),b=a.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!d||d!=b)}catch(c){CKEDITOR.env.hc=!1}a.remove()}CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");
 CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending)for(delete CKEDITOR._.pending,d=0;d<a.length;d++)CKEDITOR.editor.prototype.constructor.apply(a[d][0],a[d][1]),CKEDITOR.add(a[d][0])})();/*
  Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
@@ -583,48 +593,48 @@ function(){y.removeListener("keydown",d);CKEDITOR.env.gecko&&y.removeListener("k
 this._.tabBarMode&&(this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1)),a.data.preventDefault())},this);m=[];k=CKEDITOR.dialog._.uiElementBuilders.hbox.build(this,{type:"hbox",className:"cke_dialog_footer_buttons",widths:[],children:g.buttons},m).getChild();this.parts.footer.setHtml(m.join(""));for(m=0;m<k.length;m++)this._.buttons[k[m].id]=k[m]};CKEDITOR.dialog.prototype={destroy:function(){this.hide();this._.element.remove()},resize:function(){return function(a,b){this._.contentSize&&this._.contentSize.width==
 a&&this._.contentSize.height==b||(CKEDITOR.dialog.fire("resize",{dialog:this,width:a,height:b},this._.editor),this.fire("resize",{width:a,height:b},this._.editor),this.parts.contents.setStyles({width:a+"px",height:b+"px"}),"rtl"==this._.editor.lang.dir&&this._.position&&(this._.position.x=CKEDITOR.document.getWindow().getViewPaneSize().width-this._.contentSize.width-parseInt(this._.element.getFirst().getStyle("right"),10)),this._.contentSize={width:a,height:b})}}(),getSize:function(){var a=this._.element.getFirst();
 return{width:a.$.offsetWidth||0,height:a.$.offsetHeight||0}},move:function(a,b,c){var e=this._.element.getFirst(),d="rtl"==this._.editor.lang.dir,f="fixed"==e.getComputedStyle("position");CKEDITOR.env.ie&&e.setStyle("zoom","100%");f&&this._.position&&this._.position.x==a&&this._.position.y==b||(this._.position={x:a,y:b},f||(f=CKEDITOR.document.getWindow().getScrollPosition(),a+=f.x,b+=f.y),d&&(f=this.getSize(),a=CKEDITOR.document.getWindow().getViewPaneSize().width-f.width-a),b={top:(0<b?b:0)+"px"},
-b[d?"right":"left"]=(0<a?a:0)+"px",e.setStyles(b),c&&(this._.moved=1))},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},show:function(){var a=this._.element,b=this.definition;a.getParent()&&a.getParent().equals(CKEDITOR.document.getBody())?a.setStyle("display","block"):a.appendTo(CKEDITOR.document.getBody());this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);
-null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex);this._.element.getFirst().setStyle("z-index",CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,N(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2),CKEDITOR.dialog._.currentTop=this);
-a.on("keydown",Q);a.on("keyup",R);this._.hasFocus=!1;for(var c in b.contents)if(b.contents[c]){var a=b.contents[c],e=this._.tabs[a.id],d=a.requiredContent,f=0;if(e){for(var g in this._.contents[a.id]){var h=this._.contents[a.id][g];"hbox"!=h.type&&"vbox"!=h.type&&h.getInputElement()&&(h.requiredContent&&!this._.editor.activeFilter.check(h.requiredContent)?h.disable():(h.enable(),f++))}!f||d&&!this._.editor.activeFilter.check(d)?e[0].addClass("cke_dialog_tab_disabled"):e[0].removeClass("cke_dialog_tab_disabled")}}CKEDITOR.tools.setTimeout(function(){this.layout();
-X(this);this.parts.dialog.setStyle("visibility","");this.fireOnce("load",{});CKEDITOR.ui.fire("ready",this);this.fire("show",{});this._.editor.fire("dialogShow",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),e=(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||
-b.width+(0<e?e:0)>c.width?a.setStyle("position","absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},
-commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(ba(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();
-if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else O(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",Q);a.removeListener("keyup",R);var c=this._.editor;c.focus();setTimeout(function(){c.focusManager.unlock();CKEDITOR.env.iOS&&c.window.focus()},0)}delete this._.parentDialog;
-this.foreach(function(a){a.resetInitValue&&a.resetInitValue()});this.setState(CKEDITOR.DIALOG_STATE_IDLE)}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],c=a.label?' title\x3d"'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),d=this._.contents[a.id]={},f=e.getChild(),
-g=0;e=f.shift();)e.notAllowed||"hbox"==e.type||"vbox"==e.type||g++,d[e.id]=e,"function"==typeof e.getChild&&f.push.apply(f,e.getChild());g||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");e=CKEDITOR.env;d="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();c=CKEDITOR.dom.element.createFromHtml(['\x3ca class\x3d"cke_dialog_tab"',0<this._.pageCount?" cke_last":"cke_first",c,a.hidden?' style\x3d"display:none"':"",' id\x3d"',d,'"',e.gecko&&!e.hc?"":' href\x3d"javascript:void(0)"',
-' tabIndex\x3d"-1" hidefocus\x3d"true" role\x3d"tab"\x3e',a.label,"\x3c/a\x3e"].join(""));b.setAttribute("aria-labelledby",d);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();b.setAttribute("name",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&&(S(this,this,"CTRL+"+a.accessKey,ca,da),this._.accessKeyMap["CTRL+"+a.accessKey]=a.id)}},selectPage:function(a){if(this._.currentTabId!=a&&!this._.tabs[a][0].hasClass("cke_dialog_tab_disabled")&&
-!1!==this.fire("selectPage",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass("cke_dialog_tab_selected"),e.hide());e.setAttribute("aria-hidden",b!=a)}var d=this._.tabs[a];d[0].addClass("cke_dialog_tab_selected");CKEDITOR.env.ie6Compat||CKEDITOR.env.ie7Compat?(K(d[1]),d[1].show(),setTimeout(function(){K(d[1],1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},
-updateStyle:function(){this.parts.dialog[(1===this._.pageCount?"add":"remove")+"Class"]("cke_single_page")},hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&1!=this._.pageCount&&b.isVisible()&&(a==this._.currentTabId&&this.selectPage(x.call(this)),b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a=this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,this.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},
-getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return this._.buttons[a]},click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()},enableButton:function(a){return this._.buttons[a].enable()},getPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},
-getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},addFocusable:function(a,b){if("undefined"==typeof b)b=this._.focusList.length,this._.focusList.push(new L(this,a,b));else{this._.focusList.splice(b,0,new L(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}},setState:function(a){if(this.state!=a){this.state=a;if(a==CKEDITOR.DIALOG_STATE_BUSY){if(!this.parts.spinner){var b=this.getParentEditor().lang.dir,c={attributes:{"class":"cke_dialog_spinner"},
-styles:{"float":"rtl"==b?"right":"left"}};c.styles["margin-"+("rtl"==b?"left":"right")]="8px";this.parts.spinner=CKEDITOR.document.createElement("div",c);this.parts.spinner.setHtml("\x26#8987;");this.parts.spinner.appendTo(this.parts.title,1)}this.parts.spinner.show();this.getButton("ok").disable()}else a==CKEDITOR.DIALOG_STATE_IDLE&&(this.parts.spinner&&this.parts.spinner.hide(),this.getButton("ok").enable());this.fire("state",a)}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){this._.dialogDefinitions[a]&&
-"function"!=typeof b||(this._.dialogDefinitions[a]=b)},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},isTabEnabled:function(a,b,c){a=a.config.removeDialogTabs;return!(a&&a.match(new RegExp("(?:^|;)"+b+":"+c+"(?:$|;)","i")))},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"ok",type:"button",label:a.lang.common.ok,"class":"cke_dialog_ui_button_ok",onClick:function(a){a=a.data.dialog;!1!==a.fire("ok",
-{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),cancelButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"cancel",type:"button",label:a.lang.common.cancel,"class":"cke_dialog_ui_button_cancel",onClick:function(a){a=a.data.dialog;!1!==a.fire("cancel",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,
-b)},{type:"button"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype);var aa={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton]},D=function(a,b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=D(d[c],
-b,c)))return d;return null},E=function(a,b,c,e,d){if(c){for(var f=0,g;g=a[f];f++){if(g.id==c)return a.splice(f,0,b),b;if(e&&g[e]&&(g=E(g[e],b,c,e,!0)))return g}if(d)return null}a.push(b);return b},F=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=F(d[c],b,c)))return d}return null},P=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new M(a,d);CKEDITOR.tools.extend(this,b)};P.prototype={getContents:function(a){return D(this.contents,
-a)},getButton:function(a){return D(this.buttons,a)},addContents:function(a,b){return E(this.contents,a,b)},addButton:function(a,b){return E(this.buttons,a,b)},removeContents:function(a){F(this.contents,a)},removeButton:function(a){F(this.buttons,a)}};M.prototype={get:function(a){return D(this.elements,a,"children")},add:function(a,b){return E(this.elements,a,b,"children")},remove:function(a){F(this.elements,a,"children")}};var J,z={},u,w={},Q=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=
-a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,b.key),a.data.preventDefault())},R=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),
-a.data.preventDefault()))},S=function(a,b,c,e,d){(w[c]||(w[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},ba=function(a){for(var b in w){for(var c=w[b],e=c.length-1;0<=e;e--)c[e].dialog!=a&&c[e].uiElement!=a||c.splice(e,1);0===c.length&&delete w[b]}},da=function(a,b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},ca=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a,b,c,e,d,f,g){if(!(4>arguments.length)){var h=(e.call?e(b):e)||
-"div",p=["\x3c",h," "],m=(d&&d.call?d(b):d)||{},k=(f&&f.call?f(b):f)||{},q=(g&&g.call?g.call(this,a,b):g)||"",n=this.domId=k.id||CKEDITOR.tools.getNextId()+"_uiElement";b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(m.display="none",this.notAllowed=!0);k.id=n;var r={};b.type&&(r["cke_dialog_ui_"+b.type]=1);b.className&&(r[b.className]=1);b.disabled&&(r.cke_disabled=1);for(var l=k["class"]&&k["class"].split?k["class"].split(" "):[],n=0;n<l.length;n++)l[n]&&(r[l[n]]=1);l=
-[];for(n in r)l.push(n);k["class"]=l.join(" ");b.title&&(k.title=b.title);r=(b.style||"").split(";");b.align&&(l=b.align,m["margin-left"]="left"==l?0:"auto",m["margin-right"]="right"==l?0:"auto");for(n in m)r.push(n+":"+m[n]);b.hidden&&r.push("display:none");for(n=r.length-1;0<=n;n--)""===r[n]&&r.splice(n,1);0<r.length&&(k.style=(k.style?k.style+"; ":"")+r.join("; "));for(n in k)p.push(n+'\x3d"'+CKEDITOR.tools.htmlEncode(k[n])+'" ');p.push("\x3e",q,"\x3c/",h,"\x3e");c.push(p.join(""));(this._||(this._=
-{})).dialog=a;"boolean"==typeof b.isChanged&&(this.isChanged=function(){return b.isChanged});"function"==typeof b.isChanged&&(this.isChanged=b.isChanged);"function"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,b.setValue.call(this,c))}}));"function"==typeof b.getValue&&(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);
-this.registerEvents(b);this.accessKeyUp&&this.accessKeyDown&&b.accessKey&&S(this,a,"CTRL+"+b.accessKey);var t=this;a.on("load",function(){var b=t.getInputElement();if(b){var c=t.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&8>CKEDITOR.env.version?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;t.fire("focus");c&&this.addClass(c)});b.on("blur",function(){t.fire("blur");c&&this.removeClass(c)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=
-b.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=t.focusIndex}))}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.widths||null,h=d&&d.height||null,p,m={role:"presentation"};d&&d.align&&(m.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"hbox"},e,"table",{},m,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(p=0;p<c.length;p++){var b="cke_dialog_ui_hbox_child",
-e=[];0===p&&(b="cke_dialog_ui_hbox_first");p==c.length-1&&(b="cke_dialog_ui_hbox_last");a.push('\x3ctd class\x3d"',b,'" role\x3d"presentation" ');g?g[p]&&e.push("width:"+v(g[p])):e.push("width:"+Math.floor(100/c.length)+"%");h&&e.push("height:"+v(h));d&&void 0!==d.padding&&e.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f[p].align&&e.push("text-align:"+f[p].align);0<e.length&&a.push('style\x3d"'+e.join("; ")+'" ');a.push("\x3e",c[p],"\x3c/td\x3e")}a.push("\x3c/tr\x3e\x3c/tbody\x3e");
-return a.join("")})}},vbox:function(a,b,c,e,d){if(!(3>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.width||null,h=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"vbox"},e,"div",null,{role:"presentation"},function(){var b=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];b.push('style\x3d"');d&&d.expand&&b.push("height:100%;");b.push("width:"+v(g||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align\x3d"',
-CKEDITOR.tools.htmlEncode(d&&d.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("\x3e\x3ctbody\x3e");for(var e=0;e<c.length;e++){var k=[];b.push('\x3ctr\x3e\x3ctd role\x3d"presentation" ');g&&k.push("width:"+v(g||"100%"));h?k.push("height:"+v(h[e])):d&&d.expand&&k.push("height:"+Math.floor(100/c.length)+"%");d&&void 0!==d.padding&&k.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f[e].align&&k.push("text-align:"+f[e].align);0<k.length&&b.push('style\x3d"',
-k.join("; "),'" ');b.push(' class\x3d"cke_dialog_ui_vbox_child"\x3e',c[e],"\x3c/td\x3e\x3c/tr\x3e")}b.push("\x3c/tbody\x3e\x3c/table\x3e");return b.join("")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){return CKEDITOR.document.getById(this.domId)},getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog},setValue:function(a,b){this.getInputElement().setValue(a);!b&&this.fire("change",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},
-isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&-1==a.$.className.search("cke_dialog_page_contents"););if(!a)return this;a=a.getAttribute("name");this._.dialog._.currentTabId!=a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus();return this},registerEvents:function(a){var b=/^on([A-Z]\w+)/,c,e=function(a,b,c,d){b.on("load",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=
-d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,c[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on("load",b,this)},onShow:function(a,b){a.on("show",b,this)},onHide:function(a,b){a.on("hide",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){},disable:function(){var a=this.getElement();this.getInputElement().setAttribute("disabled","true");a.addClass("cke_disabled")},enable:function(){var a=
-this.getElement();this.getInputElement().removeAttribute("disabled");a.removeClass("cke_disabled")},isEnabled:function(){return!this.getElement().hasClass("cke_disabled")},isVisible:function(){return this.getInputElement().isVisible()},isFocusable:function(){return this.isEnabled()&&this.isVisible()?!0:!1}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>
-a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,e){for(var d=c.children,f,g=[],h=[],p=0;p<d.length&&(f=d[p]);p++){var m=[];g.push(m);h.push(CKEDITOR.dialog._.uiElementBuilders[f.type].build(a,f,m))}return new CKEDITOR.ui.dialog[c.type](a,h,g,e,c)}};CKEDITOR.dialog.addUIElement("hbox",a);CKEDITOR.dialog.addUIElement("vbox",
-a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){a.openDialog(this.dialogName)},canUndo:!1,editorFocus:1};(function(){var a=/^([a]|[^a])+$/,b=/^\d*$/,c=/^\d*(?:\.\d+)?$/,e=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,d=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,f=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=
-arguments;return function(){var b=this&&this.getValue?this.getValue():a[0],c,d=CKEDITOR.VALIDATE_AND,e=[],f;for(f=0;f<a.length;f++)if("function"==typeof a[f])e.push(a[f]);else break;f<a.length&&"string"==typeof a[f]&&(c=a[f],f++);f<a.length&&"number"==typeof a[f]&&(d=a[f]);var n=d==CKEDITOR.VALIDATE_AND?!0:!1;for(f=0;f<e.length;f++)n=d==CKEDITOR.VALIDATE_AND?n&&e[f](b):n||e[f](b);return n?!0:c}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return a.test(c)?!0:b}},
-notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,a)},number:function(a){return this.regex(c,a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return f.test(CKEDITOR.tools.trim(a))},a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},
-notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on("instanceDestroyed",function(a){if(CKEDITOR.tools.isEmpty(CKEDITOR.instances)){for(var b;b=CKEDITOR.dialog._.currentTop;)b.hide();for(var c in z)z[c].remove();z={}}a=a.editor._.storedDialogs;for(var d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a];null===CKEDITOR.dialog._.currentTop&&N(this);if("function"==typeof e)c=
-this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,c),c.show();else{if("failed"==e)throw O(this),Error('[CKEDITOR.dialog.openDialog] Dialog "'+a+'" failed when loading definition.');"string"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){"function"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]="failed");this.openDialog(a,b)},this,0,1)}CKEDITOR.skin.loadPart("dialog");return c}})})();
-CKEDITOR.plugins.add("dialog",{requires:"dialogui",init:function(x){x.on("doubleclick",function(A){A.data.dialog&&x.openDialog(A.data.dialog)},null,null,999)}});(function(){CKEDITOR.plugins.add("a11yhelp",{requires:"dialog",availableLangs:{af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,en:1,"en-gb":1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,"fr-ca":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1},init:function(b){var c=this;b.addCommand("a11yHelp",{exec:function(){var a=b.langCode,
-a=c.availableLangs[a]?a:c.availableLangs[a.replace(/-.*/,"")]?a.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+"dialogs/lang/"+a+".js"),function(){b.lang.a11yhelp=c.langEntries[a];b.openDialog("a11yHelp")})},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:!1});b.setKeystroke(CKEDITOR.ALT+48,"a11yHelp");CKEDITOR.dialog.add("a11yHelp",this.path+"dialogs/a11yhelp.js");b.on("ariaEditorHelpLabel",function(a){a.data.label=b.lang.common.editorHelp})}})})();(function(){function f(c){var a=this.att;c=c&&c.hasAttribute(a)&&c.getAttribute(a)||"";void 0!==c&&this.setValue(c)}function g(){for(var c,a=0;a<arguments.length;a++)if(arguments[a]instanceof CKEDITOR.dom.element){c=arguments[a];break}if(c){var a=this.att,b=this.getValue();b?c.setAttribute(a,b):c.removeAttribute(a,b)}}var k={id:1,dir:1,classes:1,styles:1};CKEDITOR.plugins.add("dialogadvtab",{requires:"dialog",allowedContent:function(c){c||(c=k);var a=[];c.id&&a.push("id");c.dir&&a.push("dir");var b=
+b[d?"right":"left"]=(0<a?a:0)+"px",e.setStyles(b),c&&(this._.moved=1))},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},show:function(){var a=this._.element,b=this.definition;a.getParent()&&a.getParent().equals(CKEDITOR.document.getBody())?a.setStyle("display","block"):a.appendTo(CKEDITOR.document.getBody());this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);this.reset();null===
+this._.currentTabId&&this.selectPage(this.definition.contents[0].id);null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex);this._.element.getFirst().setStyle("z-index",CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,N(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/
+2),CKEDITOR.dialog._.currentTop=this);a.on("keydown",Q);a.on("keyup",R);this._.hasFocus=!1;for(var c in b.contents)if(b.contents[c]){var a=b.contents[c],e=this._.tabs[a.id],d=a.requiredContent,f=0;if(e){for(var g in this._.contents[a.id]){var h=this._.contents[a.id][g];"hbox"!=h.type&&"vbox"!=h.type&&h.getInputElement()&&(h.requiredContent&&!this._.editor.activeFilter.check(h.requiredContent)?h.disable():(h.enable(),f++))}!f||d&&!this._.editor.activeFilter.check(d)?e[0].addClass("cke_dialog_tab_disabled"):
+e[0].removeClass("cke_dialog_tab_disabled")}}CKEDITOR.tools.setTimeout(function(){this.layout();X(this);this.parts.dialog.setStyle("visibility","");this.fireOnce("load",{});CKEDITOR.ui.fire("ready",this);this.fire("show",{});this._.editor.fire("dialogShow",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),e=
+(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||b.width+(0<e?e:0)>c.width?a.setStyle("position","absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),
+setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility",
+"hidden");for(ba(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else O(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",Q);a.removeListener("keyup",R);var c=this._.editor;
+c.focus();setTimeout(function(){c.focusManager.unlock();CKEDITOR.env.iOS&&c.window.focus()},0)}delete this._.parentDialog;this.foreach(function(a){a.resetInitValue&&a.resetInitValue()});this.setState(CKEDITOR.DIALOG_STATE_IDLE)}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],c=a.label?' title\x3d"'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",
+children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),d=this._.contents[a.id]={},f=e.getChild(),g=0;e=f.shift();)e.notAllowed||"hbox"==e.type||"vbox"==e.type||g++,d[e.id]=e,"function"==typeof e.getChild&&f.push.apply(f,e.getChild());g||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");e=CKEDITOR.env;d="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();c=CKEDITOR.dom.element.createFromHtml(['\x3ca class\x3d"cke_dialog_tab"',
+0<this._.pageCount?" cke_last":"cke_first",c,a.hidden?' style\x3d"display:none"':"",' id\x3d"',d,'"',e.gecko&&!e.hc?"":' href\x3d"javascript:void(0)"',' tabIndex\x3d"-1" hidefocus\x3d"true" role\x3d"tab"\x3e',a.label,"\x3c/a\x3e"].join(""));b.setAttribute("aria-labelledby",d);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();b.setAttribute("name",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&&
+(S(this,this,"CTRL+"+a.accessKey,ca,da),this._.accessKeyMap["CTRL+"+a.accessKey]=a.id)}},selectPage:function(a){if(this._.currentTabId!=a&&!this._.tabs[a][0].hasClass("cke_dialog_tab_disabled")&&!1!==this.fire("selectPage",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass("cke_dialog_tab_selected"),e.hide());e.setAttribute("aria-hidden",b!=a)}var d=this._.tabs[a];d[0].addClass("cke_dialog_tab_selected");CKEDITOR.env.ie6Compat||
+CKEDITOR.env.ie7Compat?(K(d[1]),d[1].show(),setTimeout(function(){K(d[1],1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},updateStyle:function(){this.parts.dialog[(1===this._.pageCount?"add":"remove")+"Class"]("cke_single_page")},hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&1!=this._.pageCount&&b.isVisible()&&(a==this._.currentTabId&&this.selectPage(x.call(this)),b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a=
+this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,this.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return this._.buttons[a]},click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()},
+enableButton:function(a){return this._.buttons[a].enable()},getPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},addFocusable:function(a,b){if("undefined"==typeof b)b=this._.focusList.length,this._.focusList.push(new L(this,a,b));else{this._.focusList.splice(b,0,new L(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}},
+setState:function(a){if(this.state!=a){this.state=a;if(a==CKEDITOR.DIALOG_STATE_BUSY){if(!this.parts.spinner){var b=this.getParentEditor().lang.dir,c={attributes:{"class":"cke_dialog_spinner"},styles:{"float":"rtl"==b?"right":"left"}};c.styles["margin-"+("rtl"==b?"left":"right")]="8px";this.parts.spinner=CKEDITOR.document.createElement("div",c);this.parts.spinner.setHtml("\x26#8987;");this.parts.spinner.appendTo(this.parts.title,1)}this.parts.spinner.show();this.getButton("ok").disable()}else a==
+CKEDITOR.DIALOG_STATE_IDLE&&(this.parts.spinner&&this.parts.spinner.hide(),this.getButton("ok").enable());this.fire("state",a)}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){this._.dialogDefinitions[a]&&"function"!=typeof b||(this._.dialogDefinitions[a]=b)},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},isTabEnabled:function(a,b,c){a=a.config.removeDialogTabs;return!(a&&a.match(new RegExp("(?:^|;)"+b+":"+c+"(?:$|;)",
+"i")))},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"ok",type:"button",label:a.lang.common.ok,"class":"cke_dialog_ui_button_ok",onClick:function(a){a=a.data.dialog;!1!==a.fire("ok",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),cancelButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"cancel",type:"button",label:a.lang.common.cancel,
+"class":"cke_dialog_ui_button_cancel",onClick:function(a){a=a.data.dialog;!1!==a.fire("cancel",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype);
+var aa={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton]},D=function(a,b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=D(d[c],b,c)))return d;return null},E=function(a,b,c,e,d){if(c){for(var f=0,g;g=a[f];f++){if(g.id==c)return a.splice(f,0,b),b;if(e&&g[e]&&(g=E(g[e],b,c,e,!0)))return g}if(d)return null}a.push(b);return b},F=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=F(d[c],
+b,c)))return d}return null},P=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new M(a,d);CKEDITOR.tools.extend(this,b)};P.prototype={getContents:function(a){return D(this.contents,a)},getButton:function(a){return D(this.buttons,a)},addContents:function(a,b){return E(this.contents,a,b)},addButton:function(a,b){return E(this.buttons,a,b)},removeContents:function(a){F(this.contents,a)},removeButton:function(a){F(this.buttons,a)}};M.prototype={get:function(a){return D(this.elements,
+a,"children")},add:function(a,b){return E(this.elements,a,b,"children")},remove:function(a){F(this.elements,a,"children")}};var J,z={},u,w={},Q=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,b.key),a.data.preventDefault())},R=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,
+e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),a.data.preventDefault()))},S=function(a,b,c,e,d){(w[c]||(w[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},ba=function(a){for(var b in w){for(var c=w[b],e=c.length-1;0<=e;e--)c[e].dialog!=a&&c[e].uiElement!=a||c.splice(e,1);0===c.length&&delete w[b]}},da=function(a,
+b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},ca=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a,b,c,e,d,f,g){if(!(4>arguments.length)){var h=(e.call?e(b):e)||"div",p=["\x3c",h," "],m=(d&&d.call?d(b):d)||{},k=(f&&f.call?f(b):f)||{},q=(g&&g.call?g.call(this,a,b):g)||"",n=this.domId=k.id||CKEDITOR.tools.getNextId()+"_uiElement";b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(m.display="none",this.notAllowed=!0);k.id=n;var r={};b.type&&(r["cke_dialog_ui_"+
+b.type]=1);b.className&&(r[b.className]=1);b.disabled&&(r.cke_disabled=1);for(var l=k["class"]&&k["class"].split?k["class"].split(" "):[],n=0;n<l.length;n++)l[n]&&(r[l[n]]=1);l=[];for(n in r)l.push(n);k["class"]=l.join(" ");b.title&&(k.title=b.title);r=(b.style||"").split(";");b.align&&(l=b.align,m["margin-left"]="left"==l?0:"auto",m["margin-right"]="right"==l?0:"auto");for(n in m)r.push(n+":"+m[n]);b.hidden&&r.push("display:none");for(n=r.length-1;0<=n;n--)""===r[n]&&r.splice(n,1);0<r.length&&(k.style=
+(k.style?k.style+"; ":"")+r.join("; "));for(n in k)p.push(n+'\x3d"'+CKEDITOR.tools.htmlEncode(k[n])+'" ');p.push("\x3e",q,"\x3c/",h,"\x3e");c.push(p.join(""));(this._||(this._={})).dialog=a;"boolean"==typeof b.isChanged&&(this.isChanged=function(){return b.isChanged});"function"==typeof b.isChanged&&(this.isChanged=b.isChanged);"function"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,b.setValue.call(this,c))}}));"function"==typeof b.getValue&&
+(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);this.registerEvents(b);this.accessKeyUp&&this.accessKeyDown&&b.accessKey&&S(this,a,"CTRL+"+b.accessKey);var t=this;a.on("load",function(){var b=t.getInputElement();if(b){var c=t.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&8>CKEDITOR.env.version?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;t.fire("focus");
+c&&this.addClass(c)});b.on("blur",function(){t.fire("blur");c&&this.removeClass(c)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=t.focusIndex}))}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.widths||null,h=d&&d.height||null,p,m={role:"presentation"};d&&d.align&&(m.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this,
+a,d||{type:"hbox"},e,"table",{},m,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(p=0;p<c.length;p++){var b="cke_dialog_ui_hbox_child",e=[];0===p&&(b="cke_dialog_ui_hbox_first");p==c.length-1&&(b="cke_dialog_ui_hbox_last");a.push('\x3ctd class\x3d"',b,'" role\x3d"presentation" ');g?g[p]&&e.push("width:"+v(g[p])):e.push("width:"+Math.floor(100/c.length)+"%");h&&e.push("height:"+v(h));d&&void 0!==d.padding&&e.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&&
+f[p].align&&e.push("text-align:"+f[p].align);0<e.length&&a.push('style\x3d"'+e.join("; ")+'" ');a.push("\x3e",c[p],"\x3c/td\x3e")}a.push("\x3c/tr\x3e\x3c/tbody\x3e");return a.join("")})}},vbox:function(a,b,c,e,d){if(!(3>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.width||null,h=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"vbox"},e,"div",null,{role:"presentation"},function(){var b=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];
+b.push('style\x3d"');d&&d.expand&&b.push("height:100%;");b.push("width:"+v(g||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align\x3d"',CKEDITOR.tools.htmlEncode(d&&d.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("\x3e\x3ctbody\x3e");for(var e=0;e<c.length;e++){var k=[];b.push('\x3ctr\x3e\x3ctd role\x3d"presentation" ');g&&k.push("width:"+v(g||"100%"));h?k.push("height:"+v(h[e])):d&&d.expand&&k.push("height:"+Math.floor(100/c.length)+"%");
+d&&void 0!==d.padding&&k.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f[e].align&&k.push("text-align:"+f[e].align);0<k.length&&b.push('style\x3d"',k.join("; "),'" ');b.push(' class\x3d"cke_dialog_ui_vbox_child"\x3e',c[e],"\x3c/td\x3e\x3c/tr\x3e")}b.push("\x3c/tbody\x3e\x3c/table\x3e");return b.join("")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){return CKEDITOR.document.getById(this.domId)},getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog},
+setValue:function(a,b){this.getInputElement().setValue(a);!b&&this.fire("change",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&-1==a.$.className.search("cke_dialog_page_contents"););if(!a)return this;a=a.getAttribute("name");this._.dialog._.currentTabId!=a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus();
+return this},registerEvents:function(a){var b=/^on([A-Z]\w+)/,c,e=function(a,b,c,d){b.on("load",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,c[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on("load",b,this)},onShow:function(a,b){a.on("show",b,this)},onHide:function(a,b){a.on("hide",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){},
+disable:function(){var a=this.getElement();this.getInputElement().setAttribute("disabled","true");a.addClass("cke_disabled")},enable:function(){var a=this.getElement();this.getInputElement().removeAttribute("disabled");a.removeClass("cke_disabled")},isEnabled:function(){return!this.getElement().hasClass("cke_disabled")},isVisible:function(){return this.getInputElement().isVisible()},isFocusable:function(){return this.isEnabled()&&this.isVisible()?!0:!1}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,
+{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,e){for(var d=c.children,f,g=[],h=[],p=0;p<d.length&&(f=d[p]);p++){var m=[];g.push(m);h.push(CKEDITOR.dialog._.uiElementBuilders[f.type].build(a,f,m))}return new CKEDITOR.ui.dialog[c.type](a,
+h,g,e,c)}};CKEDITOR.dialog.addUIElement("hbox",a);CKEDITOR.dialog.addUIElement("vbox",a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){var b=this.tabId;a.openDialog(this.dialogName,function(a){b&&a.selectPage(b)})},canUndo:!1,editorFocus:1};(function(){var a=/^([a]|[^a])+$/,b=/^\d*$/,c=/^\d*(?:\.\d+)?$/,e=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,d=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,
+f=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=arguments;return function(){var b=this&&this.getValue?this.getValue():a[0],c,d=CKEDITOR.VALIDATE_AND,e=[],f;for(f=0;f<a.length;f++)if("function"==typeof a[f])e.push(a[f]);else break;f<a.length&&"string"==typeof a[f]&&(c=a[f],f++);f<a.length&&"number"==typeof a[f]&&(d=a[f]);var n=d==CKEDITOR.VALIDATE_AND?!0:!1;for(f=0;f<e.length;f++)n=d==CKEDITOR.VALIDATE_AND?n&&
+e[f](b):n||e[f](b);return n?!0:c}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return a.test(c)?!0:b}},notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,a)},number:function(a){return this.regex(c,a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return f.test(CKEDITOR.tools.trim(a))},
+a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on("instanceDestroyed",function(a){if(CKEDITOR.tools.isEmpty(CKEDITOR.instances)){for(var b;b=CKEDITOR.dialog._.currentTop;)b.hide();for(var c in z)z[c].remove();z={}}a=a.editor._.storedDialogs;for(var d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a];
+null===CKEDITOR.dialog._.currentTop&&N(this);if("function"==typeof e)c=this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,c),c.show();else{if("failed"==e)throw O(this),Error('[CKEDITOR.dialog.openDialog] Dialog "'+a+'" failed when loading definition.');"string"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){"function"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]="failed");this.openDialog(a,
+b)},this,0,1)}CKEDITOR.skin.loadPart("dialog");return c}})})();CKEDITOR.plugins.add("dialog",{requires:"dialogui",init:function(x){x.on("doubleclick",function(A){A.data.dialog&&x.openDialog(A.data.dialog)},null,null,999)}});(function(){CKEDITOR.plugins.add("a11yhelp",{requires:"dialog",availableLangs:{af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,en:1,"en-gb":1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,"fr-ca":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1},init:function(b){var c=this;b.addCommand("a11yHelp",{exec:function(){var a=
+b.langCode,a=c.availableLangs[a]?a:c.availableLangs[a.replace(/-.*/,"")]?a.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+"dialogs/lang/"+a+".js"),function(){b.lang.a11yhelp=c.langEntries[a];b.openDialog("a11yHelp")})},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:!1});b.setKeystroke(CKEDITOR.ALT+48,"a11yHelp");CKEDITOR.dialog.add("a11yHelp",this.path+"dialogs/a11yhelp.js");b.on("ariaEditorHelpLabel",function(a){a.data.label=b.lang.common.editorHelp})}})})();(function(){function f(c){var a=this.att;c=c&&c.hasAttribute(a)&&c.getAttribute(a)||"";void 0!==c&&this.setValue(c)}function g(){for(var c,a=0;a<arguments.length;a++)if(arguments[a]instanceof CKEDITOR.dom.element){c=arguments[a];break}if(c){var a=this.att,b=this.getValue();b?c.setAttribute(a,b):c.removeAttribute(a,b)}}var k={id:1,dir:1,classes:1,styles:1};CKEDITOR.plugins.add("dialogadvtab",{requires:"dialog",allowedContent:function(c){c||(c=k);var a=[];c.id&&a.push("id");c.dir&&a.push("dir");var b=
 "";a.length&&(b+="["+a.join(",")+"]");c.classes&&(b+="(*)");c.styles&&(b+="{*}");return b},createAdvancedTab:function(c,a,b){a||(a=k);var d=c.lang.common,h={id:"advanced",label:d.advancedTab,title:d.advancedTab,elements:[{type:"vbox",padding:1,children:[]}]},e=[];if(a.id||a.dir)a.id&&e.push({id:"advId",att:"id",type:"text",requiredContent:b?b+"[id]":null,label:d.id,setup:f,commit:g}),a.dir&&e.push({id:"advLangDir",att:"dir",type:"select",requiredContent:b?b+"[dir]":null,label:d.langDir,"default":"",
 style:"width:100%",items:[[d.notSet,""],[d.langDirLTR,"ltr"],[d.langDirRTL,"rtl"]],setup:f,commit:g}),h.elements[0].children.push({type:"hbox",widths:["50%","50%"],children:[].concat(e)});if(a.styles||a.classes)e=[],a.styles&&e.push({id:"advStyles",att:"style",type:"text",requiredContent:b?b+"{cke-xyz}":null,label:d.styles,"default":"",validate:CKEDITOR.dialog.validate.inlineStyle(d.invalidInlineStyle),onChange:function(){},getStyle:function(a,c){var b=this.getValue().match(new RegExp("(?:^|;)\\s*"+
 a+"\\s*:\\s*([^;]*)","i"));return b?b[1]:c},updateStyle:function(a,b){var d=this.getValue(),e=c.document.createElement("span");e.setAttribute("style",d);e.setStyle(a,b);d=CKEDITOR.tools.normalizeCssText(e.getAttribute("style"));this.setValue(d,1)},setup:f,commit:g}),a.classes&&e.push({type:"hbox",widths:["45%","55%"],children:[{id:"advCSSClasses",att:"class",type:"text",requiredContent:b?b+"(cke-xyz)":null,label:d.cssClasses,"default":"",setup:f,commit:g}]}),h.elements[0].children.push({type:"hbox",
@@ -643,38 +653,39 @@ this.hasArrow?(a=a==CKEDITOR.TRISTATE_ON?this._.editor.lang.button.selectedLabel
 b}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();CKEDITOR.plugins.add("panelbutton",{requires:"button",onLoad:function(){function e(c){var a=this._;a.state!=CKEDITOR.TRISTATE_DISABLED&&(this.createPanel(c),a.on?a.panel.hide():a.panel.showBlock(this._.id,this.document.getById(this._.id),4))}CKEDITOR.ui.panelButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){var a=c.panel||{};delete c.panel;this.base(c);this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.block={attributes:a.attributes};this.hasArrow=a.toolbarRelated=
 !0;this.click=e;this._={panelDefinition:a}},statics:{handler:{create:function(c){return new CKEDITOR.ui.panelButton(c)}}},proto:{createPanel:function(c){var a=this._;if(!a.panel){var f=this._.panelDefinition,e=this._.panelDefinition.block,g=f.parent||CKEDITOR.document.getBody(),d=this._.panel=new CKEDITOR.ui.floatPanel(c,g,f),f=d.addBlock(a.id,e),b=this;d.onShow=function(){b.className&&this.element.addClass(b.className+"_panel");b.setState(CKEDITOR.TRISTATE_ON);a.on=1;b.editorFocus&&c.focus();if(b.onOpen)b.onOpen()};
 d.onHide=function(d){b.className&&this.element.getFirst().removeClass(b.className+"_panel");b.setState(b.modes&&b.modes[c.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);a.on=0;if(!d&&b.onClose)b.onClose()};d.onEscape=function(){d.hide(1);b.document.getById(a.id).focus()};if(this.onBlock)this.onBlock(d,f);f.onHide=function(){a.on=0;b.setState(CKEDITOR.TRISTATE_OFF)}}}}})},beforeInit:function(e){e.ui.addHandler(CKEDITOR.UI_PANELBUTTON,CKEDITOR.ui.panelButton.handler)}});
-CKEDITOR.UI_PANELBUTTON="panelbutton";(function(){CKEDITOR.plugins.add("panel",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANEL,CKEDITOR.ui.panel.handler)}});CKEDITOR.UI_PANEL="panel";CKEDITOR.ui.panel=function(a,b){b&&CKEDITOR.tools.extend(this,b);CKEDITOR.tools.extend(this,{className:"",css:[]});this.id=CKEDITOR.tools.getNextId();this.document=a;this.isFramed=this.forceIFrame||this.css.length;this._={blocks:{}}};CKEDITOR.ui.panel.handler={create:function(a){return new CKEDITOR.ui.panel(a)}};var f=CKEDITOR.addTemplate("panel",
-'\x3cdiv lang\x3d"{langCode}" id\x3d"{id}" dir\x3d{dir} class\x3d"cke cke_reset_all {editorId} cke_panel cke_panel {cls} cke_{dir}" style\x3d"z-index:{z-index}" role\x3d"presentation"\x3e{frame}\x3c/div\x3e'),g=CKEDITOR.addTemplate("panel-frame",'\x3ciframe id\x3d"{id}" class\x3d"cke_panel_frame" role\x3d"presentation" frameborder\x3d"0" src\x3d"{src}"\x3e\x3c/iframe\x3e'),h=CKEDITOR.addTemplate("panel-frame-inner",'\x3c!DOCTYPE html\x3e\x3chtml class\x3d"cke_panel_container {env}" dir\x3d"{dir}" lang\x3d"{langCode}"\x3e\x3chead\x3e{css}\x3c/head\x3e\x3cbody class\x3d"cke_{dir}" style\x3d"margin:0;padding:0" onload\x3d"{onload}"\x3e\x3c/body\x3e\x3c/html\x3e');
-CKEDITOR.ui.panel.prototype={render:function(a,b){this.getHolderElement=function(){var a=this._.holder;if(!a){if(this.isFramed){var a=this.document.getById(this.id+"_frame"),b=a.getParent(),a=a.getFrameDocument();CKEDITOR.env.iOS&&b.setStyles({overflow:"scroll","-webkit-overflow-scrolling":"touch"});b=CKEDITOR.tools.addFunction(CKEDITOR.tools.bind(function(){this.isLoaded=!0;if(this.onLoad)this.onLoad()},this));a.write(h.output(CKEDITOR.tools.extend({css:CKEDITOR.tools.buildStyleHtml(this.css),onload:"window.parent.CKEDITOR.tools.callFunction("+
-b+");"},d)));a.getWindow().$.CKEDITOR=CKEDITOR;a.on("keydown",function(a){var b=a.data.getKeystroke(),c=this.document.getById(this.id).getAttribute("dir");this._.onKeyDown&&!1===this._.onKeyDown(b)?a.data.preventDefault():(27==b||b==("rtl"==c?39:37))&&this.onEscape&&!1===this.onEscape(b)&&a.data.preventDefault()},this);a=a.getBody();a.unselectable();CKEDITOR.env.air&&CKEDITOR.tools.callFunction(b)}else a=this.document.getById(this.id);this._.holder=a}return a};var d={editorId:a.id,id:this.id,langCode:a.langCode,
-dir:a.lang.dir,cls:this.className,frame:"",env:CKEDITOR.env.cssClass,"z-index":a.config.baseFloatZIndex+1};if(this.isFramed){var e=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?"javascript:void(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"}())":"";d.frame=g.output({id:this.id+"_frame",src:e})}e=f.output(d);b&&b.push(e);return e},addBlock:function(a,b){b=this._.blocks[a]=b instanceof CKEDITOR.ui.panel.block?b:new CKEDITOR.ui.panel.block(this.getHolderElement(),
-b);this._.currentBlock||this.showBlock(a);return b},getBlock:function(a){return this._.blocks[a]},showBlock:function(a){a=this._.blocks[a];var b=this._.currentBlock,d=!this.forceIFrame||CKEDITOR.env.ie?this._.holder:this.document.getById(this.id+"_frame");b&&b.hide();this._.currentBlock=a;CKEDITOR.fire("ariaWidget",d);a._.focusIndex=-1;this._.onKeyDown=a.onKeyDown&&CKEDITOR.tools.bind(a.onKeyDown,a);a.show();return a},destroy:function(){this.element&&this.element.remove()}};CKEDITOR.ui.panel.block=
+CKEDITOR.UI_PANELBUTTON="panelbutton";(function(){CKEDITOR.plugins.add("panel",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANEL,CKEDITOR.ui.panel.handler)}});CKEDITOR.UI_PANEL="panel";CKEDITOR.ui.panel=function(a,b){b&&CKEDITOR.tools.extend(this,b);CKEDITOR.tools.extend(this,{className:"",css:[]});this.id=CKEDITOR.tools.getNextId();this.document=a;this.isFramed=this.forceIFrame||this.css.length;this._={blocks:{}}};CKEDITOR.ui.panel.handler={create:function(a){return new CKEDITOR.ui.panel(a)}};var g=CKEDITOR.addTemplate("panel",
+'\x3cdiv lang\x3d"{langCode}" id\x3d"{id}" dir\x3d{dir} class\x3d"cke cke_reset_all {editorId} cke_panel cke_panel {cls} cke_{dir}" style\x3d"z-index:{z-index}" role\x3d"presentation"\x3e{frame}\x3c/div\x3e'),h=CKEDITOR.addTemplate("panel-frame",'\x3ciframe id\x3d"{id}" class\x3d"cke_panel_frame" role\x3d"presentation" frameborder\x3d"0" src\x3d"{src}"\x3e\x3c/iframe\x3e'),k=CKEDITOR.addTemplate("panel-frame-inner",'\x3c!DOCTYPE html\x3e\x3chtml class\x3d"cke_panel_container {env}" dir\x3d"{dir}" lang\x3d"{langCode}"\x3e\x3chead\x3e{css}\x3c/head\x3e\x3cbody class\x3d"cke_{dir}" style\x3d"margin:0;padding:0" onload\x3d"{onload}"\x3e\x3c/body\x3e\x3c/html\x3e');
+CKEDITOR.ui.panel.prototype={render:function(a,b){this.getHolderElement=function(){var a=this._.holder;if(!a){if(this.isFramed){var a=this.document.getById(this.id+"_frame"),b=a.getParent(),a=a.getFrameDocument();CKEDITOR.env.iOS&&b.setStyles({overflow:"scroll","-webkit-overflow-scrolling":"touch"});b=CKEDITOR.tools.addFunction(CKEDITOR.tools.bind(function(){this.isLoaded=!0;if(this.onLoad)this.onLoad()},this));a.write(k.output(CKEDITOR.tools.extend({css:CKEDITOR.tools.buildStyleHtml(this.css),onload:"window.parent.CKEDITOR.tools.callFunction("+
+b+");"},e)));a.getWindow().$.CKEDITOR=CKEDITOR;a.on("keydown",function(a){var b=a.data.getKeystroke(),c=this.document.getById(this.id).getAttribute("dir");this._.onKeyDown&&!1===this._.onKeyDown(b)?a.data.preventDefault():(27==b||b==("rtl"==c?39:37))&&this.onEscape&&!1===this.onEscape(b)&&a.data.preventDefault()},this);a=a.getBody();a.unselectable();CKEDITOR.env.air&&CKEDITOR.tools.callFunction(b)}else a=this.document.getById(this.id);this._.holder=a}return a};var e={editorId:a.id,id:this.id,langCode:a.langCode,
+dir:a.lang.dir,cls:this.className,frame:"",env:CKEDITOR.env.cssClass,"z-index":a.config.baseFloatZIndex+1};if(this.isFramed){var d=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?"javascript:void(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"}())":"";e.frame=h.output({id:this.id+"_frame",src:d})}d=g.output(e);b&&b.push(d);return d},addBlock:function(a,b){b=this._.blocks[a]=b instanceof CKEDITOR.ui.panel.block?b:new CKEDITOR.ui.panel.block(this.getHolderElement(),
+b);this._.currentBlock||this.showBlock(a);return b},getBlock:function(a){return this._.blocks[a]},showBlock:function(a){a=this._.blocks[a];var b=this._.currentBlock,e=!this.forceIFrame||CKEDITOR.env.ie?this._.holder:this.document.getById(this.id+"_frame");b&&b.hide();this._.currentBlock=a;CKEDITOR.fire("ariaWidget",e);a._.focusIndex=-1;this._.onKeyDown=a.onKeyDown&&CKEDITOR.tools.bind(a.onKeyDown,a);a.show();return a},destroy:function(){this.element&&this.element.remove()}};CKEDITOR.ui.panel.block=
 CKEDITOR.tools.createClass({$:function(a,b){this.element=a.append(a.getDocument().createElement("div",{attributes:{tabindex:-1,"class":"cke_panel_block"},styles:{display:"none"}}));b&&CKEDITOR.tools.extend(this,b);this.element.setAttributes({role:this.attributes.role||"presentation","aria-label":this.attributes["aria-label"],title:this.attributes.title||this.attributes["aria-label"]});this.keys={};this._.focusIndex=-1;this.element.disableContextMenu()},_:{markItem:function(a){-1!=a&&(a=this.element.getElementsByTag("a").getItem(this._.focusIndex=
-a),CKEDITOR.env.webkit&&a.getDocument().getWindow().focus(),a.focus(),this.onMark&&this.onMark(a))}},proto:{show:function(){this.element.setStyle("display","")},hide:function(){this.onHide&&!0===this.onHide.call(this)||this.element.setStyle("display","none")},onKeyDown:function(a,b){var d=this.keys[a];switch(d){case "next":for(var e=this._.focusIndex,d=this.element.getElementsByTag("a"),c;c=d.getItem(++e);)if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=e;c.focus();break}return c||
-b?!1:(this._.focusIndex=-1,this.onKeyDown(a,1));case "prev":e=this._.focusIndex;for(d=this.element.getElementsByTag("a");0<e&&(c=d.getItem(--e));){if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=e;c.focus();break}c=null}return c||b?!1:(this._.focusIndex=d.count(),this.onKeyDown(a,1));case "click":case "mouseup":return e=this._.focusIndex,(c=0<=e&&this.element.getElementsByTag("a").getItem(e))&&(c.$[d]?c.$[d]():c.$["on"+d]()),!1}return!0}}})})();CKEDITOR.plugins.add("floatpanel",{requires:"panel"});
-(function(){function v(a,b,c,l,h){h=CKEDITOR.tools.genKey(b.getUniqueId(),c.getUniqueId(),a.lang.dir,a.uiColor||"",l.css||"",h||"");var g=f[h];g||(g=f[h]=new CKEDITOR.ui.panel(b,l),g.element=c.append(CKEDITOR.dom.element.createFromHtml(g.render(a),b)),g.element.setStyles({display:"none",position:"absolute"}));return g}var f={};CKEDITOR.ui.floatPanel=CKEDITOR.tools.createClass({$:function(a,b,c,l){function h(){e.hide()}c.forceIFrame=1;c.toolbarRelated&&a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&
-(b=CKEDITOR.document.getById("cke_"+a.name));var g=b.getDocument();l=v(a,g,b,c,l||0);var m=l.element,p=m.getFirst(),e=this;m.disableContextMenu();this.element=m;this._={editor:a,panel:l,parentElement:b,definition:c,document:g,iframe:p,children:[],dir:a.lang.dir,showBlockParams:null};a.on("mode",h);a.on("resize",h);g.getWindow().on("resize",function(){this.reposition()},this)},proto:{addBlock:function(a,b){return this._.panel.addBlock(a,b)},addListBlock:function(a,b){return this._.panel.addListBlock(a,
-b)},getBlock:function(a){return this._.panel.getBlock(a)},showBlock:function(a,b,c,l,h,g){var m=this._.panel,p=m.showBlock(a);this._.showBlockParams=[].slice.call(arguments);this.allowBlur(!1);var e=this._.editor.editable();this._.returnFocus=e.hasFocus?e:new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);this._.hideTimeout=0;var k=this.element,e=this._.iframe,e=CKEDITOR.env.ie&&!CKEDITOR.env.edge?e:new CKEDITOR.dom.window(e.$.contentWindow),f=k.getDocument(),r=this._.parentElement.getPositionedAncestor(),
-t=b.getDocumentPosition(f),f=r?r.getDocumentPosition(f):{x:0,y:0},q="rtl"==this._.dir,d=t.x+(l||0)-f.x,n=t.y+(h||0)-f.y;!q||1!=c&&4!=c?q||2!=c&&3!=c||(d+=b.$.offsetWidth-1):d+=b.$.offsetWidth;if(3==c||4==c)n+=b.$.offsetHeight-1;this._.panel._.offsetParentId=b.getId();k.setStyles({top:n+"px",left:0,display:""});k.setOpacity(0);k.getFirst().removeStyle("width");this._.editor.focusManager.add(e);this._.blurSet||(CKEDITOR.event.useCapture=!0,e.on("blur",function(a){function u(){delete this._.returnFocus;
+a),CKEDITOR.env.webkit&&a.getDocument().getWindow().focus(),a.focus(),this.onMark&&this.onMark(a))},markFirstDisplayed:function(a){for(var b=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"none"==a.getStyle("display")},e=this._.getItems(),d,c,f=e.count()-1;0<=f;f--)if(d=e.getItem(f),d.getAscendant(b)||(c=d,this._.focusIndex=f),"true"==d.getAttribute("aria-selected")){c=d;this._.focusIndex=f;break}c&&(a&&a(),CKEDITOR.env.webkit&&c.getDocument().getWindow().focus(),c.focus(),this.onMark&&this.onMark(c))},
+getItems:function(){return this.element.getElementsByTag("a")}},proto:{show:function(){this.element.setStyle("display","")},hide:function(){this.onHide&&!0===this.onHide.call(this)||this.element.setStyle("display","none")},onKeyDown:function(a,b){var e=this.keys[a];switch(e){case "next":for(var d=this._.focusIndex,e=this.element.getElementsByTag("a"),c;c=e.getItem(++d);)if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=d;c.focus();break}return c||b?!1:(this._.focusIndex=-1,this.onKeyDown(a,
+1));case "prev":d=this._.focusIndex;for(e=this.element.getElementsByTag("a");0<d&&(c=e.getItem(--d));){if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=d;c.focus();break}c=null}return c||b?!1:(this._.focusIndex=e.count(),this.onKeyDown(a,1));case "click":case "mouseup":return d=this._.focusIndex,(c=0<=d&&this.element.getElementsByTag("a").getItem(d))&&(c.$[e]?c.$[e]():c.$["on"+e]()),!1}return!0}}})})();CKEDITOR.plugins.add("floatpanel",{requires:"panel"});
+(function(){function v(a,b,c,m,h){h=CKEDITOR.tools.genKey(b.getUniqueId(),c.getUniqueId(),a.lang.dir,a.uiColor||"",m.css||"",h||"");var g=f[h];g||(g=f[h]=new CKEDITOR.ui.panel(b,m),g.element=c.append(CKEDITOR.dom.element.createFromHtml(g.render(a),b)),g.element.setStyles({display:"none",position:"absolute"}));return g}var f={};CKEDITOR.ui.floatPanel=CKEDITOR.tools.createClass({$:function(a,b,c,m){function h(){e.hide()}c.forceIFrame=1;c.toolbarRelated&&a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&
+(b=CKEDITOR.document.getById("cke_"+a.name));var g=b.getDocument();m=v(a,g,b,c,m||0);var n=m.element,k=n.getFirst(),e=this;n.disableContextMenu();this.element=n;this._={editor:a,panel:m,parentElement:b,definition:c,document:g,iframe:k,children:[],dir:a.lang.dir,showBlockParams:null};a.on("mode",h);a.on("resize",h);g.getWindow().on("resize",function(){this.reposition()},this)},proto:{addBlock:function(a,b){return this._.panel.addBlock(a,b)},addListBlock:function(a,b){return this._.panel.addListBlock(a,
+b)},getBlock:function(a){return this._.panel.getBlock(a)},showBlock:function(a,b,c,m,h,g){var n=this._.panel,k=n.showBlock(a);this._.showBlockParams=[].slice.call(arguments);this.allowBlur(!1);var e=this._.editor.editable();this._.returnFocus=e.hasFocus?e:new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);this._.hideTimeout=0;var l=this.element,e=this._.iframe,e=CKEDITOR.env.ie&&!CKEDITOR.env.edge?e:new CKEDITOR.dom.window(e.$.contentWindow),f=l.getDocument(),r=this._.parentElement.getPositionedAncestor(),
+t=b.getDocumentPosition(f),f=r?r.getDocumentPosition(f):{x:0,y:0},q="rtl"==this._.dir,d=t.x+(m||0)-f.x,p=t.y+(h||0)-f.y;!q||1!=c&&4!=c?q||2!=c&&3!=c||(d+=b.$.offsetWidth-1):d+=b.$.offsetWidth;if(3==c||4==c)p+=b.$.offsetHeight-1;this._.panel._.offsetParentId=b.getId();l.setStyles({top:p+"px",left:0,display:""});l.setOpacity(0);l.getFirst().removeStyle("width");this._.editor.focusManager.add(e);this._.blurSet||(CKEDITOR.event.useCapture=!0,e.on("blur",function(a){function u(){delete this._.returnFocus;
 this.hide()}this.allowBlur()&&a.data.getPhase()==CKEDITOR.EVENT_PHASE_AT_TARGET&&this.visible&&!this._.activeChild&&(CKEDITOR.env.iOS?this._.hideTimeout||(this._.hideTimeout=CKEDITOR.tools.setTimeout(u,0,this)):u.call(this))},this),e.on("focus",function(){this._.focused=!0;this.hideChild();this.allowBlur(!0)},this),CKEDITOR.env.iOS&&(e.on("touchstart",function(){clearTimeout(this._.hideTimeout)},this),e.on("touchend",function(){this._.hideTimeout=0;this.focus()},this)),CKEDITOR.event.useCapture=!1,
-this._.blurSet=1);m.onEscape=CKEDITOR.tools.bind(function(a){if(this.onEscape&&!1===this.onEscape(a))return!1},this);CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.tools.bind(function(){var a=k;a.removeStyle("width");if(p.autoSize){var b=p.element.getDocument(),b=(CKEDITOR.env.webkit||CKEDITOR.env.edge?p.element:b.getBody()).$.scrollWidth;CKEDITOR.env.ie&&CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetWidth||0)-(a.$.clientWidth||0)+3);a.setStyle("width",b+10+"px");b=p.element.$.scrollHeight;CKEDITOR.env.ie&&
-CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetHeight||0)-(a.$.clientHeight||0)+3);a.setStyle("height",b+"px");m._.currentBlock.element.setStyle("display","none").removeStyle("display")}else a.removeStyle("height");q&&(d-=k.$.offsetWidth);k.setStyle("left",d+"px");var b=m.element.getWindow(),a=k.$.getBoundingClientRect(),b=b.getViewPaneSize(),c=a.width||a.right-a.left,e=a.height||a.bottom-a.top,l=q?a.right:b.width-a.left,h=q?b.width-a.right:a.left;q?l<c&&(d=h>c?d+c:b.width>c?d-a.left:d-a.right+b.width):
-l<c&&(d=h>c?d-c:b.width>c?d-a.right+b.width:d-a.left);c=a.top;b.height-a.top<e&&(n=c>e?n-e:b.height>e?n-a.bottom+b.height:n-a.top);CKEDITOR.env.ie&&(b=a=new CKEDITOR.dom.element(k.$.offsetParent),"html"==b.getName()&&(b=b.getDocument().getBody()),"rtl"==b.getComputedStyle("direction")&&(d=CKEDITOR.env.ie8Compat?d-2*k.getDocument().getDocumentElement().$.scrollLeft:d-(a.$.scrollWidth-a.$.clientWidth)));var a=k.getFirst(),f;(f=a.getCustomData("activePanel"))&&f.onHide&&f.onHide.call(this,1);a.setCustomData("activePanel",
-this);k.setStyles({top:n+"px",left:d+"px"});k.setOpacity(1);g&&g()},this);m.isLoaded?a():m.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();p.element.focus();CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var a=this._.showBlockParams;
-this.visible&&this._.showBlockParams&&(this.hide(),this.showBlock.apply(this,a))},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();a&&!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=this._.iframe.getFrameDocument().getActive();a&&a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();
-this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),a.focus();delete this._.lastFocused;this._.showBlockParams=null;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var b=this._.panel;void 0!==a&&(b.allowBlur=a);return b.allowBlur},showAsChild:function(a,b,c,f,h,g){if(this._.activeChild!=a||a._.panel._.offsetParentId!=c.getId())this.hideChild(),a.onHide=
-CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(b,c,f,h,g),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+=""},100)},hideChild:function(a){var b=this._.activeChild;b&&(delete b.onHide,delete this._.activeChild,b.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),
-b;for(b in f){var c=f[b];a?c.destroy():c.element.hide()}a&&(f={})})})();CKEDITOR.plugins.add("colorbutton",{requires:"panelbutton,floatpanel",init:function(e){function t(a,c,f,g,l){var m=new CKEDITOR.style(k["colorButton_"+c+"Style"]),n=CKEDITOR.tools.getNextId()+"_colorBox";l=l||{};e.ui.add(a,CKEDITOR.UI_PANELBUTTON,{label:f,title:f,modes:{wysiwyg:1},editorFocus:0,toolbar:"colors,"+g,allowedContent:m,requiredContent:m,contentTransformations:l.contentTransformations,panel:{css:CKEDITOR.skin.getPath("editor"),attributes:{role:"listbox","aria-label":h.panelTitle}},onBlock:function(a,
-b){b.autoSize=!0;b.element.addClass("cke_colorblock");b.element.setHtml(x(a,c,n));b.element.getDocument().getBody().setStyle("overflow","hidden");CKEDITOR.ui.fire("ready",this);var d=b.keys,f="rtl"==e.lang.dir;d[f?37:39]="next";d[40]="next";d[9]="next";d[f?39:37]="prev";d[38]="prev";d[CKEDITOR.SHIFT+9]="prev";d[32]="click"},refresh:function(){e.activeFilter.check(m)||this.setState(CKEDITOR.TRISTATE_DISABLED)},onOpen:function(){var a=e.getSelection(),a=a&&a.getStartElement(),a=e.elementPath(a),b;if(a){a=
-a.block||a.blockLimit||e.document.getBody();do b=a&&a.getComputedStyle("back"==c?"background-color":"color")||"transparent";while("back"==c&&"transparent"==b&&a&&(a=a.getParent()));b&&"transparent"!=b||(b="#ffffff");!1!==k.colorButton_enableAutomatic&&this._.panel._.iframe.getFrameDocument().getById(n).setStyle("background-color",b);return b}}})}function x(a,c,f){var g=[],l=k.colorButton_colors.split(","),m=k.colorButton_colorsPerRow||6,n=e.plugins.colordialog&&!1!==k.colorButton_enableMore,p=l.length+
-(n?2:1),b=CKEDITOR.tools.addFunction(function(b,c){function d(a){this.removeListener("ok",d);this.removeListener("cancel",d);"ok"==a.name&&f(this.getContentElement("picker","selectedColor").getValue(),c)}var f=arguments.callee;if("?"==b)e.openDialog("colordialog",function(){this.on("ok",d);this.on("cancel",d)});else{e.focus();a.hide();e.fire("saveSnapshot");e.removeStyle(new CKEDITOR.style(k["colorButton_"+c+"Style"],{color:"inherit"}));if(b){var g=k["colorButton_"+c+"Style"];g.childRule="back"==
-c?function(a){return u(a)}:function(a){return!(a.is("a")||a.getElementsByTag("a").count())||u(a)};e.applyStyle(new CKEDITOR.style(g,{color:b}))}e.fire("saveSnapshot")}});!1!==k.colorButton_enableAutomatic&&g.push('\x3ca class\x3d"cke_colorauto" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.auto,'" onclick\x3d"CKEDITOR.tools.callFunction(',b,",null,'",c,"');return false;\" href\x3d\"javascript:void('",h.auto,'\')" role\x3d"option" aria-posinset\x3d"1" aria-setsize\x3d"',p,'"\x3e\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+
-m+'" align\x3d"center"\x3e\x3cspan class\x3d"cke_colorbox" id\x3d"',f,'"\x3e\x3c/span\x3e',h.auto,"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/a\x3e");g.push('\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e');for(f=0;f<l.length;f++){0===f%m&&g.push("\x3c/tr\x3e\x3ctr\x3e");var d=l[f].split("/"),q=d[0],r=d[1]||q;d[1]||(q="#"+q.replace(/^(.)(.)(.)$/,"$1$1$2$2$3$3"));d=e.lang.colorbutton.colors[r]||r;g.push('\x3ctd\x3e\x3ca class\x3d"cke_colorbox" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',
-d,'" onclick\x3d"CKEDITOR.tools.callFunction(',b,",'",q,"','",c,"'); return false;\" href\x3d\"javascript:void('",d,'\')" role\x3d"option" aria-posinset\x3d"',f+2,'" aria-setsize\x3d"',p,'"\x3e\x3cspan class\x3d"cke_colorbox" style\x3d"background-color:#',r,'"\x3e\x3c/span\x3e\x3c/a\x3e\x3c/td\x3e')}n&&g.push('\x3c/tr\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+m+'" align\x3d"center"\x3e\x3ca class\x3d"cke_colormore" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.more,'" onclick\x3d"CKEDITOR.tools.callFunction(',
-b,",'?','",c,"');return false;\" href\x3d\"javascript:void('",h.more,"')\"",' role\x3d"option" aria-posinset\x3d"',p,'" aria-setsize\x3d"',p,'"\x3e',h.more,"\x3c/a\x3e\x3c/td\x3e");g.push("\x3c/tr\x3e\x3c/table\x3e");return g.join("")}function u(a){return"false"==a.getAttribute("contentEditable")||a.getAttribute("data-nostyle")}var k=e.config,h=e.lang.colorbutton;if(!CKEDITOR.env.hc){t("TextColor","fore",h.textColorTitle,10,{contentTransformations:[[{element:"font",check:"span{color}",left:function(a){return!!a.attributes.color},
-right:function(a){a.name="span";a.attributes.color&&(a.styles.color=a.attributes.color);delete a.attributes.color}}]]});var v={},w=e.config.colorButton_normalizeBackground;if(void 0===w||w)v.contentTransformations=[[{element:"span",left:function(a){var c=CKEDITOR.tools;if("span"!=a.name||!a.styles||!a.styles.background)return!1;a=c.style.parse.background(a.styles.background);return a.color&&1===c.objectKeys(a).length},right:function(a){var c=(new CKEDITOR.style(e.config.colorButton_backStyle,{color:a.styles.background})).getDefinition();
-a.name=c.element;a.styles=c.styles;a.attributes=c.attributes||{};return a}}]];t("BGColor","back",h.bgColorTitle,20,v)}}});CKEDITOR.config.colorButton_colors="1ABC9C,2ECC71,3498DB,9B59B6,4E5F70,F1C40F,16A085,27AE60,2980B9,8E44AD,2C3E50,F39C12,E67E22,E74C3C,ECF0F1,95A5A6,DDD,FFF,D35400,C0392B,BDC3C7,7F8C8D,999,000";CKEDITOR.config.colorButton_foreStyle={element:"span",styles:{color:"#(color)"},overrides:[{element:"font",attributes:{color:null}}]};
-CKEDITOR.config.colorButton_backStyle={element:"span",styles:{"background-color":"#(color)"}};CKEDITOR.plugins.colordialog={requires:"dialog",init:function(b){var c=new CKEDITOR.dialogCommand("colordialog");c.editorFocus=!1;b.addCommand("colordialog",c);CKEDITOR.dialog.add("colordialog",this.path+"dialogs/colordialog.js");b.getColorFromDialog=function(c,f){var d=function(a){this.removeListener("ok",d);this.removeListener("cancel",d);a="ok"==a.name?this.getValueOf("picker","selectedColor"):null;c.call(f,a)},e=function(a){a.on("ok",d);a.on("cancel",d)};b.execCommand("colordialog");if(b._.storedDialogs&&
+this._.blurSet=1);n.onEscape=CKEDITOR.tools.bind(function(a){if(this.onEscape&&!1===this.onEscape(a))return!1},this);CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.tools.bind(function(){var a=l;a.removeStyle("width");if(k.autoSize){var b=k.element.getDocument(),b=(CKEDITOR.env.webkit||CKEDITOR.env.edge?k.element:b.getBody()).$.scrollWidth;CKEDITOR.env.ie&&CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetWidth||0)-(a.$.clientWidth||0)+3);a.setStyle("width",b+10+"px");b=k.element.$.scrollHeight;CKEDITOR.env.ie&&
+CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetHeight||0)-(a.$.clientHeight||0)+3);a.setStyle("height",b+"px");n._.currentBlock.element.setStyle("display","none").removeStyle("display")}else a.removeStyle("height");q&&(d-=l.$.offsetWidth);l.setStyle("left",d+"px");var b=n.element.getWindow(),a=l.$.getBoundingClientRect(),b=b.getViewPaneSize(),c=a.width||a.right-a.left,e=a.height||a.bottom-a.top,m=q?a.right:b.width-a.left,h=q?b.width-a.right:a.left;q?m<c&&(d=h>c?d+c:b.width>c?d-a.left:d-a.right+b.width):
+m<c&&(d=h>c?d-c:b.width>c?d-a.right+b.width:d-a.left);c=a.top;b.height-a.top<e&&(p=c>e?p-e:b.height>e?p-a.bottom+b.height:p-a.top);CKEDITOR.env.ie&&(b=a=new CKEDITOR.dom.element(l.$.offsetParent),"html"==b.getName()&&(b=b.getDocument().getBody()),"rtl"==b.getComputedStyle("direction")&&(d=CKEDITOR.env.ie8Compat?d-2*l.getDocument().getDocumentElement().$.scrollLeft:d-(a.$.scrollWidth-a.$.clientWidth)));var a=l.getFirst(),f;(f=a.getCustomData("activePanel"))&&f.onHide&&f.onHide.call(this,1);a.setCustomData("activePanel",
+this);l.setStyles({top:p+"px",left:d+"px"});l.setOpacity(1);g&&g()},this);n.isLoaded?a():n.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();k.element.focus();CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);CKEDITOR.env.ie?CKEDITOR.tools.setTimeout(function(){k.markFirstDisplayed?k.markFirstDisplayed():k._.markFirstDisplayed()},0):k.markFirstDisplayed?k.markFirstDisplayed():
+k._.markFirstDisplayed();this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var a=this._.showBlockParams;this.visible&&this._.showBlockParams&&(this.hide(),this.showBlock.apply(this,a))},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();a&&!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=
+this._.iframe.getFrameDocument().getActive();a&&a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),a.focus();delete this._.lastFocused;this._.showBlockParams=
+null;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var b=this._.panel;void 0!==a&&(b.allowBlur=a);return b.allowBlur},showAsChild:function(a,b,c,f,h,g){if(this._.activeChild!=a||a._.panel._.offsetParentId!=c.getId())this.hideChild(),a.onHide=CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(b,c,f,h,g),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+=
+""},100)},hideChild:function(a){var b=this._.activeChild;b&&(delete b.onHide,delete this._.activeChild,b.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),b;for(b in f){var c=f[b];a?c.destroy():c.element.hide()}a&&(f={})})})();CKEDITOR.plugins.add("colorbutton",{requires:"panelbutton,floatpanel",init:function(d){function t(a,e,g,r,l){var n=new CKEDITOR.style(k["colorButton_"+e+"Style"]),m=CKEDITOR.tools.getNextId()+"_colorBox",p;l=l||{};d.ui.add(a,CKEDITOR.UI_PANELBUTTON,{label:g,title:g,modes:{wysiwyg:1},editorFocus:0,toolbar:"colors,"+r,allowedContent:n,requiredContent:n,contentTransformations:l.contentTransformations,panel:{css:CKEDITOR.skin.getPath("editor"),attributes:{role:"listbox","aria-label":h.panelTitle}},onBlock:function(a,
+b){p=b;b.autoSize=!0;b.element.addClass("cke_colorblock");b.element.setHtml(y(a,e,m));b.element.getDocument().getBody().setStyle("overflow","hidden");CKEDITOR.ui.fire("ready",this);var c=b.keys,f="rtl"==d.lang.dir;c[f?37:39]="next";c[40]="next";c[9]="next";c[f?39:37]="prev";c[38]="prev";c[CKEDITOR.SHIFT+9]="prev";c[32]="click"},refresh:function(){d.activeFilter.check(n)||this.setState(CKEDITOR.TRISTATE_DISABLED)},onOpen:function(){var a=d.getSelection(),b=a&&a.getStartElement(),c=d.elementPath(b);
+if(c){b=c.block||c.blockLimit||d.document.getBody();do c=b&&b.getComputedStyle("back"==e?"background-color":"color")||"transparent";while("back"==e&&"transparent"==c&&b&&(b=b.getParent()));c&&"transparent"!=c||(c="#ffffff");!1!==k.colorButton_enableAutomatic&&this._.panel._.iframe.getFrameDocument().getById(m).setStyle("background-color",c);if(b=a&&a.getRanges()[0]){for(var a=new CKEDITOR.dom.walker(b),f=b.collapsed?b.startContainer:a.next(),b="";f;){f.type===CKEDITOR.NODE_TEXT&&(f=f.getParent());
+f=u(f.getComputedStyle("back"==e?"background-color":"color"));b=b||f;if(b!==f){b="";break}f=a.next()}a=b;b=p._.getItems();for(f=0;f<b.count();f++){var g=b.getItem(f);g.removeAttribute("aria-selected");a&&a==u(g.getAttribute("data-value"))&&g.setAttribute("aria-selected",!0)}}return c}}})}function y(a,e,g){a=[];var r=k.colorButton_colors.split(","),l=k.colorButton_colorsPerRow||6,n=d.plugins.colordialog&&!1!==k.colorButton_enableMore,m=r.length+(n?2:1),p=CKEDITOR.tools.addFunction(function(a,b){function c(a){d.removeStyle(new CKEDITOR.style(k["colorButton_"+
+b+"Style"],{color:"inherit"}));var e=k["colorButton_"+b+"Style"];e.childRule="back"==b?function(a){return v(a)}:function(a){return!(a.is("a")||a.getElementsByTag("a").count())||v(a)};d.focus();d.applyStyle(new CKEDITOR.style(e,{color:a}));d.fire("saveSnapshot")}d.focus();d.fire("saveSnapshot");if("?"==a)d.getColorFromDialog(function(a){if(a)return c(a)});else return c(a)});!1!==k.colorButton_enableAutomatic&&a.push('\x3ca class\x3d"cke_colorauto" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.auto,
+'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",null,'",e,"');return false;\" href\x3d\"javascript:void('",h.auto,'\')" role\x3d"option" aria-posinset\x3d"1" aria-setsize\x3d"',m,'"\x3e\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+l+'" align\x3d"center"\x3e\x3cspan class\x3d"cke_colorbox" id\x3d"',g,'"\x3e\x3c/span\x3e',h.auto,"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/a\x3e");a.push('\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e');
+for(g=0;g<r.length;g++){0===g%l&&a.push("\x3c/tr\x3e\x3ctr\x3e");var q=r[g].split("/"),b=q[0],c=q[1]||b;q[1]||(b="#"+b.replace(/^(.)(.)(.)$/,"$1$1$2$2$3$3"));q=d.lang.colorbutton.colors[c]||c;a.push('\x3ctd\x3e\x3ca class\x3d"cke_colorbox" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',q,'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",'",b,"','",e,"'); return false;\" href\x3d\"javascript:void('",q,'\')" data-value\x3d"'+c+'" role\x3d"option" aria-posinset\x3d"',g+2,'" aria-setsize\x3d"',m,'"\x3e\x3cspan class\x3d"cke_colorbox" style\x3d"background-color:#',
+c,'"\x3e\x3c/span\x3e\x3c/a\x3e\x3c/td\x3e')}n&&a.push('\x3c/tr\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+l+'" align\x3d"center"\x3e\x3ca class\x3d"cke_colormore" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.more,'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",'?','",e,"');return false;\" href\x3d\"javascript:void('",h.more,"')\"",' role\x3d"option" aria-posinset\x3d"',m,'" aria-setsize\x3d"',m,'"\x3e',h.more,"\x3c/a\x3e\x3c/td\x3e");a.push("\x3c/tr\x3e\x3c/table\x3e");return a.join("")}function v(a){return"false"==
+a.getAttribute("contentEditable")||a.getAttribute("data-nostyle")}function u(a){return CKEDITOR.tools.convertRgbToHex(a||"").replace(/#/,"").toLowerCase()}var k=d.config,h=d.lang.colorbutton;if(!CKEDITOR.env.hc){t("TextColor","fore",h.textColorTitle,10,{contentTransformations:[[{element:"font",check:"span{color}",left:function(a){return!!a.attributes.color},right:function(a){a.name="span";a.attributes.color&&(a.styles.color=a.attributes.color);delete a.attributes.color}}]]});var w={},x=d.config.colorButton_normalizeBackground;
+if(void 0===x||x)w.contentTransformations=[[{element:"span",left:function(a){var d=CKEDITOR.tools;if("span"!=a.name||!a.styles||!a.styles.background)return!1;a=d.style.parse.background(a.styles.background);return a.color&&1===d.objectKeys(a).length},right:function(a){var e=(new CKEDITOR.style(d.config.colorButton_backStyle,{color:a.styles.background})).getDefinition();a.name=e.element;a.styles=e.styles;a.attributes=e.attributes||{};return a}}]];t("BGColor","back",h.bgColorTitle,20,w)}}});
+CKEDITOR.config.colorButton_colors="1ABC9C,2ECC71,3498DB,9B59B6,4E5F70,F1C40F,16A085,27AE60,2980B9,8E44AD,2C3E50,F39C12,E67E22,E74C3C,ECF0F1,95A5A6,DDD,FFF,D35400,C0392B,BDC3C7,7F8C8D,999,000";CKEDITOR.config.colorButton_foreStyle={element:"span",styles:{color:"#(color)"},overrides:[{element:"font",attributes:{color:null}}]};CKEDITOR.config.colorButton_backStyle={element:"span",styles:{"background-color":"#(color)"}};CKEDITOR.plugins.colordialog={requires:"dialog",init:function(b){var c=new CKEDITOR.dialogCommand("colordialog");c.editorFocus=!1;b.addCommand("colordialog",c);CKEDITOR.dialog.add("colordialog",this.path+"dialogs/colordialog.js");b.getColorFromDialog=function(c,f){var d=function(a){this.removeListener("ok",d);this.removeListener("cancel",d);a="ok"==a.name?this.getValueOf("picker","selectedColor"):null;c.call(f,a)},e=function(a){a.on("ok",d);a.on("cancel",d)};b.execCommand("colordialog");if(b._.storedDialogs&&
 b._.storedDialogs.colordialog)e(b._.storedDialogs.colordialog);else CKEDITOR.on("dialogDefinition",function(a){if("colordialog"==a.data.name){var b=a.data.definition;a.removeListener();b.onLoad=CKEDITOR.tools.override(b.onLoad,function(a){return function(){e(this);b.onLoad=a;"function"==typeof a&&a.call(this)}})}})}}};CKEDITOR.plugins.add("colordialog",CKEDITOR.plugins.colordialog);CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(l){for(var h=l.config.menu_groups.split(","),r=l._.menuGroups={},t=l._.menuItems={},n=0;n<h.length;n++)r[h[n]]=n+1;l.addMenuGroup=function(a,b){r[a]=b||100};l.addMenuItem=function(a,b){r[b.group]&&(t[a]=new CKEDITOR.menuItem(this,a,b))};l.addMenuItems=function(a){for(var b in a)this.addMenuItem(b,a[b])};l.getMenuItem=function(a){return t[a]};l.removeMenuItem=function(a){delete t[a]}}});
 (function(){function l(a){a.sort(function(a,d){return a.group<d.group?-1:a.group>d.group?1:a.order<d.order?-1:a.order>d.order?1:0})}var h='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1" _cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-label\x3d"{label}" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked} draggable\x3d"false"';
 CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(h+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(h+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;" ondragstart\x3d"return false;"');var h=h+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e'),r=CKEDITOR.addTemplate("menuItem",
@@ -691,35 +702,35 @@ a._.menuGroups[this.group];this.editor=a;this.name=b},proto:{render:function(a,b
 (p=this.icon);this.command&&(f=e.getCommand(this.command),(f=e.getCommandKeystroke(f))&&(c=CKEDITOR.tools.keystrokeToString(e.lang.common.keyboard,f)));a={id:h,name:this.name,iconName:p,label:this.label,cls:this.className||"",state:l,hasPopup:u?"true":"false",disabled:g==CKEDITOR.TRISTATE_DISABLED,title:this.label+(c?" ("+c.display+")":""),ariaShortcut:c?e.lang.common.keyboardShortcut+" "+c.aria:"",href:"javascript:void('"+(this.label||"").replace("'")+"')",hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,
 clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(p,"rtl"==this.editor.lang.dir,p==this.icon?null:this.icon,this.iconOffset),shortcutHtml:c?n.output({shortcut:c.display}):"",arrowHtml:u?t.output({label:q}):"",role:this.role?this.role:"menuitem",ariaChecked:k};r.output(a,d)}}})})();CKEDITOR.config.menu_groups="clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div";CKEDITOR.plugins.add("contextmenu",{requires:"menu",onLoad:function(){CKEDITOR.plugins.contextMenu=CKEDITOR.tools.createClass({base:CKEDITOR.menu,$:function(a){this.base.call(this,a,{panel:{className:"cke_menu_panel",attributes:{"aria-label":a.lang.contextmenu.options}}})},proto:{addTarget:function(a,e){a.on("contextmenu",function(a){a=a.data;var c=CKEDITOR.env.webkit?f:CKEDITOR.env.mac?a.$.metaKey:a.$.ctrlKey;if(!e||!c){a.preventDefault();if(CKEDITOR.env.mac&&CKEDITOR.env.webkit){var c=this.editor,
 b=(new CKEDITOR.dom.elementPath(a.getTarget(),c.editable())).contains(function(a){return a.hasAttribute("contenteditable")},!0);b&&"false"==b.getAttribute("contenteditable")&&c.getSelection().fake(b)}var b=a.getTarget().getDocument(),d=a.getTarget().getDocument().getDocumentElement(),c=!b.equals(CKEDITOR.document),b=b.getWindow().getScrollPosition(),g=c?a.$.clientX:a.$.pageX||b.x+a.$.clientX,h=c?a.$.clientY:a.$.pageY||b.y+a.$.clientY;CKEDITOR.tools.setTimeout(function(){this.open(d,null,g,h)},CKEDITOR.env.ie?
-200:0,this)}},this);if(CKEDITOR.env.webkit){var f,d=function(){f=0};a.on("keydown",function(a){f=CKEDITOR.env.mac?a.data.$.metaKey:a.data.$.ctrlKey});a.on("keyup",d);a.on("contextmenu",d)}},open:function(a,e,f,d){this.editor.focus();a=a||CKEDITOR.document.getDocumentElement();this.editor.selectionChange(1);this.show(a,e,f,d)}}})},beforeInit:function(a){var e=a.contextMenu=new CKEDITOR.plugins.contextMenu(a);a.on("contentDom",function(){e.addTarget(a.editable(),!1!==a.config.browserContextMenuOnCtrl)});
-a.addCommand("contextMenu",{exec:function(){a.contextMenu.open(a.document.getBody())}});a.setKeystroke(CKEDITOR.SHIFT+121,"contextMenu");a.setKeystroke(CKEDITOR.CTRL+CKEDITOR.SHIFT+121,"contextMenu")}});(function(){CKEDITOR.plugins.add("div",{requires:"dialog",init:function(a){if(!a.blockless){var c=a.lang.div,b="div(*)";CKEDITOR.dialog.isTabEnabled(a,"editdiv","advanced")&&(b+=";div[dir,id,lang,title]{*}");a.addCommand("creatediv",new CKEDITOR.dialogCommand("creatediv",{allowedContent:b,requiredContent:"div",contextSensitive:!0,contentTransformations:[["div: alignmentToStyle"]],refresh:function(a,c){this.setState("div"in(a.config.div_wrapTable?c.root:c.blockLimit).getDtd()?CKEDITOR.TRISTATE_OFF:
+200:0,this)}},this);if(CKEDITOR.env.webkit){var f,d=function(){f=0};a.on("keydown",function(a){f=CKEDITOR.env.mac?a.data.$.metaKey:a.data.$.ctrlKey});a.on("keyup",d);a.on("contextmenu",d)}},open:function(a,e,f,d){!1!==this.editor.config.enableContextMenu&&(this.editor.focus(),a=a||CKEDITOR.document.getDocumentElement(),this.editor.selectionChange(1),this.show(a,e,f,d))}}})},beforeInit:function(a){var e=a.contextMenu=new CKEDITOR.plugins.contextMenu(a);a.on("contentDom",function(){e.addTarget(a.editable(),
+!1!==a.config.browserContextMenuOnCtrl)});a.addCommand("contextMenu",{exec:function(){a.contextMenu.open(a.document.getBody())}});a.setKeystroke(CKEDITOR.SHIFT+121,"contextMenu");a.setKeystroke(CKEDITOR.CTRL+CKEDITOR.SHIFT+121,"contextMenu")}});(function(){CKEDITOR.plugins.add("div",{requires:"dialog",init:function(a){if(!a.blockless){var c=a.lang.div,b="div(*)";CKEDITOR.dialog.isTabEnabled(a,"editdiv","advanced")&&(b+=";div[dir,id,lang,title]{*}");a.addCommand("creatediv",new CKEDITOR.dialogCommand("creatediv",{allowedContent:b,requiredContent:"div",contextSensitive:!0,contentTransformations:[["div: alignmentToStyle"]],refresh:function(a,c){this.setState("div"in(a.config.div_wrapTable?c.root:c.blockLimit).getDtd()?CKEDITOR.TRISTATE_OFF:
 CKEDITOR.TRISTATE_DISABLED)}}));a.addCommand("editdiv",new CKEDITOR.dialogCommand("editdiv",{requiredContent:"div"}));a.addCommand("removediv",{requiredContent:"div",exec:function(a){function c(b){(b=CKEDITOR.plugins.div.getSurroundDiv(a,b))&&!b.data("cke-div-added")&&(f.push(b),b.data("cke-div-added"))}for(var b=a.getSelection(),g=b&&b.getRanges(),e,h=b.createBookmarks(),f=[],d=0;d<g.length;d++)e=g[d],e.collapsed?c(b.getStartElement()):(e=new CKEDITOR.dom.walker(e),e.evaluator=c,e.lastForward());
 for(d=0;d<f.length;d++)f[d].remove(!0);b.selectBookmarks(h)}});a.ui.addButton&&a.ui.addButton("CreateDiv",{label:c.toolbar,command:"creatediv",toolbar:"blocks,50"});a.addMenuItems&&(a.addMenuItems({editdiv:{label:c.edit,command:"editdiv",group:"div",order:1},removediv:{label:c.remove,command:"removediv",group:"div",order:5}}),a.contextMenu&&a.contextMenu.addListener(function(b){return!b||b.isReadOnly()?null:CKEDITOR.plugins.div.getSurroundDiv(a)?{editdiv:CKEDITOR.TRISTATE_OFF,removediv:CKEDITOR.TRISTATE_OFF}:
 null}));CKEDITOR.dialog.add("creatediv",this.path+"dialogs/div.js");CKEDITOR.dialog.add("editdiv",this.path+"dialogs/div.js")}}});CKEDITOR.plugins.div={getSurroundDiv:function(a,c){var b=a.elementPath(c);return a.elementPath(b.blockLimit).contains(function(a){return a.is("div")&&!a.isReadOnly()},1)}}})();CKEDITOR.plugins.add("resize",{init:function(b){function f(d){var e=c.width,m=c.height,f=e+(d.data.$.screenX-n.x)*("rtl"==g?-1:1);d=m+(d.data.$.screenY-n.y);h&&(e=Math.max(a.resize_minWidth,Math.min(f,a.resize_maxWidth)));p&&(m=Math.max(a.resize_minHeight,Math.min(d,a.resize_maxHeight)));b.resize(h?e:null,m)}function k(){CKEDITOR.document.removeListener("mousemove",f);CKEDITOR.document.removeListener("mouseup",k);b.document&&(b.document.removeListener("mousemove",f),b.document.removeListener("mouseup",
 k))}var a=b.config,r=b.ui.spaceId("resizer"),g=b.element?b.element.getDirection(1):"ltr";!a.resize_dir&&(a.resize_dir="vertical");void 0===a.resize_maxWidth&&(a.resize_maxWidth=3E3);void 0===a.resize_maxHeight&&(a.resize_maxHeight=3E3);void 0===a.resize_minWidth&&(a.resize_minWidth=750);void 0===a.resize_minHeight&&(a.resize_minHeight=250);if(!1!==a.resize_enabled){var l=null,n,c,h=("both"==a.resize_dir||"horizontal"==a.resize_dir)&&a.resize_minWidth!=a.resize_maxWidth,p=("both"==a.resize_dir||"vertical"==
 a.resize_dir)&&a.resize_minHeight!=a.resize_maxHeight,q=CKEDITOR.tools.addFunction(function(d){l||(l=b.getResizable());c={width:l.$.offsetWidth||0,height:l.$.offsetHeight||0};n={x:d.screenX,y:d.screenY};a.resize_minWidth>c.width&&(a.resize_minWidth=c.width);a.resize_minHeight>c.height&&(a.resize_minHeight=c.height);CKEDITOR.document.on("mousemove",f);CKEDITOR.document.on("mouseup",k);b.document&&(b.document.on("mousemove",f),b.document.on("mouseup",k));d.preventDefault&&d.preventDefault()});b.on("destroy",
 function(){CKEDITOR.tools.removeFunction(q)});b.on("uiSpace",function(a){if("bottom"==a.data.space){var e="";h&&!p&&(e=" cke_resizer_horizontal");!h&&p&&(e=" cke_resizer_vertical");var c='\x3cspan id\x3d"'+r+'" class\x3d"cke_resizer'+e+" cke_resizer_"+g+'" title\x3d"'+CKEDITOR.tools.htmlEncode(b.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+q+', event)"\x3e'+("ltr"==g?"◢":"◣")+"\x3c/span\x3e";"ltr"==g&&"ltr"==e?a.data.html+=c:a.data.html=c+a.data.html}},b,null,100);b.on("maximize",
-function(a){b.ui.space("resizer")[a.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}});(function(){function D(a){function d(){for(var b=g(),e=CKEDITOR.tools.clone(a.config.toolbarGroups)||v(a),f=0;f<e.length;f++){var m=e[f];if("/"!=m){"string"==typeof m&&(m=e[f]={name:m});var l,d=m.groups;if(d)for(var h=0;h<d.length;h++)l=d[h],(l=b[l])&&c(m,l);(l=b[m.name])&&c(m,l)}}return e}function g(){var b={},c,f,e;for(c in a.ui.items)f=a.ui.items[c],e=f.toolbar||"others",e=e.split(","),f=e[0],e=parseInt(e[1]||-1,10),b[f]||(b[f]=[]),b[f].push({name:c,order:e});for(f in b)b[f]=b[f].sort(function(b,
-a){return b.order==a.order?0:0>a.order?-1:0>b.order?1:b.order<a.order?-1:1});return b}function c(c,e){if(e.length){c.items?c.items.push(a.ui.create("-")):c.items=[];for(var f;f=e.shift();)f="string"==typeof f?f:f.name,b&&-1!=CKEDITOR.tools.indexOf(b,f)||(f=a.ui.create(f))&&a.addFeature(f)&&c.items.push(f)}}function h(b){var a=[],e,d,h;for(e=0;e<b.length;++e)d=b[e],h={},"/"==d?a.push(d):CKEDITOR.tools.isArray(d)?(c(h,CKEDITOR.tools.clone(d)),a.push(h)):d.items&&(c(h,CKEDITOR.tools.clone(d.items)),
+function(a){b.ui.space("resizer")[a.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}});(function(){function D(a){function d(){for(var b=f(),e=CKEDITOR.tools.clone(a.config.toolbarGroups)||v(a),n=0;n<e.length;n++){var g=e[n];if("/"!=g){"string"==typeof g&&(g=e[n]={name:g});var l,d=g.groups;if(d)for(var h=0;h<d.length;h++)l=d[h],(l=b[l])&&c(g,l);(l=b[g.name])&&c(g,l)}}return e}function f(){var b={},c,e,g;for(c in a.ui.items)e=a.ui.items[c],g=e.toolbar||"others",g=g.split(","),e=g[0],g=parseInt(g[1]||-1,10),b[e]||(b[e]=[]),b[e].push({name:c,order:g});for(e in b)b[e]=b[e].sort(function(b,
+a){return b.order==a.order?0:0>a.order?-1:0>b.order?1:b.order<a.order?-1:1});return b}function c(c,e){if(e.length){c.items?c.items.push(a.ui.create("-")):c.items=[];for(var d;d=e.shift();)d="string"==typeof d?d:d.name,b&&-1!=CKEDITOR.tools.indexOf(b,d)||(d=a.ui.create(d))&&a.addFeature(d)&&c.items.push(d)}}function h(b){var a=[],e,d,h;for(e=0;e<b.length;++e)d=b[e],h={},"/"==d?a.push(d):CKEDITOR.tools.isArray(d)?(c(h,CKEDITOR.tools.clone(d)),a.push(h)):d.items&&(c(h,CKEDITOR.tools.clone(d.items)),
 h.name=d.name,a.push(h));return a}var b=a.config.removeButtons,b=b&&b.split(","),e=a.config.toolbar;"string"==typeof e&&(e=a.config["toolbar_"+e]);return a.toolbar=e?h(e):d()}function v(a){return a._.toolbarGroups||(a._.toolbarGroups=[{name:"document",groups:["mode","document","doctools"]},{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker"]},{name:"forms"},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list",
-"indent","blocks","align","bidi"]},{name:"links"},{name:"insert"},"/",{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}])}var z=function(){this.toolbars=[];this.focusCommandExecuted=!1};z.prototype.focus=function(){for(var a=0,d;d=this.toolbars[a++];)for(var g=0,c;c=d.items[g++];)if(c.focus){c.focus();return}};var E={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){a.toolbox&&(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()},
-100):a.toolbox.focus())}};CKEDITOR.plugins.add("toolbar",{requires:"button",init:function(a){var d,g=function(c,h){var b,e="rtl"==a.lang.dir,k=a.config.toolbarGroupCycling,q=e?37:39,e=e?39:37,k=void 0===k||k;switch(h){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==h?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolbars.length-1],b.items.length)for(c=b.items[d?b.items.length-1:0];c&&!c.focus;)(c=d?c.previous:c.next)||
-(b=0);c&&c.focus();return!1;case q:b=c;do b=b.next,!b&&k&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():g(c,9);return!1;case 40:return c.button&&c.button.hasArrow?(a.once("panelShow",function(b){b.data._.panel._.currentBlock.onKeyDown(40)}),c.execute()):g(c,40==h?q:e),!1;case e:case 38:b=c;do b=b.previous,!b&&k&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(d=1,g(c,CKEDITOR.SHIFT+9),d=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),
-!1}return!0};a.on("uiSpace",function(c){if(c.data.space==a.config.toolbarLocation){c.removeListener();a.toolbox=new z;var d=CKEDITOR.tools.getNextId(),b=['\x3cspan id\x3d"',d,'" class\x3d"cke_voice_label"\x3e',a.lang.toolbar.toolbars,"\x3c/span\x3e",'\x3cspan id\x3d"'+a.ui.spaceId("toolbox")+'" class\x3d"cke_toolbox" role\x3d"group" aria-labelledby\x3d"',d,'" onmousedown\x3d"return false;"\x3e'],d=!1!==a.config.toolbarStartupExpanded,e,k;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&
-b.push('\x3cspan class\x3d"cke_toolbox_main"'+(d?"\x3e":' style\x3d"display:none"\x3e'));for(var q=a.toolbox.toolbars,f=D(a),m=f.length,l=0;l<m;l++){var r,n=0,w,p=f[l],v="/"!==p&&("/"===f[l+1]||l==m-1),x;if(p)if(e&&(b.push("\x3c/span\x3e"),k=e=0),"/"===p)b.push('\x3cspan class\x3d"cke_toolbar_break"\x3e\x3c/span\x3e');else{x=p.items||p;for(var y=0;y<x.length;y++){var t=x[y],A;if(t){var B=function(c){c=c.render(a,b);u=n.items.push(c)-1;0<u&&(c.previous=n.items[u-1],c.previous.next=c);c.toolbar=n;c.onkey=
-g;c.onfocus=function(){a.toolbox.focusCommandExecuted||a.focus()}};if(t.type==CKEDITOR.UI_SEPARATOR)k=e&&t;else{A=!1!==t.canGroup;if(!n){r=CKEDITOR.tools.getNextId();n={id:r,items:[]};w=p.name&&(a.lang.toolbar.toolbarGroups[p.name]||p.name);b.push('\x3cspan id\x3d"',r,'" class\x3d"cke_toolbar'+(v?' cke_toolbar_last"':'"'),w?' aria-labelledby\x3d"'+r+'_label"':"",' role\x3d"toolbar"\x3e');w&&b.push('\x3cspan id\x3d"',r,'_label" class\x3d"cke_voice_label"\x3e',w,"\x3c/span\x3e");b.push('\x3cspan class\x3d"cke_toolbar_start"\x3e\x3c/span\x3e');
-var u=q.push(n)-1;0<u&&(n.previous=q[u-1],n.previous.next=n)}A?e||(b.push('\x3cspan class\x3d"cke_toolgroup" role\x3d"presentation"\x3e'),e=1):e&&(b.push("\x3c/span\x3e"),e=0);k&&(B(k),k=0);B(t)}}}e&&(b.push("\x3c/span\x3e"),k=e=0);n&&b.push('\x3cspan class\x3d"cke_toolbar_end"\x3e\x3c/span\x3e\x3c/span\x3e')}}a.config.toolbarCanCollapse&&b.push("\x3c/span\x3e");if(a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var C=CKEDITOR.tools.addFunction(function(){a.execCommand("toolbarCollapse")});
-a.on("destroy",function(){CKEDITOR.tools.removeFunction(C)});a.addCommand("toolbarCollapse",{readOnly:1,exec:function(b){var a=b.ui.space("toolbar_collapser"),c=a.getPrevious(),e=b.ui.space("contents"),d=c.getParent(),f=parseInt(e.$.style.height,10),h=d.$.offsetHeight,g=a.hasClass("cke_toolbox_collapser_min");g?(c.show(),a.removeClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarCollapse)):(c.hide(),a.addClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarExpand));
-a.getFirst().setText(g?"▲":"◀");e.setStyle("height",f-(d.$.offsetHeight-h)+"px");b.fire("resize",{outerHeight:b.container.$.offsetHeight,contentsHeight:e.$.offsetHeight,outerWidth:b.container.$.offsetWidth})},modes:{wysiwyg:1,source:1}});a.setKeystroke(CKEDITOR.ALT+(CKEDITOR.env.ie||CKEDITOR.env.webkit?189:109),"toolbarCollapse");b.push('\x3ca title\x3d"'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'" id\x3d"'+a.ui.spaceId("toolbar_collapser")+'" tabIndex\x3d"-1" class\x3d"cke_toolbox_collapser');
-d||b.push(" cke_toolbox_collapser_min");b.push('" onclick\x3d"CKEDITOR.tools.callFunction('+C+')"\x3e','\x3cspan class\x3d"cke_arrow"\x3e\x26#9650;\x3c/span\x3e',"\x3c/a\x3e")}b.push("\x3c/span\x3e");c.data.html+=b.join("")}});a.on("destroy",function(){if(this.toolbox){var a,d=0,b,e,g;for(a=this.toolbox.toolbars;d<a.length;d++)for(e=a[d].items,b=0;b<e.length;b++)g=e[b],g.clickFn&&CKEDITOR.tools.removeFunction(g.clickFn),g.keyDownFn&&CKEDITOR.tools.removeFunction(g.keyDownFn)}});a.on("uiReady",function(){var c=
-a.ui.space("toolbox");c&&a.focusManager.add(c,1)});a.addCommand("toolbarFocus",E);a.setKeystroke(CKEDITOR.ALT+121,"toolbarFocus");a.ui.add("-",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('\x3cspan class\x3d"cke_toolbar_separator" role\x3d"separator"\x3e\x3c/span\x3e');return{}}}}})}});CKEDITOR.ui.prototype.addToolbarGroup=function(a,d,g){var c=v(this.editor),h=0===d,b={name:a};if(g){if(g=CKEDITOR.tools.search(c,function(a){return a.name==
-g})){!g.groups&&(g.groups=[]);if(d&&(d=CKEDITOR.tools.indexOf(g.groups,d),0<=d)){g.groups.splice(d+1,0,a);return}h?g.groups.splice(0,0,a):g.groups.push(a);return}d=null}d&&(d=CKEDITOR.tools.indexOf(c,function(a){return a.name==d}));h?c.splice(0,0,a):"number"==typeof d?c.splice(d+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPARATOR="separator";CKEDITOR.config.toolbarLocation="top";(function(){function q(a,e){function l(c){c=k.list[c];var d;c.equals(a.editable())||"true"==c.getAttribute("contenteditable")?(d=a.createRange(),d.selectNodeContents(c),d=d.select()):(d=a.getSelection(),d.selectElement(c));CKEDITOR.env.ie&&a.fire("selectionChange",{selection:d,path:new CKEDITOR.dom.elementPath(c)});a.focus()}function m(){n&&n.setHtml('\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');delete k.list}var p=a.ui.spaceId("path"),n,k=a._.elementsPath,q=k.idBase;e.html+='\x3cspan id\x3d"'+
+"indent","blocks","align","bidi"]},{name:"links"},{name:"insert"},"/",{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}])}var z=function(){this.toolbars=[];this.focusCommandExecuted=!1};z.prototype.focus=function(){for(var a=0,d;d=this.toolbars[a++];)for(var f=0,c;c=d.items[f++];)if(c.focus){c.focus();return}};var E={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){a.toolbox&&(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()},
+100):a.toolbox.focus())}};CKEDITOR.plugins.add("toolbar",{requires:"button",init:function(a){var d,f=function(c,h){var b,e="rtl"==a.lang.dir,k=a.config.toolbarGroupCycling,q=e?37:39,e=e?39:37,k=void 0===k||k;switch(h){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==h?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolbars.length-1],b.items.length)for(c=b.items[d?b.items.length-1:0];c&&!c.focus;)(c=d?c.previous:c.next)||
+(b=0);c&&c.focus();return!1;case q:b=c;do b=b.next,!b&&k&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():f(c,9);return!1;case 40:return c.button&&c.button.hasArrow?c.execute():f(c,40==h?q:e),!1;case e:case 38:b=c;do b=b.previous,!b&&k&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(d=1,f(c,CKEDITOR.SHIFT+9),d=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),!1}return!0};a.on("uiSpace",function(c){if(c.data.space==a.config.toolbarLocation){c.removeListener();
+a.toolbox=new z;var d=CKEDITOR.tools.getNextId(),b=['\x3cspan id\x3d"',d,'" class\x3d"cke_voice_label"\x3e',a.lang.toolbar.toolbars,"\x3c/span\x3e",'\x3cspan id\x3d"'+a.ui.spaceId("toolbox")+'" class\x3d"cke_toolbox" role\x3d"group" aria-labelledby\x3d"',d,'" onmousedown\x3d"return false;"\x3e'],d=!1!==a.config.toolbarStartupExpanded,e,k;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&b.push('\x3cspan class\x3d"cke_toolbox_main"'+(d?"\x3e":' style\x3d"display:none"\x3e'));
+for(var q=a.toolbox.toolbars,n=D(a),g=n.length,l=0;l<g;l++){var r,m=0,w,p=n[l],v="/"!==p&&("/"===n[l+1]||l==g-1),x;if(p)if(e&&(b.push("\x3c/span\x3e"),k=e=0),"/"===p)b.push('\x3cspan class\x3d"cke_toolbar_break"\x3e\x3c/span\x3e');else{x=p.items||p;for(var y=0;y<x.length;y++){var t=x[y],A;if(t){var B=function(c){c=c.render(a,b);u=m.items.push(c)-1;0<u&&(c.previous=m.items[u-1],c.previous.next=c);c.toolbar=m;c.onkey=f;c.onfocus=function(){a.toolbox.focusCommandExecuted||a.focus()}};if(t.type==CKEDITOR.UI_SEPARATOR)k=
+e&&t;else{A=!1!==t.canGroup;if(!m){r=CKEDITOR.tools.getNextId();m={id:r,items:[]};w=p.name&&(a.lang.toolbar.toolbarGroups[p.name]||p.name);b.push('\x3cspan id\x3d"',r,'" class\x3d"cke_toolbar'+(v?' cke_toolbar_last"':'"'),w?' aria-labelledby\x3d"'+r+'_label"':"",' role\x3d"toolbar"\x3e');w&&b.push('\x3cspan id\x3d"',r,'_label" class\x3d"cke_voice_label"\x3e',w,"\x3c/span\x3e");b.push('\x3cspan class\x3d"cke_toolbar_start"\x3e\x3c/span\x3e');var u=q.push(m)-1;0<u&&(m.previous=q[u-1],m.previous.next=
+m)}A?e||(b.push('\x3cspan class\x3d"cke_toolgroup" role\x3d"presentation"\x3e'),e=1):e&&(b.push("\x3c/span\x3e"),e=0);k&&(B(k),k=0);B(t)}}}e&&(b.push("\x3c/span\x3e"),k=e=0);m&&b.push('\x3cspan class\x3d"cke_toolbar_end"\x3e\x3c/span\x3e\x3c/span\x3e')}}a.config.toolbarCanCollapse&&b.push("\x3c/span\x3e");if(a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var C=CKEDITOR.tools.addFunction(function(){a.execCommand("toolbarCollapse")});a.on("destroy",function(){CKEDITOR.tools.removeFunction(C)});
+a.addCommand("toolbarCollapse",{readOnly:1,exec:function(b){var a=b.ui.space("toolbar_collapser"),c=a.getPrevious(),d=b.ui.space("contents"),e=c.getParent(),h=parseInt(d.$.style.height,10),g=e.$.offsetHeight,f=a.hasClass("cke_toolbox_collapser_min");f?(c.show(),a.removeClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarCollapse)):(c.hide(),a.addClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarExpand));a.getFirst().setText(f?"▲":"◀");d.setStyle("height",
+h-(e.$.offsetHeight-g)+"px");b.fire("resize",{outerHeight:b.container.$.offsetHeight,contentsHeight:d.$.offsetHeight,outerWidth:b.container.$.offsetWidth})},modes:{wysiwyg:1,source:1}});a.setKeystroke(CKEDITOR.ALT+(CKEDITOR.env.ie||CKEDITOR.env.webkit?189:109),"toolbarCollapse");b.push('\x3ca title\x3d"'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'" id\x3d"'+a.ui.spaceId("toolbar_collapser")+'" tabIndex\x3d"-1" class\x3d"cke_toolbox_collapser');d||b.push(" cke_toolbox_collapser_min");
+b.push('" onclick\x3d"CKEDITOR.tools.callFunction('+C+')"\x3e','\x3cspan class\x3d"cke_arrow"\x3e\x26#9650;\x3c/span\x3e',"\x3c/a\x3e")}b.push("\x3c/span\x3e");c.data.html+=b.join("")}});a.on("destroy",function(){if(this.toolbox){var a,d=0,b,e,f;for(a=this.toolbox.toolbars;d<a.length;d++)for(e=a[d].items,b=0;b<e.length;b++)f=e[b],f.clickFn&&CKEDITOR.tools.removeFunction(f.clickFn),f.keyDownFn&&CKEDITOR.tools.removeFunction(f.keyDownFn)}});a.on("uiReady",function(){var c=a.ui.space("toolbox");c&&a.focusManager.add(c,
+1)});a.addCommand("toolbarFocus",E);a.setKeystroke(CKEDITOR.ALT+121,"toolbarFocus");a.ui.add("-",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('\x3cspan class\x3d"cke_toolbar_separator" role\x3d"separator"\x3e\x3c/span\x3e');return{}}}}})}});CKEDITOR.ui.prototype.addToolbarGroup=function(a,d,f){var c=v(this.editor),h=0===d,b={name:a};if(f){if(f=CKEDITOR.tools.search(c,function(a){return a.name==f})){!f.groups&&(f.groups=[]);if(d&&
+(d=CKEDITOR.tools.indexOf(f.groups,d),0<=d)){f.groups.splice(d+1,0,a);return}h?f.groups.splice(0,0,a):f.groups.push(a);return}d=null}d&&(d=CKEDITOR.tools.indexOf(c,function(a){return a.name==d}));h?c.splice(0,0,a):"number"==typeof d?c.splice(d+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPARATOR="separator";CKEDITOR.config.toolbarLocation="top";(function(){function q(a,e){function l(c){c=k.list[c];var d;c.equals(a.editable())||"true"==c.getAttribute("contenteditable")?(d=a.createRange(),d.selectNodeContents(c),d=d.select()):(d=a.getSelection(),d.selectElement(c));CKEDITOR.env.ie&&a.fire("selectionChange",{selection:d,path:new CKEDITOR.dom.elementPath(c)});a.focus()}function m(){n&&n.setHtml('\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');delete k.list}var p=a.ui.spaceId("path"),n,k=a._.elementsPath,q=k.idBase;e.html+='\x3cspan id\x3d"'+
 p+'_label" class\x3d"cke_voice_label"\x3e'+a.lang.elementspath.eleLabel+'\x3c/span\x3e\x3cspan id\x3d"'+p+'" class\x3d"cke_path" role\x3d"group" aria-labelledby\x3d"'+p+'_label"\x3e\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e\x3c/span\x3e';a.on("uiReady",function(){var c=a.ui.space("path");c&&a.focusManager.add(c,1)});k.onClick=l;var v=CKEDITOR.tools.addFunction(l),w=CKEDITOR.tools.addFunction(function(c,d){var g=k.idBase,b;d=new CKEDITOR.dom.event(d);b="rtl"==a.lang.dir;switch(d.getKeystroke()){case b?
 39:37:case 9:return(b=CKEDITOR.document.getById(g+(c+1)))||(b=CKEDITOR.document.getById(g+"0")),b.focus(),!1;case b?37:39:case CKEDITOR.SHIFT+9:return(b=CKEDITOR.document.getById(g+(c-1)))||(b=CKEDITOR.document.getById(g+(k.list.length-1))),b.focus(),!1;case 27:return a.focus(),!1;case 13:case 32:return l(c),!1}return!0});a.on("selectionChange",function(){for(var c=[],d=k.list=[],g=[],b=k.filters,e=!0,l=a.elementPath().elements,f,u=l.length;u--;){var h=l[u],r=0;f=h.data("cke-display-name")?h.data("cke-display-name"):
 h.data("cke-real-element-type")?h.data("cke-real-element-type"):h.getName();(e=h.hasAttribute("contenteditable")?"true"==h.getAttribute("contenteditable"):e)||h.hasAttribute("contenteditable")||(r=1);for(var t=0;t<b.length;t++){var m=b[t](h,f);if(!1===m){r=1;break}f=m||f}r||(d.unshift(h),g.unshift(f))}d=d.length;for(b=0;b<d;b++)f=g[b],e=a.lang.elementspath.eleTitle.replace(/%1/,f),f=x.output({id:q+b,label:e,text:f,jsTitle:"javascript:void('"+f+"')",index:b,keyDownFn:w,clickFn:v}),c.unshift(f);n||
 (n=CKEDITOR.document.getById(p));g=n;g.setHtml(c.join("")+'\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');a.fire("elementsPathUpdate",{space:g})});a.on("readOnly",m);a.on("contentDomUnload",m);a.addCommand("elementsPathFocus",y.toolbarFocus);a.setKeystroke(CKEDITOR.ALT+122,"elementsPathFocus")}var y={toolbarFocus:{editorFocus:!1,readOnly:1,exec:function(a){(a=CKEDITOR.document.getById(a._.elementsPath.idBase+"0"))&&a.focus(CKEDITOR.env.ie||CKEDITOR.env.air)}}},e="";CKEDITOR.env.gecko&&
 CKEDITOR.env.mac&&(e+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(e+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var x=CKEDITOR.addTemplate("pathItem",'\x3ca id\x3d"{id}" href\x3d"{jsTitle}" tabindex\x3d"-1" class\x3d"cke_path_item" title\x3d"{label}"'+e+' hidefocus\x3d"true"  onkeydown\x3d"return CKEDITOR.tools.callFunction({keyDownFn},{index}, event );" onclick\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;" role\x3d"button" aria-label\x3d"{label}"\x3e{text}\x3c/a\x3e');
-CKEDITOR.plugins.add("elementspath",{init:function(a){a._.elementsPath={idBase:"cke_elementspath_"+CKEDITOR.tools.getNextNumber()+"_",filters:[]};a.on("uiSpace",function(e){"bottom"==e.data.space&&q(a,e.data)})}})})();(function(){function q(b,d,a){a=b.config.forceEnterMode||a;"wysiwyg"==b.mode&&(d||(d=b.activeEnterMode),b.elementPath().isContextFor("p")||(d=CKEDITOR.ENTER_BR,a=1),b.fire("saveSnapshot"),d==CKEDITOR.ENTER_BR?t(b,d,null,a):u(b,d,null,a),b.fire("saveSnapshot"))}function v(b){b=b.getSelection().getRanges(!0);for(var d=b.length-1;0<d;d--)b[d].deleteContents();return b[0]}function y(b){var d=b.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"true"==a.getAttribute("contenteditable")},
+CKEDITOR.plugins.add("elementspath",{init:function(a){a._.elementsPath={idBase:"cke_elementspath_"+CKEDITOR.tools.getNextNumber()+"_",filters:[]};a.on("uiSpace",function(e){"bottom"==e.data.space&&q(a,e.data)})}})})();(function(){function q(b,d,a){a=b.config.forceEnterMode||a;if("wysiwyg"==b.mode){d||(d=b.activeEnterMode);var h=b.elementPath();h&&!h.isContextFor("p")&&(d=CKEDITOR.ENTER_BR,a=1);b.fire("saveSnapshot");d==CKEDITOR.ENTER_BR?t(b,d,null,a):u(b,d,null,a);b.fire("saveSnapshot")}}function v(b){b=b.getSelection().getRanges(!0);for(var d=b.length-1;0<d;d--)b[d].deleteContents();return b[0]}function y(b){var d=b.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"true"==a.getAttribute("contenteditable")},
 !0);if(b.root.equals(d))return b;d=new CKEDITOR.dom.range(d);d.moveToRange(b);return d}CKEDITOR.plugins.add("enterkey",{init:function(b){b.addCommand("enter",{modes:{wysiwyg:1},editorFocus:!1,exec:function(b){q(b)}});b.addCommand("shiftEnter",{modes:{wysiwyg:1},editorFocus:!1,exec:function(b){q(b,b.activeShiftEnterMode,1)}});b.setKeystroke([[13,"enter"],[CKEDITOR.SHIFT+13,"shiftEnter"]])}});var z=CKEDITOR.dom.walker.whitespaces(),A=CKEDITOR.dom.walker.bookmark();CKEDITOR.plugins.enterkey={enterBlock:function(b,
 d,a,h){if(a=a||v(b)){a=y(a);var f=a.document,k=a.checkStartOfBlock(),m=a.checkEndOfBlock(),l=b.elementPath(a.startContainer),c=l.block,n=d==CKEDITOR.ENTER_DIV?"div":"p",e;if(k&&m){if(c&&(c.is("li")||c.getParent().is("li"))){c.is("li")||(c=c.getParent());a=c.getParent();e=a.getParent();h=!c.hasPrevious();var p=!c.hasNext(),n=b.getSelection(),g=n.createBookmarks(),k=c.getDirection(1),m=c.getAttribute("class"),r=c.getAttribute("style"),q=e.getDirection(1)!=k;b=b.enterMode!=CKEDITOR.ENTER_BR||q||r||m;
 if(e.is("li"))h||p?(h&&p&&a.remove(),c[p?"insertAfter":"insertBefore"](e)):c.breakParent(e);else{if(b)if(l.block.is("li")?(e=f.createElement(d==CKEDITOR.ENTER_P?"p":"div"),q&&e.setAttribute("dir",k),r&&e.setAttribute("style",r),m&&e.setAttribute("class",m),c.moveChildren(e)):e=l.block,h||p)e[h?"insertBefore":"insertAfter"](a);else c.breakParent(a),e.insertAfter(a);else if(c.appendBogus(!0),h||p)for(;f=c[h?"getFirst":"getLast"]();)f[h?"insertBefore":"insertAfter"](a);else for(c.breakParent(a);f=c.getLast();)f.insertAfter(a);
@@ -751,19 +762,20 @@ h=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" class\x3d"cke_pan
 (this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);if(this.onClick)this.onClick(a,b)},this));return this._.click}},proto:{add:function(a,b,c){var d=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=d;var e;e=CKEDITOR.tools.htmlEncodeAttr(a).replace(k,"\\'");a={id:d,val:e,onclick:CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(c||a),text:b||a};
 this._.pendingList.push(g.output(a))},startGroup:function(a){this._.close();var b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(h.output({id:b,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display",
 "none"),b&&"ul"==b.getName()&&b.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,b=this._.groups,c=this.element.getDocument(),d;for(d in a)c.getById(a[d]).setStyle("display","");for(var e in b)a=c.getById(b[e]),d=a.getNext(),a.setStyle("display",""),d&&"ul"==d.getName()&&d.setStyle("display","")},mark:function(a){this.multiSelect||this.unmarkAll();a=this._.items[a];var b=this.element.getDocument().getById(a);
-b.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(b)},unmark:function(a){var b=this.element.getDocument();a=this._.items[a];var c=b.getById(a);c.removeClass("cke_selected");b.getById(a+"_option").removeAttribute("aria-selected");this.onUnmark&&this.onUnmark(c)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),c;for(c in a){var d=a[c];b.getById(d).removeClass("cke_selected");b.getById(d+"_option").removeAttribute("aria-selected")}this.onUnmark&&
-this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag("a"),c,d=-1;if(a)for(c=this.element.getDocument().getById(this._.items[a]).getFirst();a=b.getItem(++d);){if(a.equals(c)){this._.focusIndex=d;break}}else this.element.focus();c&&setTimeout(function(){c.focus()},0)}}})}});CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}});
-(function(){var d='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"true"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(d+=' onkeypress\x3d"return false;"');
-CKEDITOR.env.gecko&&(d+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var d=d+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event,this);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+
-(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),k=CKEDITOR.addTemplate("combo",d);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className="cke_combopanel";
-a.block={multiSelect:a.multiSelect,attributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var b=[];this.render(a,b);return b.join("")},render:function(a,b){function g(){if(this.getState()!=CKEDITOR.TRISTATE_ON){var c=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;a.readOnly&&!this.readOnly&&(c=CKEDITOR.TRISTATE_DISABLED);this.setState(c);this.setValue("");c!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}}var d=
-CKEDITOR.env,h="cke_"+this.id,e=CKEDITOR.tools.addFunction(function(b){l&&(a.unlockSelection(1),l=0);c.execute(b)},this),f=this,c={id:h,combo:this,focus:function(){CKEDITOR.document.getById(h).getChild(1).focus()},execute:function(c){var b=f._;if(b.state!=CKEDITOR.TRISTATE_DISABLED)if(f.createPanel(a),b.on)b.panel.hide();else{f.commit();var d=f.getValue();d?b.list.mark(d):b.list.unmarkAll();b.panel.showBlock(f.id,new CKEDITOR.dom.element(c),4)}},clickFn:e};a.on("activeFilterChange",g,this);a.on("mode",
-g,this);a.on("selectionChange",g,this);!this.readOnly&&a.on("readOnly",g,this);var m=CKEDITOR.tools.addFunction(function(b,d){b=new CKEDITOR.dom.event(b);var g=b.getKeystroke();if(40==g)a.once("panelShow",function(a){a.data._.panel._.currentBlock.onKeyDown(40)});switch(g){case 13:case 32:case 40:CKEDITOR.tools.callFunction(e,d);break;default:c.onkey(c,g)}b.preventDefault()}),n=CKEDITOR.tools.addFunction(function(){c.onfocus&&c.onfocus()}),l=0;c.keyDownFn=m;d={id:h,name:this.name||this.command,label:this.label,
-title:this.title,cls:this.className||"",titleJs:d.gecko&&!d.hc?"":(this.title||"").replace("'",""),keydownFn:m,focusFn:n,clickFn:e};k.output(d,b);if(this.onRender)this.onRender();return c},createPanel:function(a){if(!this._.panel){var b=this._.panelDefinition,d=this._.panelDefinition.block,k=b.parent||CKEDITOR.document.getBody(),h="cke_combopanel__"+this.name,e=new CKEDITOR.ui.floatPanel(a,k,b),f=e.addListBlock(this.id,d),c=this;e.onShow=function(){this.element.addClass(h);c.setState(CKEDITOR.TRISTATE_ON);
-c._.on=1;c.editorFocus&&!a.focusManager.hasFocus&&a.focus();if(c.onOpen)c.onOpen();a.once("panelShow",function(){f.focus(!f.multiSelect&&c.getValue())})};e.onHide=function(b){this.element.removeClass(h);c.setState(c.modes&&c.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);c._.on=0;if(!b&&c.onClose)c.onClose()};e.onEscape=function(){e.hide(1)};f.onClick=function(a,b){c.onClick&&c.onClick.call(c,a,b);e.hide()};this._.panel=e;this._.list=f;e.getBlock(this.id).onHide=function(){c._.on=
-0;c.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,b){this._.value=a;var d=this.document.getById("cke_"+this.id+"_text");d&&(a||b?d.removeClass("cke_combo_inlinelabel"):(b=this.label,d.addClass("cke_combo_inlinelabel")),d.setText("undefined"!=typeof b?b:a))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)},
-showAll:function(){this._.list.showAll()},add:function(a,b,d){this._.items[a]=d||a;this._.list.add(a,b,d)},startGroup:function(a){this._.list.startGroup(a)},commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(a){if(this._.state!=a){var b=this.document.getById("cke_"+this.id);b.setState(a,"cke_combo");a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled");this._.state=
-a}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,b){this.add(a,CKEDITOR.UI_RICHCOMBO,b)}})();(function(){function n(a,c,h,e,q,n,u,w){var x=a.config,r=new CKEDITOR.style(u),g=q.split(";");q=[];for(var m={},d=0;d<g.length;d++){var l=g[d];if(l){var l=l.split("/"),v={},p=g[d]=l[0];v[h]=q[d]=l[1]||p;m[p]=new CKEDITOR.style(u,v);m[p]._.definition.name=p}else g.splice(d--,1)}a.ui.addRichCombo(c,{label:e.label,title:e.panelTitle,toolbar:"styles,"+w,allowedContent:r,requiredContent:r,contentTransformations:[[{element:"font",check:"span",left:function(b){return!!b.attributes.size||!!b.attributes.align||
+b.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(b)},markFirstDisplayed:function(){var a=this;this._.markFirstDisplayed(function(){a.multiSelect||a.unmarkAll()})},unmark:function(a){var b=this.element.getDocument();a=this._.items[a];var c=b.getById(a);c.removeClass("cke_selected");b.getById(a+"_option").removeAttribute("aria-selected");this.onUnmark&&this.onUnmark(c)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),
+c;for(c in a){var d=a[c];b.getById(d).removeClass("cke_selected");b.getById(d+"_option").removeAttribute("aria-selected")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag("a"),c,d=-1;if(a)for(c=this.element.getDocument().getById(this._.items[a]).getFirst();a=b.getItem(++d);){if(a.equals(c)){this._.focusIndex=d;break}}else this.element.focus();
+c&&setTimeout(function(){c.focus()},0)}}})}});CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(c){c.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}});
+(function(){var c='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"true"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(c+=' onkeypress\x3d"return false;"');
+CKEDITOR.env.gecko&&(c+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var c=c+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event,this);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+
+(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),k=CKEDITOR.addTemplate("combo",c);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className="cke_combopanel";
+a.block={multiSelect:a.multiSelect,attributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var b=[];this.render(a,b);return b.join("")},render:function(a,b){function f(){if(this.getState()!=CKEDITOR.TRISTATE_ON){var b=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;a.readOnly&&!this.readOnly&&(b=CKEDITOR.TRISTATE_DISABLED);this.setState(b);this.setValue("");b!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}}var c=
+CKEDITOR.env,h="cke_"+this.id,e=CKEDITOR.tools.addFunction(function(b){l&&(a.unlockSelection(1),l=0);g.execute(b)},this),d=this,g={id:h,combo:this,focus:function(){CKEDITOR.document.getById(h).getChild(1).focus()},execute:function(b){var c=d._;if(c.state!=CKEDITOR.TRISTATE_DISABLED)if(d.createPanel(a),c.on)c.panel.hide();else{d.commit();var f=d.getValue();f?c.list.mark(f):c.list.unmarkAll();c.panel.showBlock(d.id,new CKEDITOR.dom.element(b),4)}},clickFn:e};a.on("activeFilterChange",f,this);a.on("mode",
+f,this);a.on("selectionChange",f,this);!this.readOnly&&a.on("readOnly",f,this);var m=CKEDITOR.tools.addFunction(function(a,b){a=new CKEDITOR.dom.event(a);var d=a.getKeystroke();switch(d){case 13:case 32:case 40:CKEDITOR.tools.callFunction(e,b);break;default:g.onkey(g,d)}a.preventDefault()}),n=CKEDITOR.tools.addFunction(function(){g.onfocus&&g.onfocus()}),l=0;g.keyDownFn=m;c={id:h,name:this.name||this.command,label:this.label,title:this.title,cls:this.className||"",titleJs:c.gecko&&!c.hc?"":(this.title||
+"").replace("'",""),keydownFn:m,focusFn:n,clickFn:e};k.output(c,b);if(this.onRender)this.onRender();return g},createPanel:function(a){if(!this._.panel){var b=this._.panelDefinition,c=this._.panelDefinition.block,k=b.parent||CKEDITOR.document.getBody(),h="cke_combopanel__"+this.name,e=new CKEDITOR.ui.floatPanel(a,k,b),b=e.addListBlock(this.id,c),d=this;e.onShow=function(){this.element.addClass(h);d.setState(CKEDITOR.TRISTATE_ON);d._.on=1;d.editorFocus&&!a.focusManager.hasFocus&&a.focus();if(d.onOpen)d.onOpen()};
+e.onHide=function(b){this.element.removeClass(h);d.setState(d.modes&&d.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);d._.on=0;if(!b&&d.onClose)d.onClose()};e.onEscape=function(){e.hide(1)};b.onClick=function(a,b){d.onClick&&d.onClick.call(d,a,b);e.hide()};this._.panel=e;this._.list=b;e.getBlock(this.id).onHide=function(){d._.on=0;d.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,b){this._.value=a;var c=this.document.getById("cke_"+this.id+"_text");c&&
+(a||b?c.removeClass("cke_combo_inlinelabel"):(b=this.label,c.addClass("cke_combo_inlinelabel")),c.setText("undefined"!=typeof b?b:a))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)},showAll:function(){this._.list.showAll()},add:function(a,b,c){this._.items[a]=c||a;this._.list.add(a,b,c)},startGroup:function(a){this._.list.startGroup(a)},
+commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(a){if(this._.state!=a){var b=this.document.getById("cke_"+this.id);b.setState(a,"cke_combo");a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled");this._.state=a}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=
+CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,b){this.add(a,CKEDITOR.UI_RICHCOMBO,b)}})();(function(){function n(a,c,h,e,q,n,u,w){var x=a.config,r=new CKEDITOR.style(u),g=q.split(";");q=[];for(var m={},d=0;d<g.length;d++){var l=g[d];if(l){var l=l.split("/"),v={},p=g[d]=l[0];v[h]=q[d]=l[1]||p;m[p]=new CKEDITOR.style(u,v);m[p]._.definition.name=p}else g.splice(d--,1)}a.ui.addRichCombo(c,{label:e.label,title:e.panelTitle,toolbar:"styles,"+w,allowedContent:r,requiredContent:r,contentTransformations:[[{element:"font",check:"span",left:function(b){return!!b.attributes.size||!!b.attributes.align||
 !!b.attributes.face},right:function(b){var a=" x-small small medium large x-large xx-large 48px".split(" ");b.name="span";b.attributes.size&&(b.styles["font-size"]=a[b.attributes.size],delete b.attributes.size);b.attributes.align&&(b.styles["text-align"]=b.attributes.align,delete b.attributes.align);b.attributes.face&&(b.styles["font-family"]=b.attributes.face,delete b.attributes.face)}}]],panel:{css:[CKEDITOR.skin.getPath("editor")].concat(x.contentsCss),multiSelect:!1,attributes:{"aria-label":e.panelTitle}},
 init:function(){this.startGroup(e.panelTitle);for(var b=0;b<g.length;b++){var a=g[b];this.add(a,m[a].buildPreview(),a)}},onClick:function(b){a.focus();a.fire("saveSnapshot");var c=this.getValue(),h=m[b];if(c&&b!=c){var e=m[c],f=a.getSelection().getRanges()[0];if(f.collapsed){var g=a.elementPath(),k=g.contains(function(a){return e.checkElementRemovable(a)});if(k){var d=f.checkBoundaryOfElement(k,CKEDITOR.START),l=f.checkBoundaryOfElement(k,CKEDITOR.END);if(d&&l){for(d=f.createBookmark();g=k.getFirst();)g.insertBefore(k);
 k.remove();f.moveToBookmark(d)}else d||l?f.moveToPosition(k,d?CKEDITOR.POSITION_BEFORE_START:CKEDITOR.POSITION_AFTER_END):(f.splitElement(k),f.moveToPosition(k,CKEDITOR.POSITION_AFTER_END)),t(f,g.elements.slice(),k);a.getSelection().selectRanges([f])}}else a.removeStyle(e)}a[c==b?"removeStyle":"applyStyle"](h);a.fire("saveSnapshot")},onRender:function(){a.on("selectionChange",function(b){var c=this.getValue();b=b.data.path.elements;for(var d=0,e;d<b.length;d++){e=b[d];for(var f in m)if(m[f].checkElementMatch(e,
@@ -813,38 +825,40 @@ b,e){b=this.jobs[b];a.activeFilter.checkFeature(this)?b.state=b.refresh.call(thi
 arguments);this.allowedContent={"div h1 h2 h3 h4 h5 h6 ol p pre ul":{propertiesOnly:!0,styles:d?null:"margin-left,margin-right",classes:d||null}};this.contentTransformations=[["div: splitMarginShorthand"],["h1: splitMarginShorthand"],["h2: splitMarginShorthand"],["h3: splitMarginShorthand"],["h4: splitMarginShorthand"],["h5: splitMarginShorthand"],["h6: splitMarginShorthand"],["ol: splitMarginShorthand"],["p: splitMarginShorthand"],["pre: splitMarginShorthand"],["ul: splitMarginShorthand"]];this.enterBr&&
 (this.allowedContent.div=!0);this.requiredContent=(this.enterBr?"div":"p")+(d?"("+d.join(",")+")":"{margin-left}");this.jobs={20:{refresh:function(a,b){var e=b.block||b.blockLimit;if(!e.is(h))var c=e.getAscendant(h),e=c&&b.contains(c)||e;e.is(h)&&(e=e.getParent());if(this.enterBr||this.getContext(b)){if(d){var c=d,e=e.$.className.match(this.classNameRegex),f=this.isIndent,c=e?f?e[1]!=c.slice(-1):!0:f;return c?n:k}return this.isIndent?n:e?CKEDITOR[0>=(parseInt(e.getStyle(m(e)),10)||0)?"TRISTATE_DISABLED":
 "TRISTATE_OFF"]:k}return k},exec:function(a){var b=a.getSelection(),b=b&&b.getRanges()[0],c;if(c=a.elementPath().contains(p))f.call(this,c,d);else for(b=b.createIterator(),a=a.config.enterMode,b.enforceRealBlocks=!0,b.enlargeBr=a!=CKEDITOR.ENTER_BR;c=b.getNextParagraph(a==CKEDITOR.ENTER_P?"p":"div");)c.isReadOnly()||f.call(this,c,d);return!0}}}}var a=CKEDITOR.plugins.indent,d=b.config.indentClasses;a.registerCommands(b,{indentblock:new c(b,"indentblock",!0),outdentblock:new c(b,"outdentblock")});
-CKEDITOR.tools.extend(c.prototype,a.specificDefinition.prototype,{context:{div:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,p:1,pre:1,table:1},classNameRegex:d?new RegExp("(?:^|\\s+)("+d.join("|")+")(?\x3d$|\\s)"):null})}})})();(function(){function w(c){function f(b){for(var e=d.startContainer,a=d.endContainer;e&&!e.getParent().equals(b);)e=e.getParent();for(;a&&!a.getParent().equals(b);)a=a.getParent();if(!e||!a)return!1;for(var g=e,e=[],k=!1;!k;)g.equals(a)&&(k=!0),e.push(g),g=g.getNext();if(1>e.length)return!1;g=b.getParents(!0);for(a=0;a<g.length;a++)if(g[a].getName&&p[g[a].getName()]){b=g[a];break}for(var g=l.isIndent?1:-1,a=e[0],e=e[e.length-1],k=CKEDITOR.plugins.list.listToArray(b,q),n=k[e.getCustomData("listarray_index")].indent,
-a=a.getCustomData("listarray_index");a<=e.getCustomData("listarray_index");a++)if(k[a].indent+=g,0<g){var h=k[a].parent;k[a].parent=new CKEDITOR.dom.element(h.getName(),h.getDocument())}for(a=e.getCustomData("listarray_index")+1;a<k.length&&k[a].indent>n;a++)k[a].indent+=g;e=CKEDITOR.plugins.list.arrayToList(k,q,null,c.config.enterMode,b.getDirection());if(!l.isIndent){var f;if((f=b.getParent())&&f.is("li"))for(var g=e.listNode.getChildren(),r=[],m,a=g.count()-1;0<=a;a--)(m=g.getItem(a))&&m.is&&m.is("li")&&
-r.push(m)}e&&e.listNode.replace(b);if(r&&r.length)for(a=0;a<r.length;a++){for(m=b=r[a];(m=m.getNext())&&m.is&&m.getName()in p;)CKEDITOR.env.needsNbspFiller&&!b.getFirst(x)&&b.append(d.document.createText(" ")),b.append(m);b.insertAfter(f)}e&&c.fire("contentDomInvalidated");return!0}for(var l=this,q=this.database,p=this.context,n=c.getSelection(),n=(n&&n.getRanges()).createIterator(),d;d=n.getNextRange();){for(var b=d.getCommonAncestor();b&&(b.type!=CKEDITOR.NODE_ELEMENT||!p[b.getName()]);){if(c.editable().equals(b)){b=
-!1;break}b=b.getParent()}b||(b=d.startPath().contains(p))&&d.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);if(!b){var h=d.getEnclosedNode();h&&h.type==CKEDITOR.NODE_ELEMENT&&h.getName()in p&&(d.setStartAt(h,CKEDITOR.POSITION_AFTER_START),d.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),b=h)}b&&d.startContainer.type==CKEDITOR.NODE_ELEMENT&&d.startContainer.getName()in p&&(h=new CKEDITOR.dom.walker(d),h.evaluator=t,d.startContainer=h.next());b&&d.endContainer.type==CKEDITOR.NODE_ELEMENT&&d.endContainer.getName()in
-p&&(h=new CKEDITOR.dom.walker(d),h.evaluator=t,d.endContainer=h.previous());if(b)return f(b)}return 0}function t(c){return c.type==CKEDITOR.NODE_ELEMENT&&c.is("li")}function x(c){return y(c)&&z(c)}var y=CKEDITOR.dom.walker.whitespaces(!0),z=CKEDITOR.dom.walker.bookmark(!1,!0),u=CKEDITOR.TRISTATE_DISABLED,v=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indentlist",{requires:"indent",init:function(c){function f(c){l.specificDefinition.apply(this,arguments);this.requiredContent=["ul","ol"];c.on("key",
-function(f){if("wysiwyg"==c.mode&&f.data.keyCode==this.indentKey){var n=this.getContext(c.elementPath());!n||this.isIndent&&CKEDITOR.plugins.indentList.firstItemInPath(this.context,c.elementPath(),n)||(c.execCommand(this.relatedGlobal),f.cancel())}},this);this.jobs[this.isIndent?10:30]={refresh:this.isIndent?function(c,f){var d=this.getContext(f),b=CKEDITOR.plugins.indentList.firstItemInPath(this.context,f,d);return d&&this.isIndent&&!b?v:u}:function(c,f){return!this.getContext(f)||this.isIndent?
-u:v},exec:CKEDITOR.tools.bind(w,this)}}var l=CKEDITOR.plugins.indent;l.registerCommands(c,{indentlist:new f(c,"indentlist",!0),outdentlist:new f(c,"outdentlist")});CKEDITOR.tools.extend(f.prototype,l.specificDefinition.prototype,{context:{ol:1,ul:1}})}});CKEDITOR.plugins.indentList={};CKEDITOR.plugins.indentList.firstItemInPath=function(c,f,l){var q=f.contains(t);l||(l=f.contains(c));return l&&q&&q.equals(l.getFirst(t))}})();(function(){function n(a,c){c=void 0===c||c;var b;if(c)b=a.getComputedStyle("text-align");else{for(;!a.hasAttribute||!a.hasAttribute("align")&&!a.getStyle("text-align");){b=a.getParent();if(!b)break;a=b}b=a.getStyle("text-align")||a.getAttribute("align")||""}b&&(b=b.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,""));!b&&c&&(b="rtl"==a.getComputedStyle("direction")?"right":"left");return b}function g(a,c,b){this.editor=a;this.name=c;this.value=b;this.context="p";c=a.config.justifyClasses;var h=a.config.enterMode==
-CKEDITOR.ENTER_P?"p":"div";if(c){switch(b){case "left":this.cssClassName=c[0];break;case "center":this.cssClassName=c[1];break;case "right":this.cssClassName=c[2];break;case "justify":this.cssClassName=c[3]}this.cssClassRegex=new RegExp("(?:^|\\s+)(?:"+c.join("|")+")(?\x3d$|\\s)");this.requiredContent=h+"("+this.cssClassName+")"}else this.requiredContent=h+"{text-align}";this.allowedContent={"caption div h1 h2 h3 h4 h5 h6 p pre td th li":{propertiesOnly:!0,styles:this.cssClassName?null:"text-align",
-classes:this.cssClassName||null}};a.config.enterMode==CKEDITOR.ENTER_BR&&(this.allowedContent.div=!0)}function l(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var h=new CKEDITOR.dom.walker(b),d;d=h.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),h=new CKEDITOR.dom.walker(b);else{var e=c.config.justifyClasses;e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]),
-d.addClass(e[0])));e=d.getStyle("text-align");"left"==e?d.setStyle("text-align","right"):"right"==e&&d.setStyle("text-align","left")}}g.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var h=c.createBookmarks(),d=c.getRanges(),e=this.cssClassName,g,f,k=a.config.useComputedState,k=void 0===k||k,m=d.length-1;0<=m;m--)for(g=d[m].createIterator(),g.enlargeBr=b!=CKEDITOR.ENTER_BR;f=g.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");)if(!f.isReadOnly()){f.removeAttribute("align");
-f.removeStyle("text-align");var l=e&&(f.$.className=CKEDITOR.tools.ltrim(f.$.className.replace(this.cssClassRegex,""))),p=this.state==CKEDITOR.TRISTATE_OFF&&(!k||n(f,!0)!=this.value);e?p?f.addClass(e):l||f.removeAttribute("class"):p&&f.setStyle("text-align",this.value)}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(h)}},refresh:function(a,c){var b=c.block||c.blockLimit;this.setState("body"!=b.getName()&&n(b,this.editor.config.useComputedState)==this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)}};
-CKEDITOR.plugins.add("justify",{init:function(a){if(!a.blockless){var c=new g(a,"justifyleft","left"),b=new g(a,"justifycenter","center"),h=new g(a,"justifyright","right"),d=new g(a,"justifyblock","justify");a.addCommand("justifyleft",c);a.addCommand("justifycenter",b);a.addCommand("justifyright",h);a.addCommand("justifyblock",d);a.ui.addButton&&(a.ui.addButton("JustifyLeft",{label:a.lang.justify.left,command:"justifyleft",toolbar:"align,10"}),a.ui.addButton("JustifyCenter",{label:a.lang.justify.center,
-command:"justifycenter",toolbar:"align,20"}),a.ui.addButton("JustifyRight",{label:a.lang.justify.right,command:"justifyright",toolbar:"align,30"}),a.ui.addButton("JustifyBlock",{label:a.lang.justify.block,command:"justifyblock",toolbar:"align,40"}));a.on("dirChanged",l)}}})})();(function(){function p(c){return c.replace(/'/g,"\\$\x26")}function q(c){for(var b,a=c.length,f=[],e=0;e<a;e++)b=c.charCodeAt(e),f.push(b);return"String.fromCharCode("+f.join(",")+")"}function r(c,b){var a=c.plugins.link,f=a.compiledProtectionFunction.params,e,d;d=[a.compiledProtectionFunction.name,"("];for(var g=0;g<f.length;g++)a=f[g].toLowerCase(),e=b[a],0<g&&d.push(","),d.push("'",e?p(encodeURIComponent(b[a])):"","'");d.push(")");return d.join("")}function n(c){c=c.config.emailProtection||"";
-var b;c&&"encode"!=c&&(b={},c.replace(/^([^(]+)\(([^)]+)\)$/,function(a,c,e){b.name=c;b.params=[];e.replace(/[^,\s]+/g,function(a){b.params.push(a)})}));return b}CKEDITOR.plugins.add("link",{requires:"dialog,fakeobjects",onLoad:function(){function c(b){return a.replace(/%1/g,"rtl"==b?"right":"left").replace(/%2/g,"cke_contents_"+b)}var b="background:url("+CKEDITOR.getUrl(this.path+"images"+(CKEDITOR.env.hidpi?"/hidpi":"")+"/anchor.png")+") no-repeat %1 center;border:1px dotted #00f;background-size:16px;",
+CKEDITOR.tools.extend(c.prototype,a.specificDefinition.prototype,{context:{div:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,p:1,pre:1,table:1},classNameRegex:d?new RegExp("(?:^|\\s+)("+d.join("|")+")(?\x3d$|\\s)"):null})}})})();(function(){function w(d){function f(b){for(var e=c.startContainer,a=c.endContainer;e&&!e.getParent().equals(b);)e=e.getParent();for(;a&&!a.getParent().equals(b);)a=a.getParent();if(!e||!a)return!1;for(var g=e,e=[],k=!1;!k;)g.equals(a)&&(k=!0),e.push(g),g=g.getNext();if(1>e.length)return!1;g=b.getParents(!0);for(a=0;a<g.length;a++)if(g[a].getName&&p[g[a].getName()]){b=g[a];break}for(var g=l.isIndent?1:-1,a=e[0],e=e[e.length-1],k=CKEDITOR.plugins.list.listToArray(b,q),h=k[e.getCustomData("listarray_index")].indent,
+a=a.getCustomData("listarray_index");a<=e.getCustomData("listarray_index");a++)if(k[a].indent+=g,0<g){var n=k[a].parent;k[a].parent=new CKEDITOR.dom.element(n.getName(),n.getDocument())}for(a=e.getCustomData("listarray_index")+1;a<k.length&&k[a].indent>h;a++)k[a].indent+=g;e=CKEDITOR.plugins.list.arrayToList(k,q,null,d.config.enterMode,b.getDirection());if(!l.isIndent){var f;if((f=b.getParent())&&f.is("li"))for(var g=e.listNode.getChildren(),r=[],m,a=g.count()-1;0<=a;a--)(m=g.getItem(a))&&m.is&&m.is("li")&&
+r.push(m)}e&&e.listNode.replace(b);if(r&&r.length)for(a=0;a<r.length;a++){for(m=b=r[a];(m=m.getNext())&&m.is&&m.getName()in p;)CKEDITOR.env.needsNbspFiller&&!b.getFirst(x)&&b.append(c.document.createText(" ")),b.append(m);b.insertAfter(f)}e&&d.fire("contentDomInvalidated");return!0}for(var l=this,q=this.database,p=this.context,c,n=d.getSelection(),n=(n&&n.getRanges()).createIterator();c=n.getNextRange();){for(var b=c.getCommonAncestor();b&&(b.type!=CKEDITOR.NODE_ELEMENT||!p[b.getName()]);){if(d.editable().equals(b)){b=
+!1;break}b=b.getParent()}b||(b=c.startPath().contains(p))&&c.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);if(!b){var h=c.getEnclosedNode();h&&h.type==CKEDITOR.NODE_ELEMENT&&h.getName()in p&&(c.setStartAt(h,CKEDITOR.POSITION_AFTER_START),c.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),b=h)}b&&c.startContainer.type==CKEDITOR.NODE_ELEMENT&&c.startContainer.getName()in p&&(h=new CKEDITOR.dom.walker(c),h.evaluator=t,c.startContainer=h.next());b&&c.endContainer.type==CKEDITOR.NODE_ELEMENT&&c.endContainer.getName()in
+p&&(h=new CKEDITOR.dom.walker(c),h.evaluator=t,c.endContainer=h.previous());if(b)return f(b)}return 0}function t(d){return d.type==CKEDITOR.NODE_ELEMENT&&d.is("li")}function x(d){return y(d)&&z(d)}var y=CKEDITOR.dom.walker.whitespaces(!0),z=CKEDITOR.dom.walker.bookmark(!1,!0),u=CKEDITOR.TRISTATE_DISABLED,v=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indentlist",{requires:"indent",init:function(d){function f(d){l.specificDefinition.apply(this,arguments);this.requiredContent=["ul","ol"];d.on("key",
+function(f){var c=d.elementPath();if("wysiwyg"==d.mode&&f.data.keyCode==this.indentKey&&c){var n=this.getContext(c);!n||this.isIndent&&CKEDITOR.plugins.indentList.firstItemInPath(this.context,c,n)||(d.execCommand(this.relatedGlobal),f.cancel())}},this);this.jobs[this.isIndent?10:30]={refresh:this.isIndent?function(d,c){var f=this.getContext(c),b=CKEDITOR.plugins.indentList.firstItemInPath(this.context,c,f);return f&&this.isIndent&&!b?v:u}:function(d,c){return!this.getContext(c)||this.isIndent?u:v},
+exec:CKEDITOR.tools.bind(w,this)}}var l=CKEDITOR.plugins.indent;l.registerCommands(d,{indentlist:new f(d,"indentlist",!0),outdentlist:new f(d,"outdentlist")});CKEDITOR.tools.extend(f.prototype,l.specificDefinition.prototype,{context:{ol:1,ul:1}})}});CKEDITOR.plugins.indentList={};CKEDITOR.plugins.indentList.firstItemInPath=function(d,f,l){var q=f.contains(t);l||(l=f.contains(d));return l&&q&&q.equals(l.getFirst(t))}})();(function(){function q(a,c){c=void 0===c||c;var b;if(c)b=a.getComputedStyle("text-align");else{for(;!a.hasAttribute||!a.hasAttribute("align")&&!a.getStyle("text-align");){b=a.getParent();if(!b)break;a=b}b=a.getStyle("text-align")||a.getAttribute("align")||""}b&&(b=b.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,""));!b&&c&&(b="rtl"==a.getComputedStyle("direction")?"right":"left");return b}function h(a,c,b){this.editor=a;this.name=c;this.value=b;this.context="p";c=a.config.justifyClasses;var f=a.config.enterMode==
+CKEDITOR.ENTER_P?"p":"div";if(c){switch(b){case "left":this.cssClassName=c[0];break;case "center":this.cssClassName=c[1];break;case "right":this.cssClassName=c[2];break;case "justify":this.cssClassName=c[3]}this.cssClassRegex=new RegExp("(?:^|\\s+)(?:"+c.join("|")+")(?\x3d$|\\s)");this.requiredContent=f+"("+this.cssClassName+")"}else this.requiredContent=f+"{text-align}";this.allowedContent={"caption div h1 h2 h3 h4 h5 h6 p pre td th li":{propertiesOnly:!0,styles:this.cssClassName?null:"text-align",
+classes:this.cssClassName||null}};a.config.enterMode==CKEDITOR.ENTER_BR&&(this.allowedContent.div=!0)}function m(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var f=new CKEDITOR.dom.walker(b),d;d=f.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),f=new CKEDITOR.dom.walker(b);else{var e=c.config.justifyClasses;e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]),
+d.addClass(e[0])));e=d.getStyle("text-align");"left"==e?d.setStyle("text-align","right"):"right"==e&&d.setStyle("text-align","left")}}h.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var f=c.createBookmarks(),d=c.getRanges(),e=this.cssClassName,h,g,k=a.config.useComputedState,k=void 0===k||k,n=d.length-1;0<=n;n--)for(h=d[n].createIterator(),h.enlargeBr=b!=CKEDITOR.ENTER_BR;g=h.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");)if(!g.isReadOnly()){var l=g.getName(),
+p;p=a.activeFilter.check(l+"{text-align}");if((l=a.activeFilter.check(l+"("+e+")"))||p){g.removeAttribute("align");g.removeStyle("text-align");var m=e&&(g.$.className=CKEDITOR.tools.ltrim(g.$.className.replace(this.cssClassRegex,""))),r=this.state==CKEDITOR.TRISTATE_OFF&&(!k||q(g,!0)!=this.value);e&&l?r?g.addClass(e):m||g.removeAttribute("class"):r&&p&&g.setStyle("text-align",this.value)}}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(f)}},refresh:function(a,c){var b=c.block||c.blockLimit,
+f=b.getName(),d=b.equals(a.editable()),f=this.cssClassName?a.activeFilter.check(f+"("+this.cssClassName+")"):a.activeFilter.check(f+"{text-align}");d&&1===c.elements.length?this.setState(CKEDITOR.TRISTATE_OFF):!d&&f?this.setState(q(b,this.editor.config.useComputedState)==this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)}};CKEDITOR.plugins.add("justify",{init:function(a){if(!a.blockless){var c=new h(a,"justifyleft","left"),b=new h(a,"justifycenter","center"),
+f=new h(a,"justifyright","right"),d=new h(a,"justifyblock","justify");a.addCommand("justifyleft",c);a.addCommand("justifycenter",b);a.addCommand("justifyright",f);a.addCommand("justifyblock",d);a.ui.addButton&&(a.ui.addButton("JustifyLeft",{label:a.lang.justify.left,command:"justifyleft",toolbar:"align,10"}),a.ui.addButton("JustifyCenter",{label:a.lang.justify.center,command:"justifycenter",toolbar:"align,20"}),a.ui.addButton("JustifyRight",{label:a.lang.justify.right,command:"justifyright",toolbar:"align,30"}),
+a.ui.addButton("JustifyBlock",{label:a.lang.justify.block,command:"justifyblock",toolbar:"align,40"}));a.on("dirChanged",m)}}})})();(function(){function p(c){return c.replace(/'/g,"\\$\x26")}function q(c){for(var b,a=c.length,d=[],f=0;f<a;f++)b=c.charCodeAt(f),d.push(b);return"String.fromCharCode("+d.join(",")+")"}function r(c,b){var a=c.plugins.link,d=a.compiledProtectionFunction.params,f,e;e=[a.compiledProtectionFunction.name,"("];for(var g=0;g<d.length;g++)a=d[g].toLowerCase(),f=b[a],0<g&&e.push(","),e.push("'",f?p(encodeURIComponent(b[a])):"","'");e.push(")");return e.join("")}function n(c){c=c.config.emailProtection||"";
+var b;c&&"encode"!=c&&(b={},c.replace(/^([^(]+)\(([^)]+)\)$/,function(a,c,f){b.name=c;b.params=[];f.replace(/[^,\s]+/g,function(a){b.params.push(a)})}));return b}CKEDITOR.plugins.add("link",{requires:"dialog,fakeobjects",onLoad:function(){function c(b){return a.replace(/%1/g,"rtl"==b?"right":"left").replace(/%2/g,"cke_contents_"+b)}var b="background:url("+CKEDITOR.getUrl(this.path+"images"+(CKEDITOR.env.hidpi?"/hidpi":"")+"/anchor.png")+") no-repeat %1 center;border:1px dotted #00f;background-size:16px;",
 a=".%2 a.cke_anchor,.%2 a.cke_anchor_empty,.cke_editable.%2 a[name],.cke_editable.%2 a[data-cke-saved-name]{"+b+"padding-%1:18px;cursor:auto;}.%2 img.cke_anchor{"+b+"width:16px;min-height:15px;height:1.15em;vertical-align:text-bottom;}";CKEDITOR.addCss(c("ltr")+c("rtl"))},init:function(c){var b="a[!href]";CKEDITOR.dialog.isTabEnabled(c,"link","advanced")&&(b=b.replace("]",",accesskey,charset,dir,id,lang,name,rel,tabindex,title,type,download]{*}(*)"));CKEDITOR.dialog.isTabEnabled(c,"link","target")&&
 (b=b.replace("]",",target,onclick]"));c.addCommand("link",new CKEDITOR.dialogCommand("link",{allowedContent:b,requiredContent:"a[href]"}));c.addCommand("anchor",new CKEDITOR.dialogCommand("anchor",{allowedContent:"a[!name,id]",requiredContent:"a[name]"}));c.addCommand("unlink",new CKEDITOR.unlinkCommand);c.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand);c.setKeystroke(CKEDITOR.CTRL+76,"link");c.ui.addButton&&(c.ui.addButton("Link",{label:c.lang.link.toolbar,command:"link",toolbar:"links,10"}),
-c.ui.addButton("Unlink",{label:c.lang.link.unlink,command:"unlink",toolbar:"links,20"}),c.ui.addButton("Anchor",{label:c.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"}));CKEDITOR.dialog.add("link",this.path+"dialogs/link.js");CKEDITOR.dialog.add("anchor",this.path+"dialogs/anchor.js");c.on("doubleclick",function(a){var b=CKEDITOR.plugins.link.getSelectedLink(c)||a.data.element;b.isReadOnly()||(b.is("a")?(a.data.dialog=!b.getAttribute("name")||b.getAttribute("href")&&b.getChildCount()?
-"link":"anchor",a.data.link=b):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b)&&(a.data.dialog="anchor"))},null,null,0);c.on("doubleclick",function(a){a.data.dialog in{link:1,anchor:1}&&a.data.link&&c.getSelection().selectElement(a.data.link)},null,null,20);c.addMenuItems&&c.addMenuItems({anchor:{label:c.lang.link.anchor.menu,command:"anchor",group:"anchor",order:1},removeAnchor:{label:c.lang.link.anchor.remove,command:"removeAnchor",group:"anchor",order:5},link:{label:c.lang.link.menu,command:"link",
-group:"link",order:1},unlink:{label:c.lang.link.unlink,command:"unlink",group:"link",order:5}});c.contextMenu&&c.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(c)))return null;var b={};a.getAttribute("href")&&a.getChildCount()&&(b={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});a&&a.hasAttribute("name")&&(b.anchor=b.removeAnchor=CKEDITOR.TRISTATE_OFF);return b});this.compiledProtectionFunction=
+c.ui.addButton("Unlink",{label:c.lang.link.unlink,command:"unlink",toolbar:"links,20"}),c.ui.addButton("Anchor",{label:c.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"}));CKEDITOR.dialog.add("link",this.path+"dialogs/link.js");CKEDITOR.dialog.add("anchor",this.path+"dialogs/anchor.js");c.on("doubleclick",function(a){var b=a.data.element.getAscendant({a:1,img:1},!0);b&&!b.isReadOnly()&&(b.is("a")?(a.data.dialog=!b.getAttribute("name")||b.getAttribute("href")&&b.getChildCount()?"link":
+"anchor",a.data.link=b):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b)&&(a.data.dialog="anchor"))},null,null,0);c.on("doubleclick",function(a){a.data.dialog in{link:1,anchor:1}&&a.data.link&&c.getSelection().selectElement(a.data.link)},null,null,20);c.addMenuItems&&c.addMenuItems({anchor:{label:c.lang.link.anchor.menu,command:"anchor",group:"anchor",order:1},removeAnchor:{label:c.lang.link.anchor.remove,command:"removeAnchor",group:"anchor",order:5},link:{label:c.lang.link.menu,command:"link",group:"link",
+order:1},unlink:{label:c.lang.link.unlink,command:"unlink",group:"link",order:5}});c.contextMenu&&c.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(c)))return null;var b={};a.getAttribute("href")&&a.getChildCount()&&(b={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});a&&a.hasAttribute("name")&&(b.anchor=b.removeAnchor=CKEDITOR.TRISTATE_OFF);return b});this.compiledProtectionFunction=
 n(c)},afterInit:function(c){c.dataProcessor.dataFilter.addRules({elements:{a:function(a){return a.attributes.name?a.children.length?null:c.createFakeParserElement(a,"cke_anchor","anchor"):null}}});var b=c._.elementsPath&&c._.elementsPath.filters;b&&b.push(function(a,b){if("a"==b&&(CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a)||a.getAttribute("name")&&(!a.getAttribute("href")||!a.getChildCount())))return"anchor"})}});var t=/^javascript:/,u=/^mailto:([^?]+)(?:\?(.+))?$/,v=/subject=([^;?:@&=$,\/]*)/i,
 w=/body=([^;?:@&=$,\/]*)/i,x=/^#(.*)$/,y=/^((?:http|https|ftp|news):\/\/)?(.*)$/,z=/^(_(?:self|top|parent|blank))$/,A=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,B=/^javascript:([^(]+)\(([^)]+)\)$/,C=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,D=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,m={id:"advId",dir:"advLangDir",accessKey:"advAccessKey",name:"advName",lang:"advLangCode",tabindex:"advTabIndex",
-title:"advTitle",type:"advContentType","class":"advCSSClasses",charset:"advCharset",style:"advStyles",rel:"advRel"};CKEDITOR.plugins.link={getSelectedLink:function(c){var b=c.getSelection(),a=b.getSelectedElement();return a&&a.is("a")?a:(b=b.getRanges()[0])?(b.shrink(CKEDITOR.SHRINK_TEXT),c.elementPath(b.getCommonAncestor()).contains("a",1)):null},getEditorAnchors:function(c){for(var b=c.editable(),a=b.isInline()&&!c.plugins.divarea?c.document:b,b=a.getElementsByTag("a"),a=a.getElementsByTag("img"),
-f=[],e=0,d;d=b.getItem(e++);)(d.data("cke-saved-name")||d.hasAttribute("name"))&&f.push({name:d.data("cke-saved-name")||d.getAttribute("name"),id:d.getAttribute("id")});for(e=0;d=a.getItem(e++);)(d=this.tryRestoreFakeAnchor(c,d))&&f.push({name:d.getAttribute("name"),id:d.getAttribute("id")});return f},fakeAnchor:!0,tryRestoreFakeAnchor:function(c,b){if(b&&b.data("cke-real-element-type")&&"anchor"==b.data("cke-real-element-type")){var a=c.restoreRealElement(b);if(a.data("cke-saved-name"))return a}},
-parseLinkAttributes:function(c,b){var a=b&&(b.data("cke-saved-href")||b.getAttribute("href"))||"",f=c.plugins.link.compiledProtectionFunction,e=c.config.emailProtection,d,g={};a.match(t)&&("encode"==e?a=a.replace(A,function(a,b,c){c=c||"";return"mailto:"+String.fromCharCode.apply(String,b.split(","))+c.replace(/\\'/g,"'")}):e&&a.replace(B,function(a,b,c){if(b==f.name){g.type="email";a=g.email={};b=/(^')|('$)/g;c=c.match(/[^,\s]+/g);for(var d=c.length,e,h,k=0;k<d;k++)e=decodeURIComponent,h=c[k].replace(b,
-"").replace(/\\'/g,"'"),h=e(h),e=f.params[k].toLowerCase(),a[e]=h;a.address=[a.name,a.domain].join("@")}}));if(!g.type)if(e=a.match(x))g.type="anchor",g.anchor={},g.anchor.name=g.anchor.id=e[1];else if(e=a.match(u)){d=a.match(v);a=a.match(w);g.type="email";var k=g.email={};k.address=e[1];d&&(k.subject=decodeURIComponent(d[1]));a&&(k.body=decodeURIComponent(a[1]))}else a&&(d=a.match(y))&&(g.type="url",g.url={},g.url.protocol=d[1],g.url.url=d[2]);if(b){if(a=b.getAttribute("target"))g.target={type:a.match(z)?
-a:"frame",name:a};else if(a=(a=b.data("cke-pa-onclick")||b.getAttribute("onclick"))&&a.match(C))for(g.target={type:"popup",name:a[1]};e=D.exec(a[2]);)"yes"!=e[2]&&"1"!=e[2]||e[1]in{height:1,width:1,top:1,left:1}?isFinite(e[2])&&(g.target[e[1]]=e[2]):g.target[e[1]]=!0;null!==b.getAttribute("download")&&(g.download=!0);var a={},h;for(h in m)(e=b.getAttribute(h))&&(a[m[h]]=e);if(h=b.data("cke-saved-name")||a.advName)a.advName=h;CKEDITOR.tools.isEmpty(a)||(g.advanced=a)}return g},getLinkAttributes:function(c,
-b){var a=c.config.emailProtection||"",f={};switch(b.type){case "url":var a=b.url&&void 0!==b.url.protocol?b.url.protocol:"http://",e=b.url&&CKEDITOR.tools.trim(b.url.url)||"";f["data-cke-saved-href"]=0===e.indexOf("/")?e:a+e;break;case "anchor":a=b.anchor&&b.anchor.id;f["data-cke-saved-href"]="#"+(b.anchor&&b.anchor.name||a||"");break;case "email":var d=b.email,e=d.address;switch(a){case "":case "encode":var g=encodeURIComponent(d.subject||""),k=encodeURIComponent(d.body||""),d=[];g&&d.push("subject\x3d"+
-g);k&&d.push("body\x3d"+k);d=d.length?"?"+d.join("\x26"):"";"encode"==a?(a=["javascript:void(location.href\x3d'mailto:'+",q(e)],d&&a.push("+'",p(d),"'"),a.push(")")):a=["mailto:",e,d];break;default:a=e.split("@",2),d.name=a[0],d.domain=a[1],a=["javascript:",r(c,d)]}f["data-cke-saved-href"]=a.join("")}if(b.target)if("popup"==b.target.type){for(var a=["window.open(this.href, '",b.target.name||"","', '"],h="resizable status location toolbar menubar fullscreen scrollbars dependent".split(" "),e=h.length,
-g=function(a){b.target[a]&&h.push(a+"\x3d"+b.target[a])},d=0;d<e;d++)h[d]+=b.target[h[d]]?"\x3dyes":"\x3dno";g("width");g("left");g("height");g("top");a.push(h.join(","),"'); return false;");f["data-cke-pa-onclick"]=a.join("")}else"notSet"!=b.target.type&&b.target.name&&(f.target=b.target.name);b.download&&(f.download="");if(b.advanced){for(var l in m)(a=b.advanced[m[l]])&&(f[l]=a);f.name&&(f["data-cke-saved-name"]=f.name)}f["data-cke-saved-href"]&&(f.href=f["data-cke-saved-href"]);l={target:1,onclick:1,
-"data-cke-pa-onclick":1,"data-cke-saved-name":1,download:1};b.advanced&&CKEDITOR.tools.extend(l,m);for(var n in f)delete l[n];return{set:f,removed:CKEDITOR.tools.objectKeys(l)}},showDisplayTextForElement:function(c,b){var a={img:1,table:1,tbody:1,thead:1,tfoot:1,input:1,select:1,textarea:1};return b.widgets&&b.widgets.focused?!1:!c||!c.getName||!c.is(a)}};CKEDITOR.unlinkCommand=function(){};CKEDITOR.unlinkCommand.prototype={exec:function(c){var b=new CKEDITOR.style({element:"a",type:CKEDITOR.STYLE_INLINE,
-alwaysRemoveElement:1});c.removeStyle(b)},refresh:function(c,b){var a=b.lastElement&&b.lastElement.getAscendant("a",!0);a&&"a"==a.getName()&&a.getAttribute("href")&&a.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1,requiredContent:"a[href]"};CKEDITOR.removeAnchorCommand=function(){};CKEDITOR.removeAnchorCommand.prototype={exec:function(c){var b=c.getSelection(),a=b.createBookmarks(),f;if(b&&(f=b.getSelectedElement())&&
-(f.getChildCount()?f.is("a"):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,f)))f.remove(1);else if(f=CKEDITOR.plugins.link.getSelectedLink(c))f.hasAttribute("href")?(f.removeAttributes({name:1,"data-cke-saved-name":1}),f.removeClass("cke_anchor")):f.remove(1);b.selectBookmarks(a)},requiredContent:"a[name]"};CKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0})})();(function(){function I(b,m,e){function c(c){if(!(!(a=d[c?"getFirst":"getLast"]())||a.is&&a.isBlockBoundary()||!(p=m.root[c?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))||p.is&&p.isBlockBoundary({br:1})))b.document.createElement("br")[c?"insertBefore":"insertAfter"](a)}for(var f=CKEDITOR.plugins.list.listToArray(m.root,e),g=[],k=0;k<m.contents.length;k++){var h=m.contents[k];(h=h.getAscendant("li",!0))&&!h.getCustomData("list_item_processed")&&(g.push(h),CKEDITOR.dom.element.setMarker(e,
+title:"advTitle",type:"advContentType","class":"advCSSClasses",charset:"advCharset",style:"advStyles",rel:"advRel"};CKEDITOR.plugins.link={getSelectedLink:function(c,b){var a=c.getSelection(),d=a.getSelectedElement(),f=a.getRanges(),e=[],g;if(!b&&d&&d.is("a"))return d;for(d=0;d<f.length;d++)if(g=a.getRanges()[d],g.shrink(CKEDITOR.SHRINK_TEXT,!1,{skipBogus:!0}),(g=c.elementPath(g.getCommonAncestor()).contains("a",1))&&b)e.push(g);else if(g)return g;return b?e:null},getEditorAnchors:function(c){for(var b=
+c.editable(),a=b.isInline()&&!c.plugins.divarea?c.document:b,b=a.getElementsByTag("a"),a=a.getElementsByTag("img"),d=[],f=0,e;e=b.getItem(f++);)(e.data("cke-saved-name")||e.hasAttribute("name"))&&d.push({name:e.data("cke-saved-name")||e.getAttribute("name"),id:e.getAttribute("id")});for(f=0;e=a.getItem(f++);)(e=this.tryRestoreFakeAnchor(c,e))&&d.push({name:e.getAttribute("name"),id:e.getAttribute("id")});return d},fakeAnchor:!0,tryRestoreFakeAnchor:function(c,b){if(b&&b.data("cke-real-element-type")&&
+"anchor"==b.data("cke-real-element-type")){var a=c.restoreRealElement(b);if(a.data("cke-saved-name"))return a}},parseLinkAttributes:function(c,b){var a=b&&(b.data("cke-saved-href")||b.getAttribute("href"))||"",d=c.plugins.link.compiledProtectionFunction,f=c.config.emailProtection,e,g={};a.match(t)&&("encode"==f?a=a.replace(A,function(a,b,c){c=c||"";return"mailto:"+String.fromCharCode.apply(String,b.split(","))+c.replace(/\\'/g,"'")}):f&&a.replace(B,function(a,b,c){if(b==d.name){g.type="email";a=g.email=
+{};b=/(^')|('$)/g;c=c.match(/[^,\s]+/g);for(var e=c.length,f,h,k=0;k<e;k++)f=decodeURIComponent,h=c[k].replace(b,"").replace(/\\'/g,"'"),h=f(h),f=d.params[k].toLowerCase(),a[f]=h;a.address=[a.name,a.domain].join("@")}}));if(!g.type)if(f=a.match(x))g.type="anchor",g.anchor={},g.anchor.name=g.anchor.id=f[1];else if(f=a.match(u)){e=a.match(v);a=a.match(w);g.type="email";var k=g.email={};k.address=f[1];e&&(k.subject=decodeURIComponent(e[1]));a&&(k.body=decodeURIComponent(a[1]))}else a&&(e=a.match(y))&&
+(g.type="url",g.url={},g.url.protocol=e[1],g.url.url=e[2]);if(b){if(a=b.getAttribute("target"))g.target={type:a.match(z)?a:"frame",name:a};else if(a=(a=b.data("cke-pa-onclick")||b.getAttribute("onclick"))&&a.match(C))for(g.target={type:"popup",name:a[1]};f=D.exec(a[2]);)"yes"!=f[2]&&"1"!=f[2]||f[1]in{height:1,width:1,top:1,left:1}?isFinite(f[2])&&(g.target[f[1]]=f[2]):g.target[f[1]]=!0;null!==b.getAttribute("download")&&(g.download=!0);var a={},h;for(h in m)(f=b.getAttribute(h))&&(a[m[h]]=f);if(h=
+b.data("cke-saved-name")||a.advName)a.advName=h;CKEDITOR.tools.isEmpty(a)||(g.advanced=a)}return g},getLinkAttributes:function(c,b){var a=c.config.emailProtection||"",d={};switch(b.type){case "url":var a=b.url&&void 0!==b.url.protocol?b.url.protocol:"http://",f=b.url&&CKEDITOR.tools.trim(b.url.url)||"";d["data-cke-saved-href"]=0===f.indexOf("/")?f:a+f;break;case "anchor":a=b.anchor&&b.anchor.id;d["data-cke-saved-href"]="#"+(b.anchor&&b.anchor.name||a||"");break;case "email":var e=b.email,f=e.address;
+switch(a){case "":case "encode":var g=encodeURIComponent(e.subject||""),k=encodeURIComponent(e.body||""),e=[];g&&e.push("subject\x3d"+g);k&&e.push("body\x3d"+k);e=e.length?"?"+e.join("\x26"):"";"encode"==a?(a=["javascript:void(location.href\x3d'mailto:'+",q(f)],e&&a.push("+'",p(e),"'"),a.push(")")):a=["mailto:",f,e];break;default:a=f.split("@",2),e.name=a[0],e.domain=a[1],a=["javascript:",r(c,e)]}d["data-cke-saved-href"]=a.join("")}if(b.target)if("popup"==b.target.type){for(var a=["window.open(this.href, '",
+b.target.name||"","', '"],h="resizable status location toolbar menubar fullscreen scrollbars dependent".split(" "),f=h.length,g=function(a){b.target[a]&&h.push(a+"\x3d"+b.target[a])},e=0;e<f;e++)h[e]+=b.target[h[e]]?"\x3dyes":"\x3dno";g("width");g("left");g("height");g("top");a.push(h.join(","),"'); return false;");d["data-cke-pa-onclick"]=a.join("")}else"notSet"!=b.target.type&&b.target.name&&(d.target=b.target.name);b.download&&(d.download="");if(b.advanced){for(var l in m)(a=b.advanced[m[l]])&&
+(d[l]=a);d.name&&(d["data-cke-saved-name"]=d.name)}d["data-cke-saved-href"]&&(d.href=d["data-cke-saved-href"]);l={target:1,onclick:1,"data-cke-pa-onclick":1,"data-cke-saved-name":1,download:1};b.advanced&&CKEDITOR.tools.extend(l,m);for(var n in d)delete l[n];return{set:d,removed:CKEDITOR.tools.objectKeys(l)}},showDisplayTextForElement:function(c,b){var a={img:1,table:1,tbody:1,thead:1,tfoot:1,input:1,select:1,textarea:1},d=b.getSelection();return b.widgets&&b.widgets.focused||d&&1<d.getRanges().length?
+!1:!c||!c.getName||!c.is(a)}};CKEDITOR.unlinkCommand=function(){};CKEDITOR.unlinkCommand.prototype={exec:function(c){if(CKEDITOR.env.ie){var b=c.getSelection().getRanges()[0],a=b.getPreviousEditableNode()&&b.getPreviousEditableNode().getAscendant("a",!0)||b.getNextEditableNode()&&b.getNextEditableNode().getAscendant("a",!0),d;b.collapsed&&a&&(d=b.createBookmark(),b.selectNodeContents(a),b.select())}a=new CKEDITOR.style({element:"a",type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1});c.removeStyle(a);
+d&&(b.moveToBookmark(d),b.select())},refresh:function(c,b){var a=b.lastElement&&b.lastElement.getAscendant("a",!0);a&&"a"==a.getName()&&a.getAttribute("href")&&a.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1,requiredContent:"a[href]",editorFocus:1};CKEDITOR.removeAnchorCommand=function(){};CKEDITOR.removeAnchorCommand.prototype={exec:function(c){var b=c.getSelection(),a=b.createBookmarks(),d;if(b&&(d=b.getSelectedElement())&&
+(d.getChildCount()?d.is("a"):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,d)))d.remove(1);else if(d=CKEDITOR.plugins.link.getSelectedLink(c))d.hasAttribute("href")?(d.removeAttributes({name:1,"data-cke-saved-name":1}),d.removeClass("cke_anchor")):d.remove(1);b.selectBookmarks(a)},requiredContent:"a[name]"};CKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0})})();(function(){function I(b,m,e){function c(c){if(!(!(a=d[c?"getFirst":"getLast"]())||a.is&&a.isBlockBoundary()||!(p=m.root[c?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))||p.is&&p.isBlockBoundary({br:1})))b.document.createElement("br")[c?"insertBefore":"insertAfter"](a)}for(var f=CKEDITOR.plugins.list.listToArray(m.root,e),g=[],k=0;k<m.contents.length;k++){var h=m.contents[k];(h=h.getAscendant("li",!0))&&!h.getCustomData("list_item_processed")&&(g.push(h),CKEDITOR.dom.element.setMarker(e,
 h,"list_item_processed",!0))}h=null;for(k=0;k<g.length;k++)h=g[k].getCustomData("listarray_index"),f[h].indent=-1;for(k=h+1;k<f.length;k++)if(f[k].indent>f[k-1].indent+1){g=f[k-1].indent+1-f[k].indent;for(h=f[k].indent;f[k]&&f[k].indent>=h;)f[k].indent+=g,k++;k--}var d=CKEDITOR.plugins.list.arrayToList(f,e,null,b.config.enterMode,m.root.getAttribute("dir")).listNode,a,p;c(!0);c();d.replace(m.root);b.fire("contentDomInvalidated")}function B(b,m){this.name=b;this.context=this.type=m;this.allowedContent=
 m+" li";this.requiredContent=m}function E(b,m,e,c){for(var f,g;f=b[c?"getLast":"getFirst"](J);)(g=f.getDirection(1))!==m.getDirection(1)&&f.setAttribute("dir",g),f.remove(),e?f[c?"insertBefore":"insertAfter"](e):m.append(f,c)}function F(b){function m(e){var c=b[e?"getPrevious":"getNext"](u);c&&c.type==CKEDITOR.NODE_ELEMENT&&c.is(b.getName())&&(E(b,c,null,!e),b.remove(),b=c)}m();m(1)}function G(b){return b.type==CKEDITOR.NODE_ELEMENT&&(b.getName()in CKEDITOR.dtd.$block||b.getName()in CKEDITOR.dtd.$listItem)&&
 CKEDITOR.dtd[b.getName()]["#"]}function C(b,m,e){b.fire("saveSnapshot");e.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS);var c=e.extractContents();m.trim(!1,!0);var f=m.createBookmark(),g=new CKEDITOR.dom.elementPath(m.startContainer),k=g.block,g=g.lastElement.getAscendant("li",1)||k,h=new CKEDITOR.dom.elementPath(e.startContainer),d=h.contains(CKEDITOR.dtd.$listItem),h=h.contains(CKEDITOR.dtd.$list);k?(k=k.getBogus())&&k.remove():h&&(k=h.getPrevious(u))&&z(k)&&k.remove();(k=c.getLast())&&k.type==CKEDITOR.NODE_ELEMENT&&
@@ -942,49 +956,63 @@ a.hide();this.hidden[d]=a;delete this.visible[d]},showLine:function(a){var d=a.g
 break}c||this.showLine(c=this.addLine());c.setCustomData("hash",this.hash);this.visible[c.getUniqueId()]=c;c.setStyles(b);d&&d(c)}},getStyle:function(a,d){var b=this.relations[a],c=this.locations[a][d],e={};e.width=b.siblingRect?Math.max(b.siblingRect.width,b.elementRect.width):b.elementRect.width;e.top=this.inline?c+this.winTopScroll.y-this.rect.relativeY:this.rect.top+this.winTopScroll.y+c;if(e.top-this.winTopScroll.y<this.rect.top||e.top-this.winTopScroll.y>this.rect.bottom)return!1;this.inline?
 e.left=b.elementRect.left-this.rect.relativeX:(0<b.elementRect.left?e.left=this.rect.left+b.elementRect.left:(e.width+=b.elementRect.left,e.left=this.rect.left),0<(b=e.left+e.width-(this.rect.left+this.winPane.width))&&(e.width-=b));e.left+=this.winTopScroll.x;for(var g in e)e[g]=CKEDITOR.tools.cssLength(e[g]);return e},addLine:function(){var a=CKEDITOR.dom.element.createFromHtml(this.lineTpl);a.appendTo(this.container);return a},prepare:function(a,d){this.relations=a;this.locations=d;this.hash=Math.random()},
 cleanup:function(){var a,d;for(d in this.visible)a=this.visible[d],a.getCustomData("hash")!==this.hash&&this.hideLine(a)},queryViewport:function(){this.winPane=this.win.getViewPaneSize();this.winTopScroll=this.winTop.getScrollPosition();this.winTopPane=this.winTop.getViewPaneSize();this.rect=this.getClientRect(this.inline?this.editable:this.frame)},getClientRect:function(a){a=a.getClientRect();var d=this.container.getDocumentPosition(),b=this.container.getComputedStyle("position");a.relativeX=a.relativeY=
-0;"static"!=b&&(a.relativeY=d.y,a.relativeX=d.x,a.top-=a.relativeY,a.bottom-=a.relativeY,a.left-=a.relativeX,a.right-=a.relativeX);return a}};var r={left:1,right:1,center:1},u={absolute:1,fixed:1};CKEDITOR.plugins.lineutils={finder:m,locator:n,liner:p}})();(function(){function q(b,a,c){a.type||(a.type="auto");if(c&&!1===b.fire("beforePaste",a)||!a.dataValue&&a.dataTransfer.isEmpty())return!1;a.dataValue||(a.dataValue="");if(CKEDITOR.env.gecko&&"drop"==a.method&&b.toolbox)b.once("afterPaste",function(){b.toolbox.focus()});return b.fire("paste",a)}function z(b){function a(){var a=b.editable();if(CKEDITOR.plugins.clipboard.isCustomCopyCutSupported){var c=function(a){b.readOnly&&"cut"==a.name||m.initPasteDataTransfer(a,b);a.data.preventDefault()};a.on("copy",
-c);a.on("cut",c);a.on("cut",function(){b.readOnly||b.extractSelectedHtml()},null,null,999)}a.on(m.mainPasteEvent,function(b){"beforepaste"==m.mainPasteEvent&&p||u(b)});"beforepaste"==m.mainPasteEvent&&(a.on("paste",function(a){v||(f(),a.data.preventDefault(),u(a),d("paste")||b.openDialog("paste"))}),a.on("contextmenu",g,null,null,0),a.on("beforepaste",function(b){!b.data||b.data.$.ctrlKey||b.data.$.shiftKey||g()},null,null,0));a.on("beforecut",function(){!p&&h(b)});var e;a.attachListener(CKEDITOR.env.ie?
-a:b.document.getDocumentElement(),"mouseup",function(){e=setTimeout(function(){r()},0)});b.on("destroy",function(){clearTimeout(e)});a.on("keyup",r)}function c(a){return{type:a,canUndo:"cut"==a,startDisabled:!0,fakeKeystroke:"cut"==a?CKEDITOR.CTRL+88:CKEDITOR.CTRL+67,exec:function(){"cut"==this.type&&h();var a;var c=this.type;if(CKEDITOR.env.ie)a=d(c);else try{a=b.document.$.execCommand(c,!1,null)}catch(g){a=!1}a||b.showNotification(b.lang.clipboard[this.type+"Error"]);return a}}}function e(){return{canUndo:!1,
-async:!0,fakeKeystroke:CKEDITOR.CTRL+86,exec:function(b,a){var c=this,d=function(a,d){a&&q(b,a,!!d);b.fire("afterCommandExec",{name:"paste",command:c,returnValue:!!a})};"string"==typeof a?d({dataValue:a,method:"paste",dataTransfer:m.initPasteDataTransfer()},1):b.getClipboardData(d)}}}function f(){v=1;setTimeout(function(){v=0},100)}function g(){p=1;setTimeout(function(){p=0},10)}function d(a){var c=b.document,d=c.getBody(),g=!1,e=function(){g=!0};d.on(a,e);7<CKEDITOR.env.version?c.$.execCommand(a):
-c.$.selection.createRange().execCommand(a);d.removeListener(a,e);return g}function h(){if(CKEDITOR.env.ie&&!CKEDITOR.env.quirks){var a=b.getSelection(),c,d,g;a.getType()==CKEDITOR.SELECTION_ELEMENT&&(c=a.getSelectedElement())&&(d=a.getRanges()[0],g=b.document.createText(""),g.insertBefore(c),d.setStartBefore(g),d.setEndAfter(c),a.selectRanges([d]),setTimeout(function(){c.getParent()&&(g.remove(),a.selectElement(c))},0))}}function n(a,c){var d=b.document,g=b.editable(),e=function(b){b.cancel()},h;
-if(!d.getById("cke_pastebin")){var k=b.getSelection(),u=k.createBookmarks();CKEDITOR.env.ie&&k.root.fire("selectionchange");var l=new CKEDITOR.dom.element(!CKEDITOR.env.webkit&&!g.is("body")||CKEDITOR.env.ie?"div":"body",d);l.setAttributes({id:"cke_pastebin","data-cke-temp":"1"});var f=0,d=d.getWindow();CKEDITOR.env.webkit?(g.append(l),l.addClass("cke_editable"),g.is("body")||(f="static"!=g.getComputedStyle("position")?g:CKEDITOR.dom.element.get(g.$.offsetParent),f=f.getDocumentPosition().y)):g.getAscendant(CKEDITOR.env.ie?
-"body":"html",1).append(l);l.setStyles({position:"absolute",top:d.getScrollPosition().y-f+10+"px",width:"1px",height:Math.max(1,d.getViewPaneSize().height-20)+"px",overflow:"hidden",margin:0,padding:0});CKEDITOR.env.safari&&l.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","text"));(f=l.getParent().isReadOnly())?(l.setOpacity(0),l.setAttribute("contenteditable",!0)):l.setStyle("ltr"==b.config.contentsLangDirection?"left":"right","-10000px");b.on("selectionChange",e,null,null,0);if(CKEDITOR.env.webkit||
-CKEDITOR.env.gecko)h=g.once("blur",e,null,null,-100);f&&l.focus();f=new CKEDITOR.dom.range(l);f.selectNodeContents(l);var n=f.select();CKEDITOR.env.ie&&(h=g.once("blur",function(){b.lockSelection(n)}));var r=CKEDITOR.document.getWindow().getScrollPosition().y;setTimeout(function(){CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=r);h&&h.removeListener();CKEDITOR.env.ie&&g.focus();k.selectBookmarks(u);l.remove();var a;CKEDITOR.env.webkit&&(a=l.getFirst())&&a.is&&a.hasClass("Apple-style-span")&&
-(l=a);b.removeListener("selectionChange",e);c(l.getHtml())},0)}}function w(){if("paste"==m.mainPasteEvent)return b.fire("beforePaste",{type:"auto",method:"paste"}),!1;b.focus();f();var a=b.focusManager;a.lock();if(b.editable().fire(m.mainPasteEvent)&&!d("paste"))return a.unlock(),!1;a.unlock();return!0}function k(a){if("wysiwyg"==b.mode)switch(a.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:a=b.editable();f();"paste"==m.mainPasteEvent&&a.fire("beforepaste");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+
-46:b.fire("saveSnapshot"),setTimeout(function(){b.fire("saveSnapshot")},50)}}function u(a){var c={type:"auto",method:"paste",dataTransfer:m.initPasteDataTransfer(a)};c.dataTransfer.cacheData();var d=!1!==b.fire("beforePaste",c);d&&m.canClipboardApiBeTrusted(c.dataTransfer,b)?(a.data.preventDefault(),setTimeout(function(){q(b,c)},0)):n(a,function(a){c.dataValue=a.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig,"");d&&q(b,c)})}function r(){if("wysiwyg"==b.mode){var a=t("paste");b.getCommand("cut").setState(t("cut"));
-b.getCommand("copy").setState(t("copy"));b.getCommand("paste").setState(a);b.fire("pasteState",a)}}function t(a){if(x&&a in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==a)return CKEDITOR.TRISTATE_OFF;a=b.getSelection();var c=a.getRanges();return a.getType()==CKEDITOR.SELECTION_NONE||1==c.length&&c[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var m=CKEDITOR.plugins.clipboard,p=0,v=0,x=0;(function(){b.on("key",k);b.on("contentDom",a);b.on("selectionChange",function(b){x=
-b.data.selection.getRanges()[0].checkReadOnly();r()});b.contextMenu&&b.contextMenu.addListener(function(b,a){x=a.getRanges()[0].checkReadOnly();return{cut:t("cut"),copy:t("copy"),paste:t("paste")}})})();(function(){function a(c,d,g,e,h){var k=b.lang.clipboard[d];b.addCommand(d,g);b.ui.addButton&&b.ui.addButton(c,{label:k,command:d,toolbar:"clipboard,"+e});b.addMenuItems&&b.addMenuItem(d,{label:k,command:d,group:"clipboard",order:h})}a("Cut","cut",c("cut"),10,1);a("Copy","copy",c("copy"),20,4);a("Paste",
-"paste",e(),30,8)})();b.getClipboardData=function(a,c){function d(a){a.removeListener();a.cancel();c(a.data)}function g(a){a.removeListener();a.cancel();f=!0;c({type:k,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}function e(){this.customTitle=a&&a.title}var h=!1,k="auto",f=!1;c||(c=a,a=null);b.on("paste",d,null,null,0);b.on("beforePaste",function(a){a.removeListener();h=!0;k=a.data.type},null,null,1E3);!1===w()&&(b.removeListener("paste",d),h&&b.fire("pasteDialog",
-e)?(b.on("pasteDialogCommit",g),b.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",g);setTimeout(function(){f||c(null)},10)})):c(null))}}function A(b){if(CKEDITOR.env.webkit){if(!b.match(/^[^<]*$/g)&&!b.match(/^(<div><br( ?\/)?><\/div>|<div>[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!b.match(/^([^<]|<br( ?\/)?>)*$/gi)&&!b.match(/^(<p>([^<]|<br( ?\/)?>)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!b.match(/^([^<]|<br( ?\/)?>)*$/gi))return"html"}else return"html";
-return"htmlifiedtext"}function B(b,a){function c(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}a=a.replace(/\s+/g," ").replace(/> +</g,"\x3e\x3c").replace(/<br ?\/>/gi,"\x3cbr\x3e");a=a.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(a.match(/^[^<]$/))return a;CKEDITOR.env.webkit&&-1<a.indexOf("\x3cdiv\x3e")&&(a=a.replace(/^(<div>(<br>|)<\/div>)(?!$|(<div>(<br>|)<\/div>))/g,"\x3cbr\x3e").replace(/^(<div>(<br>|)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"),
-a.match(/<div>(<br>|)<\/div>/)&&(a="\x3cp\x3e"+a.replace(/(<div>(<br>|)<\/div>)+/g,function(a){return c(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),a=a.replace(/<\/div><div>/g,"\x3cbr\x3e"),a=a.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&b.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(a=a.replace(/^<br><br>$/,"\x3cbr\x3e")),-1<a.indexOf("\x3cbr\x3e\x3cbr\x3e")&&(a="\x3cp\x3e"+a.replace(/(<br>){2,}/g,function(a){return c(a.length/4)})+"\x3c/p\x3e"));return C(b,a)}function D(){function b(){var a=
-{},b;for(b in CKEDITOR.dtd)"$"!=b.charAt(0)&&"div"!=b&&"span"!=b&&(a[b]=1);return a}var a={};return{get:function(c){return"plain-text"==c?a.plainText||(a.plainText=new CKEDITOR.filter("br")):"semantic-content"==c?((c=a.semanticContent)||(c=new CKEDITOR.filter,c.allow({$1:{elements:b(),attributes:!0,styles:!1,classes:!1}}),c=a.semanticContent=c),c):c?new CKEDITOR.filter(c):null}}}function y(b,a,c){a=CKEDITOR.htmlParser.fragment.fromHtml(a);var e=new CKEDITOR.htmlParser.basicWriter;c.applyTo(a,!0,!1,
-b.activeEnterMode);a.writeHtml(e);return e.getHtml()}function C(b,a){b.enterMode==CKEDITOR.ENTER_BR?a=a.replace(/(<\/p><p>)+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e",a.length/7*2)}).replace(/<\/?p>/g,""):b.enterMode==CKEDITOR.ENTER_DIV&&(a=a.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return a}function E(b){b.data.preventDefault();b.data.$.dataTransfer.dropEffect="none"}function F(b){var a=CKEDITOR.plugins.clipboard;b.on("contentDom",function(){function c(a,c,d){c.select();q(b,{dataTransfer:d,
-method:"drop"},1);d.sourceEditor.fire("saveSnapshot");d.sourceEditor.editable().extractHtmlFromRange(a);d.sourceEditor.getSelection().selectRanges([a]);d.sourceEditor.fire("saveSnapshot")}function e(d,c){d.select();q(b,{dataTransfer:c,method:"drop"},1);a.resetDragDataTransfer()}function f(a,d,c){var g={$:a.data.$,target:a.data.getTarget()};d&&(g.dragRange=d);c&&(g.dropRange=c);!1===b.fire(a.name,g)&&a.data.preventDefault()}function g(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()}
-var d=b.editable(),h=CKEDITOR.plugins.clipboard.getDropTarget(b),n=b.ui.space("top"),w=b.ui.space("bottom");a.preventDefaultDropOnElement(n);a.preventDefaultDropOnElement(w);d.attachListener(h,"dragstart",f);d.attachListener(b,"dragstart",a.resetDragDataTransfer,a,null,1);d.attachListener(b,"dragstart",function(d){a.initDragDataTransfer(d,b)},null,null,2);d.attachListener(b,"dragstart",function(){var d=a.dragRange=b.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(a.dragStartContainerChildCount=
-d?g(d.startContainer):null,a.dragEndContainerChildCount=d?g(d.endContainer):null)},null,null,100);d.attachListener(h,"dragend",f);d.attachListener(b,"dragend",a.initDragDataTransfer,a,null,1);d.attachListener(b,"dragend",a.resetDragDataTransfer,a,null,100);d.attachListener(h,"dragover",function(a){var b=a.data.getTarget();b&&b.is&&b.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&&a.data.preventDefault()});
-d.attachListener(h,"drop",function(d){if(!d.data.$.defaultPrevented){d.data.preventDefault();var c=d.data.getTarget();if(!c.isReadOnly()||c.type==CKEDITOR.NODE_ELEMENT&&c.is("html")){var c=a.getRangeAtDropPosition(d,b),g=a.dragRange;c&&f(d,g,c)}}},null,null,9999);d.attachListener(b,"drop",a.initDragDataTransfer,a,null,1);d.attachListener(b,"drop",function(d){if(d=d.data){var g=d.dropRange,h=d.dragRange,f=d.dataTransfer;f.getTransferType(b)==CKEDITOR.DATA_TRANSFER_INTERNAL?setTimeout(function(){a.internalDrop(h,
-g,f,b)},0):f.getTransferType(b)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c(h,g,f):e(g,f)}},null,null,9999)})}CKEDITOR.plugins.add("clipboard",{requires:"dialog",init:function(b){var a,c=D();b.config.forcePasteAsPlainText?a="plain-text":b.config.pasteFilter?a=b.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in b.config||(a="semantic-content");b.pasteFilter=c.get(a);z(b);F(b);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js"));if(CKEDITOR.env.gecko){var e=["image/png","image/jpeg",
-"image/gif"],f;b.on("paste",function(a){var d=a.data,c=d.dataTransfer;if(!d.dataValue&&"paste"==d.method&&c&&1==c.getFilesCount()&&f!=c.id&&(c=c.getFile(0),-1!=CKEDITOR.tools.indexOf(e,c.type))){var n=new FileReader;n.addEventListener("load",function(){a.data.dataValue='\x3cimg src\x3d"'+n.result+'" /\x3e';b.fire("paste",a.data)},!1);n.addEventListener("abort",function(){b.fire("paste",a.data)},!1);n.addEventListener("error",function(){b.fire("paste",a.data)},!1);n.readAsDataURL(c);f=d.dataTransfer.id;
-a.stop()}},null,null,1)}b.on("paste",function(a){a.data.dataTransfer||(a.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!a.data.dataValue){var d=a.data.dataTransfer,c=d.getData("text/html");if(c)a.data.dataValue=c,a.data.type="html";else if(c=d.getData("text/plain"))a.data.dataValue=b.editable().transformPlainTextToHtml(c),a.data.type="text"}},null,null,1);b.on("paste",function(a){var b=a.data.dataValue,c=CKEDITOR.dtd.$block;-1<b.indexOf("Apple-")&&(b=b.replace(/<span class="Apple-converted-space">&nbsp;<\/span>/gi,
-" "),"html"!=a.data.type&&(b=b.replace(/<span class="Apple-tab-span"[^>]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1<b.indexOf('\x3cbr class\x3d"Apple-interchange-newline"\x3e')&&(a.data.startsWithEOL=1,a.data.preSniffing="html",b=b.replace(/<br class="Apple-interchange-newline">/,"")),b=b.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var e,f,k=new CKEDITOR.dom.element("div");for(k.setHtml(b);1==k.getChildCount()&&
-(e=k.getFirst())&&e.type==CKEDITOR.NODE_ELEMENT&&(e.hasClass("cke_editable")||e.hasClass("cke_contents"));)k=f=e;f&&(b=f.getHtml().replace(/<br>$/i,""))}CKEDITOR.env.ie?b=b.replace(/^&nbsp;(?: |\r\n)?<(\w+)/g,function(b,d){return d.toLowerCase()in c?(a.data.preSniffing="html","\x3c"+d):b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)><div><br><\/div>$/,function(b,d){return d in c?(a.data.endsWithEOL=1,"\x3c/"+d+"\x3e"):b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)<br>$/,"$1"));a.data.dataValue=b},null,
-null,3);b.on("paste",function(a){a=a.data;var d=a.type,e=a.dataValue,f,p=b.config.clipboard_defaultContentType||"html",k=a.dataTransfer.getTransferType(b);f="html"==d||"html"==a.preSniffing?"html":A(e);"htmlifiedtext"==f&&(e=B(b.config,e));"text"==d&&"html"==f?e=y(b,e,c.get("plain-text")):k==CKEDITOR.DATA_TRANSFER_EXTERNAL&&b.pasteFilter&&!a.dontFilter&&(e=y(b,e,b.pasteFilter));a.startsWithEOL&&(e='\x3cbr data-cke-eol\x3d"1"\x3e'+e);a.endsWithEOL&&(e+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==d&&
-(d="html"==f||"html"==p?"html":"text");a.type=d;a.dataValue=e;delete a.preSniffing;delete a.startsWithEOL;delete a.endsWithEOL},null,null,6);b.on("paste",function(a){a=a.data;a.dataValue&&(b.insertHtml(a.dataValue,a.type,a.range),setTimeout(function(){b.fire("afterPaste")},0))},null,null,1E3);b.on("pasteDialog",function(a){setTimeout(function(){b.openDialog("paste",a.data)},0)})}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:!CKEDITOR.env.ie&&!CKEDITOR.env.iOS,isCustomDataTypesSupported:!CKEDITOR.env.ie,
-isFileApiSupported:!CKEDITOR.env.ie||9<CKEDITOR.env.version,mainPasteEvent:CKEDITOR.env.ie&&!CKEDITOR.env.edge?"beforepaste":"paste",canClipboardApiBeTrusted:function(b,a){return b.getTransferType(a)!=CKEDITOR.DATA_TRANSFER_EXTERNAL||CKEDITOR.env.chrome&&!b.isEmpty()||CKEDITOR.env.gecko&&(b.getData("text/html")||b.getFilesCount())?!0:!1},getDropTarget:function(b){var a=b.editable();return CKEDITOR.env.ie&&9>CKEDITOR.env.version||a.isInline()?a:b.document},fixSplitNodesAfterDrop:function(b,a,c,e){function f(b,
-c,e){var f=b;f.type==CKEDITOR.NODE_TEXT&&(f=b.getParent());if(f.equals(c)&&e!=c.getChildCount())return b=a.startContainer.getChild(a.startOffset-1),c=a.startContainer.getChild(a.startOffset),b&&b.type==CKEDITOR.NODE_TEXT&&c&&c.type==CKEDITOR.NODE_TEXT&&(e=b.getLength(),b.setText(b.getText()+c.getText()),c.remove(),a.setStart(b,e),a.collapse(!0)),!0}var g=a.startContainer;"number"==typeof e&&"number"==typeof c&&g.type==CKEDITOR.NODE_ELEMENT&&(f(b.startContainer,g,c)||f(b.endContainer,g,e))},isDropRangeAffectedByDragRange:function(b,
-a){var c=a.startContainer,e=a.endOffset;return b.endContainer.equals(c)&&b.endOffset<=e||b.startContainer.getParent().equals(c)&&b.startContainer.getIndex()<e||b.endContainer.getParent().equals(c)&&b.endContainer.getIndex()<e?!0:!1},internalDrop:function(b,a,c,e){var f=CKEDITOR.plugins.clipboard,g=e.editable(),d,h;e.fire("saveSnapshot");e.fire("lockSnapshot",{dontUpdate:1});CKEDITOR.env.ie&&10>CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(b,a,f.dragStartContainerChildCount,f.dragEndContainerChildCount);
-(h=this.isDropRangeAffectedByDragRange(b,a))||(d=b.createBookmark(!1));f=a.clone().createBookmark(!1);h&&(d=b.createBookmark(!1));b=d.startNode;a=d.endNode;h=f.startNode;a&&b.getPosition(h)&CKEDITOR.POSITION_PRECEDING&&a.getPosition(h)&CKEDITOR.POSITION_FOLLOWING&&h.insertBefore(b);b=e.createRange();b.moveToBookmark(d);g.extractHtmlFromRange(b,1);a=e.createRange();a.moveToBookmark(f);q(e,{dataTransfer:c,method:"drop",range:a},1);e.fire("unlockSnapshot")},getRangeAtDropPosition:function(b,a){var c=
-b.data.$,e=c.clientX,f=c.clientY,g=a.getSelection(!0).getRanges()[0],d=a.createRange();if(b.data.testRange)return b.data.testRange;if(document.caretRangeFromPoint)c=a.document.$.caretRangeFromPoint(e,f),d.setStart(CKEDITOR.dom.node(c.startContainer),c.startOffset),d.collapse(!0);else if(c.rangeParent)d.setStart(CKEDITOR.dom.node(c.rangeParent),c.rangeOffset),d.collapse(!0);else{if(CKEDITOR.env.ie&&8<CKEDITOR.env.version&&g&&a.editable().hasFocus)return g;if(document.body.createTextRange){a.focus();
-c=a.document.getBody().$.createTextRange();try{for(var h=!1,n=0;20>n&&!h;n++){if(!h)try{c.moveToPoint(e,f-n),h=!0}catch(p){}if(!h)try{c.moveToPoint(e,f+n),h=!0}catch(k){}}if(h){var u="cke-temp-"+(new Date).getTime();c.pasteHTML('\x3cspan id\x3d"'+u+'"\x3e​\x3c/span\x3e');var r=a.document.getById(u);d.moveToPosition(r,CKEDITOR.POSITION_BEFORE_START);r.remove()}else{var t=a.document.$.elementFromPoint(e,f),m=new CKEDITOR.dom.element(t),q;if(m.equals(a.editable())||"html"==m.getName())return g&&g.startContainer&&
-!g.startContainer.equals(a.editable())?g:null;q=m.getClientRect();e<q.left?d.setStartAt(m,CKEDITOR.POSITION_AFTER_START):d.setStartAt(m,CKEDITOR.POSITION_BEFORE_END);d.collapse(!0)}}catch(v){return null}}else return null}return d},initDragDataTransfer:function(b,a){var c=b.data.$?b.data.$.dataTransfer:null,e=new this.dataTransfer(c,a);c?this.dragData&&e.id==this.dragData.id?e=this.dragData:this.dragData=e:this.dragData?e=this.dragData:this.dragData=e;b.data.dataTransfer=e},resetDragDataTransfer:function(){this.dragData=
-null},initPasteDataTransfer:function(b,a){if(this.isCustomCopyCutSupported){if(b&&b.data&&b.data.$){var c=new this.dataTransfer(b.data.$.clipboardData,a);this.copyCutData&&c.id==this.copyCutData.id?(c=this.copyCutData,c.$=b.data.$.clipboardData):this.copyCutData=c;return c}return new this.dataTransfer(null,a)}return new this.dataTransfer(CKEDITOR.env.edge&&b&&b.data.$&&b.data.$.clipboardData||null,a)},preventDefaultDropOnElement:function(b){b&&b.on("dragover",E)}};var p=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported?
-"cke/id":"Text";CKEDITOR.plugins.clipboard.dataTransfer=function(b,a){b&&(this.$=b);this._={metaRegExp:/^<meta.*?>/i,bodyRegExp:/<body(?:[\s\S]*?)>([\s\S]*)<\/body>/i,fragmentRegExp:/\x3c!--(?:Start|End)Fragment--\x3e/g,data:{},files:[],normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":a}};this.id=this.getData(p);this.id||(this.id="Text"==p?"":"cke-"+CKEDITOR.tools.getUniqueId());if("Text"!=p)try{this.$.setData(p,this.id)}catch(c){}a&&(this.sourceEditor=
-a,this.setData("text/html",a.getSelectedHtml(1)),"Text"==p||this.getData("text/plain")||this.setData("text/plain",a.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(b){b=this._.normalizeType(b);var a=this._.data[b];if(void 0===a||null===a||""===a)try{a=this.$.getData(b)}catch(c){}if(void 0===a||null===a||""===a)a="";"text/html"==b?(a=a.replace(this._.metaRegExp,
-""),(b=this._.bodyRegExp.exec(a))&&b.length&&(a=b[1],a=a.replace(this._.fragmentRegExp,""))):"Text"==b&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==a.substring(0,7)&&(a="");return a},setData:function(b,a){b=this._.normalizeType(b);this._.data[b]=a;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==b||"Text"==b){"Text"==p&&"Text"==b&&(this.id=a);try{this.$.setData(b,a)}catch(c){}}},getTransferType:function(b){return this.sourceEditor?this.sourceEditor==b?CKEDITOR.DATA_TRANSFER_INTERNAL:
-CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function b(b){b=a._.normalizeType(b);var c=a.getData(b);c&&(a._.data[b]=c)}if(this.$){var a=this,c,e;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(c=0;c<this.$.types.length;c++)b(this.$.types[c])}else b("Text"),b("URL");e=this._getImageFromClipboard();if(this.$&&this.$.files||e){this._.files=[];if(this.$.files&&this.$.files.length)for(c=0;c<this.$.files.length;c++)this._.files.push(this.$.files[c]);
-0===this._.files.length&&e&&this._.files.push(e)}}},getFilesCount:function(){return this._.files.length?this._.files.length:this.$&&this.$.files&&this.$.files.length?this.$.files.length:this._getImageFromClipboard()?1:0},getFile:function(b){return this._.files.length?this._.files[b]:this.$&&this.$.files&&this.$.files.length?this.$.files[b]:0===b?this._getImageFromClipboard():void 0},isEmpty:function(){var b={},a;if(this.getFilesCount())return!1;for(a in this._.data)b[a]=1;if(this.$)if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(var c=
-0;c<this.$.types.length;c++)b[this.$.types[c]]=1}else b.Text=1,b.URL=1;"Text"!=p&&(b[p]=0);for(a in b)if(b[a]&&""!==this.getData(a))return!1;return!0},_getImageFromClipboard:function(){var b;if(this.$&&this.$.items&&this.$.items[0])try{if((b=this.$.items[0].getAsFile())&&b.type)return b}catch(a){}}}})();(function(){function f(a){return a.getName&&!a.hasAttribute("data-cke-temp")}CKEDITOR.plugins.add("widgetselection",{init:function(a){if(CKEDITOR.env.webkit){var b=CKEDITOR.plugins.widgetselection;a.on("contentDom",function(a){a=a.editor;var d=a.document,e=a.editable();e.attachListener(d,"keydown",function(a){var c=a.data.$;65==a.data.getKey()&&(CKEDITOR.env.mac&&c.metaKey||!CKEDITOR.env.mac&&c.ctrlKey)&&CKEDITOR.tools.setTimeout(function(){b.addFillers(e)||b.removeFillers(e)},0)},null,null,-1);a.on("selectionCheck",
+0;"static"!=b&&(a.relativeY=d.y,a.relativeX=d.x,a.top-=a.relativeY,a.bottom-=a.relativeY,a.left-=a.relativeX,a.right-=a.relativeX);return a}};var r={left:1,right:1,center:1},u={absolute:1,fixed:1};CKEDITOR.plugins.lineutils={finder:m,locator:n,liner:p}})();CKEDITOR.plugins.add("notification",{init:function(b){function a(b){var a=new CKEDITOR.dom.element("div");a.setStyles({position:"fixed","margin-left":"-9999px"});a.setAttributes({"aria-live":"assertive","aria-atomic":"true"});a.setText(b);CKEDITOR.document.getBody().append(a);setTimeout(function(){a.remove()},100)}b._.notificationArea=new Area(b);b.showNotification=function(a,d,e){var f,l;"progress"==d?f=e:l=e;a=new CKEDITOR.plugins.notification(b,{message:a,type:d,progress:f,duration:l});a.show();
+return a};b.on("key",function(c){if(27==c.data.keyCode){var d=b._.notificationArea.notifications;d.length&&(a(b.lang.notification.closed),d[d.length-1].hide(),c.cancel())}})}});function Notification(b,a){CKEDITOR.tools.extend(this,a,{editor:b,id:"cke-"+CKEDITOR.tools.getUniqueId(),area:b._.notificationArea});a.type||(this.type="info");this.element=this._createElement();b.plugins.clipboard&&CKEDITOR.plugins.clipboard.preventDefaultDropOnElement(this.element)}
+Notification.prototype={show:function(){!1!==this.editor.fire("notificationShow",{notification:this})&&(this.area.add(this),this._hideAfterTimeout())},update:function(b){var a=!0;!1===this.editor.fire("notificationUpdate",{notification:this,options:b})&&(a=!1);var c=this.element,d=c.findOne(".cke_notification_message"),e=c.findOne(".cke_notification_progress"),f=b.type;c.removeAttribute("role");b.progress&&"progress"!=this.type&&(f="progress");f&&(c.removeClass(this._getClass()),c.removeAttribute("aria-label"),
+this.type=f,c.addClass(this._getClass()),c.setAttribute("aria-label",this.type),"progress"!=this.type||e?"progress"!=this.type&&e&&e.remove():(e=this._createProgressElement(),e.insertBefore(d)));void 0!==b.message&&(this.message=b.message,d.setHtml(this.message));void 0!==b.progress&&(this.progress=b.progress,e&&e.setStyle("width",this._getPercentageProgress()));a&&b.important&&(c.setAttribute("role","alert"),this.isVisible()||this.area.add(this));this.duration=b.duration;this._hideAfterTimeout()},
+hide:function(){!1!==this.editor.fire("notificationHide",{notification:this})&&this.area.remove(this)},isVisible:function(){return 0<=CKEDITOR.tools.indexOf(this.area.notifications,this)},_createElement:function(){var b=this,a,c,d=this.editor.lang.common.close;a=new CKEDITOR.dom.element("div");a.addClass("cke_notification");a.addClass(this._getClass());a.setAttributes({id:this.id,role:"alert","aria-label":this.type});"progress"==this.type&&a.append(this._createProgressElement());c=new CKEDITOR.dom.element("p");
+c.addClass("cke_notification_message");c.setHtml(this.message);a.append(c);c=CKEDITOR.dom.element.createFromHtml('\x3ca class\x3d"cke_notification_close" href\x3d"javascript:void(0)" title\x3d"'+d+'" role\x3d"button" tabindex\x3d"-1"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e');a.append(c);c.on("click",function(){b.editor.focus();b.hide()});return a},_getClass:function(){return"progress"==this.type?"cke_notification_info":"cke_notification_"+this.type},_createProgressElement:function(){var b=
+new CKEDITOR.dom.element("span");b.addClass("cke_notification_progress");b.setStyle("width",this._getPercentageProgress());return b},_getPercentageProgress:function(){return Math.round(100*(this.progress||0))+"%"},_hideAfterTimeout:function(){var b=this,a;this._hideTimeoutId&&clearTimeout(this._hideTimeoutId);if("number"==typeof this.duration)a=this.duration;else if("info"==this.type||"success"==this.type)a="number"==typeof this.editor.config.notification_duration?this.editor.config.notification_duration:
+5E3;a&&(b._hideTimeoutId=setTimeout(function(){b.hide()},a))}};function Area(b){var a=this;this.editor=b;this.notifications=[];this.element=this._createElement();this._uiBuffer=CKEDITOR.tools.eventsBuffer(10,this._layout,this);this._changeBuffer=CKEDITOR.tools.eventsBuffer(500,this._layout,this);b.on("destroy",function(){a._removeListeners();a.element.remove()})}
+Area.prototype={add:function(b){this.notifications.push(b);this.element.append(b.element);1==this.element.getChildCount()&&(CKEDITOR.document.getBody().append(this.element),this._attachListeners());this._layout()},remove:function(b){var a=CKEDITOR.tools.indexOf(this.notifications,b);0>a||(this.notifications.splice(a,1),b.element.remove(),this.element.getChildCount()||(this._removeListeners(),this.element.remove()))},_createElement:function(){var b=this.editor,a=b.config,c=new CKEDITOR.dom.element("div");
+c.addClass("cke_notifications_area");c.setAttribute("id","cke_notifications_area_"+b.name);c.setStyle("z-index",a.baseFloatZIndex-2);return c},_attachListeners:function(){var b=CKEDITOR.document.getWindow(),a=this.editor;b.on("scroll",this._uiBuffer.input);b.on("resize",this._uiBuffer.input);a.on("change",this._changeBuffer.input);a.on("floatingSpaceLayout",this._layout,this,null,20);a.on("blur",this._layout,this,null,20)},_removeListeners:function(){var b=CKEDITOR.document.getWindow(),a=this.editor;
+b.removeListener("scroll",this._uiBuffer.input);b.removeListener("resize",this._uiBuffer.input);a.removeListener("change",this._changeBuffer.input);a.removeListener("floatingSpaceLayout",this._layout);a.removeListener("blur",this._layout)},_layout:function(){function b(){a.setStyle("left",k(n+d.width-g-h))}var a=this.element,c=this.editor,d=c.ui.contentsElement.getClientRect(),e=c.ui.contentsElement.getDocumentPosition(),f,l,r=a.getClientRect(),m,g=this._notificationWidth,h=this._notificationMargin;
+m=CKEDITOR.document.getWindow();var p=m.getScrollPosition(),q=m.getViewPaneSize(),t=CKEDITOR.document.getBody(),u=t.getDocumentPosition(),k=CKEDITOR.tools.cssLength;g&&h||(m=this.element.getChild(0),g=this._notificationWidth=m.getClientRect().width,h=this._notificationMargin=parseInt(m.getComputedStyle("margin-left"),10)+parseInt(m.getComputedStyle("margin-right"),10));c.toolbar&&(f=c.ui.space("top"),l=f.getClientRect());f&&f.isVisible()&&l.bottom>d.top&&l.bottom<d.bottom-r.height?a.setStyles({position:"fixed",
+top:k(l.bottom)}):0<d.top?a.setStyles({position:"absolute",top:k(e.y)}):e.y+d.height-r.height>p.y?a.setStyles({position:"fixed",top:0}):a.setStyles({position:"absolute",top:k(e.y+d.height-r.height)});var n="fixed"==a.getStyle("position")?d.left:"static"!=t.getComputedStyle("position")?e.x-u.x:e.x;d.width<g+h?e.x+g+h>p.x+q.width?b():a.setStyle("left",k(n)):e.x+g+h>p.x+q.width?a.setStyle("left",k(n)):e.x+d.width/2+g/2+h>p.x+q.width?a.setStyle("left",k(n-e.x+p.x+q.width-g-h)):0>d.left+d.width-g-h?b():
+0>d.left+d.width/2-g/2?a.setStyle("left",k(n-e.x+p.x)):a.setStyle("left",k(n+d.width/2-g/2-h/2))}};CKEDITOR.plugins.notification=Notification;(function(){function q(b,a,c){a.type||(a.type="auto");if(c&&!1===b.fire("beforePaste",a)||!a.dataValue&&a.dataTransfer.isEmpty())return!1;a.dataValue||(a.dataValue="");if(CKEDITOR.env.gecko&&"drop"==a.method&&b.toolbox)b.once("afterPaste",function(){b.toolbox.focus()});return b.fire("paste",a)}function y(b){function a(){var a=b.editable();if(CKEDITOR.plugins.clipboard.isCustomCopyCutSupported){var c=function(a){b.readOnly&&"cut"==a.name||m.initPasteDataTransfer(a,b);a.data.preventDefault()};a.on("copy",
+c);a.on("cut",c);a.on("cut",function(){b.readOnly||b.extractSelectedHtml()},null,null,999)}a.on(m.mainPasteEvent,function(b){"beforepaste"==m.mainPasteEvent&&n||t(b)});"beforepaste"==m.mainPasteEvent&&(a.on("paste",function(b){u||(f(),b.data.preventDefault(),t(b),e("paste"))}),a.on("contextmenu",g,null,null,0),a.on("beforepaste",function(b){!b.data||b.data.$.ctrlKey||b.data.$.shiftKey||g()},null,null,0));a.on("beforecut",function(){!n&&h(b)});var d;a.attachListener(CKEDITOR.env.ie?a:b.document.getDocumentElement(),
+"mouseup",function(){d=setTimeout(function(){r()},0)});b.on("destroy",function(){clearTimeout(d)});a.on("keyup",r)}function c(a){return{type:a,canUndo:"cut"==a,startDisabled:!0,fakeKeystroke:"cut"==a?CKEDITOR.CTRL+88:CKEDITOR.CTRL+67,exec:function(){"cut"==this.type&&h();var a;var c=this.type;if(CKEDITOR.env.ie)a=e(c);else try{a=b.document.$.execCommand(c,!1,null)}catch(d){a=!1}a||b.showNotification(b.lang.clipboard[this.type+"Error"]);return a}}}function d(){return{canUndo:!1,async:!0,fakeKeystroke:CKEDITOR.CTRL+
+86,exec:function(b,a){function c(a,g){g="undefined"!==typeof g?g:!0;a?(a.method="paste",a.dataTransfer||(a.dataTransfer=m.initPasteDataTransfer()),q(b,a,g)):d&&b.showNotification(l,"info",b.config.clipboard_notificationDuration);b.fire("afterCommandExec",{name:"paste",command:e,returnValue:!!a})}a="undefined"!==typeof a&&null!==a?a:{};var e=this,d="undefined"!==typeof a.notification?a.notification:!0,g=a.type,h=CKEDITOR.tools.keystrokeToString(b.lang.common.keyboard,b.getCommandKeystroke(this)),l=
+"string"===typeof d?d:b.lang.clipboard.pasteNotification.replace(/%1/,'\x3ckbd aria-label\x3d"'+h.aria+'"\x3e'+h.display+"\x3c/kbd\x3e"),h="string"===typeof a?a:a.dataValue;g?b._.nextPasteType=g:delete b._.nextPasteType;"string"===typeof h?c({dataValue:h}):b.getClipboardData(c)}}}function f(){u=1;setTimeout(function(){u=0},100)}function g(){n=1;setTimeout(function(){n=0},10)}function e(a){var c=b.document,d=c.getBody(),e=!1,g=function(){e=!0};d.on(a,g);7<CKEDITOR.env.version?c.$.execCommand(a):c.$.selection.createRange().execCommand(a);
+d.removeListener(a,g);return e}function h(){if(CKEDITOR.env.ie&&!CKEDITOR.env.quirks){var a=b.getSelection(),c,d,e;a.getType()==CKEDITOR.SELECTION_ELEMENT&&(c=a.getSelectedElement())&&(d=a.getRanges()[0],e=b.document.createText(""),e.insertBefore(c),d.setStartBefore(e),d.setEndAfter(c),a.selectRanges([d]),setTimeout(function(){c.getParent()&&(e.remove(),a.selectElement(c))},0))}}function k(a,c){var d=b.document,e=b.editable(),g=function(b){b.cancel()},h;if(!d.getById("cke_pastebin")){var l=b.getSelection(),
+t=l.createBookmarks();CKEDITOR.env.ie&&l.root.fire("selectionchange");var f=new CKEDITOR.dom.element(!CKEDITOR.env.webkit&&!e.is("body")||CKEDITOR.env.ie?"div":"body",d);f.setAttributes({id:"cke_pastebin","data-cke-temp":"1"});var k=0,d=d.getWindow();CKEDITOR.env.webkit?(e.append(f),f.addClass("cke_editable"),e.is("body")||(k="static"!=e.getComputedStyle("position")?e:CKEDITOR.dom.element.get(e.$.offsetParent),k=k.getDocumentPosition().y)):e.getAscendant(CKEDITOR.env.ie?"body":"html",1).append(f);
+f.setStyles({position:"absolute",top:d.getScrollPosition().y-k+10+"px",width:"1px",height:Math.max(1,d.getViewPaneSize().height-20)+"px",overflow:"hidden",margin:0,padding:0});CKEDITOR.env.safari&&f.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","text"));(k=f.getParent().isReadOnly())?(f.setOpacity(0),f.setAttribute("contenteditable",!0)):f.setStyle("ltr"==b.config.contentsLangDirection?"left":"right","-10000px");b.on("selectionChange",g,null,null,0);if(CKEDITOR.env.webkit||CKEDITOR.env.gecko)h=
+e.once("blur",g,null,null,-100);k&&f.focus();k=new CKEDITOR.dom.range(f);k.selectNodeContents(f);var r=k.select();CKEDITOR.env.ie&&(h=e.once("blur",function(){b.lockSelection(r)}));var p=CKEDITOR.document.getWindow().getScrollPosition().y;setTimeout(function(){CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=p);h&&h.removeListener();CKEDITOR.env.ie&&e.focus();l.selectBookmarks(t);f.remove();var a;CKEDITOR.env.webkit&&(a=f.getFirst())&&a.is&&a.hasClass("Apple-style-span")&&(f=a);b.removeListener("selectionChange",
+g);c(f.getHtml())},0)}}function v(){if("paste"==m.mainPasteEvent)return b.fire("beforePaste",{type:"auto",method:"paste"}),!1;b.focus();f();var a=b.focusManager;a.lock();if(b.editable().fire(m.mainPasteEvent)&&!e("paste"))return a.unlock(),!1;a.unlock();return!0}function l(a){if("wysiwyg"==b.mode)switch(a.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:a=b.editable();f();"paste"==m.mainPasteEvent&&a.fire("beforepaste");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+46:b.fire("saveSnapshot"),
+setTimeout(function(){b.fire("saveSnapshot")},50)}}function t(a){var c={type:"auto",method:"paste",dataTransfer:m.initPasteDataTransfer(a)};c.dataTransfer.cacheData();var e=!1!==b.fire("beforePaste",c);e&&m.canClipboardApiBeTrusted(c.dataTransfer,b)?(a.data.preventDefault(),setTimeout(function(){q(b,c)},0)):k(a,function(a){c.dataValue=a.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig,"");e&&q(b,c)})}function r(){if("wysiwyg"==b.mode){var a=p("paste");b.getCommand("cut").setState(p("cut"));b.getCommand("copy").setState(p("copy"));
+b.getCommand("paste").setState(a);b.fire("pasteState",a)}}function p(a){if(w&&a in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==a)return CKEDITOR.TRISTATE_OFF;a=b.getSelection();var c=a.getRanges();return a.getType()==CKEDITOR.SELECTION_NONE||1==c.length&&c[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var m=CKEDITOR.plugins.clipboard,n=0,u=0,w=0;(function(){b.on("key",l);b.on("contentDom",a);b.on("selectionChange",function(b){w=b.data.selection.getRanges()[0].checkReadOnly();
+r()});b.contextMenu&&b.contextMenu.addListener(function(b,a){w=a.getRanges()[0].checkReadOnly();return{cut:p("cut"),copy:p("copy"),paste:p("paste")}})})();(function(){function a(c,e,d,g,h){var l=b.lang.clipboard[e];b.addCommand(e,d);b.ui.addButton&&b.ui.addButton(c,{label:l,command:e,toolbar:"clipboard,"+g});b.addMenuItems&&b.addMenuItem(e,{label:l,command:e,group:"clipboard",order:h})}a("Cut","cut",c("cut"),10,1);a("Copy","copy",c("copy"),20,4);a("Paste","paste",d(),30,8)})();b.getClipboardData=
+function(a,c){function e(b){b.removeListener();b.cancel();c(b.data)}c||(c=a,a=null);b.on("paste",e,null,null,0);!1===v()&&(b.removeListener("paste",e),c(null))}}function z(b){if(CKEDITOR.env.webkit){if(!b.match(/^[^<]*$/g)&&!b.match(/^(<div><br( ?\/)?><\/div>|<div>[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!b.match(/^([^<]|<br( ?\/)?>)*$/gi)&&!b.match(/^(<p>([^<]|<br( ?\/)?>)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!b.match(/^([^<]|<br( ?\/)?>)*$/gi))return"html"}else return"html";
+return"htmlifiedtext"}function A(b,a){function c(b){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(b/2))+(1==b%2?"\x3cbr\x3e":"")}a=a.replace(/\s+/g," ").replace(/> +</g,"\x3e\x3c").replace(/<br ?\/>/gi,"\x3cbr\x3e");a=a.replace(/<\/?[A-Z]+>/g,function(b){return b.toLowerCase()});if(a.match(/^[^<]$/))return a;CKEDITOR.env.webkit&&-1<a.indexOf("\x3cdiv\x3e")&&(a=a.replace(/^(<div>(<br>|)<\/div>)(?!$|(<div>(<br>|)<\/div>))/g,"\x3cbr\x3e").replace(/^(<div>(<br>|)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"),
+a.match(/<div>(<br>|)<\/div>/)&&(a="\x3cp\x3e"+a.replace(/(<div>(<br>|)<\/div>)+/g,function(b){return c(b.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),a=a.replace(/<\/div><div>/g,"\x3cbr\x3e"),a=a.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&b.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(a=a.replace(/^<br><br>$/,"\x3cbr\x3e")),-1<a.indexOf("\x3cbr\x3e\x3cbr\x3e")&&(a="\x3cp\x3e"+a.replace(/(<br>){2,}/g,function(b){return c(b.length/4)})+"\x3c/p\x3e"));return B(b,a)}function C(){function b(){var b=
+{},a;for(a in CKEDITOR.dtd)"$"!=a.charAt(0)&&"div"!=a&&"span"!=a&&(b[a]=1);return b}var a={};return{get:function(c){return"plain-text"==c?a.plainText||(a.plainText=new CKEDITOR.filter("br")):"semantic-content"==c?((c=a.semanticContent)||(c=new CKEDITOR.filter,c.allow({$1:{elements:b(),attributes:!0,styles:!1,classes:!1}}),c=a.semanticContent=c),c):c?new CKEDITOR.filter(c):null}}}function x(b,a,c){a=CKEDITOR.htmlParser.fragment.fromHtml(a);var d=new CKEDITOR.htmlParser.basicWriter;c.applyTo(a,!0,!1,
+b.activeEnterMode);a.writeHtml(d);return d.getHtml()}function B(b,a){b.enterMode==CKEDITOR.ENTER_BR?a=a.replace(/(<\/p><p>)+/g,function(b){return CKEDITOR.tools.repeat("\x3cbr\x3e",b.length/7*2)}).replace(/<\/?p>/g,""):b.enterMode==CKEDITOR.ENTER_DIV&&(a=a.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return a}function D(b){b.data.preventDefault();b.data.$.dataTransfer.dropEffect="none"}function E(b){var a=CKEDITOR.plugins.clipboard;b.on("contentDom",function(){function c(a,c,e){c.select();q(b,{dataTransfer:e,
+method:"drop"},1);e.sourceEditor.fire("saveSnapshot");e.sourceEditor.editable().extractHtmlFromRange(a);e.sourceEditor.getSelection().selectRanges([a]);e.sourceEditor.fire("saveSnapshot")}function d(c,e){c.select();q(b,{dataTransfer:e,method:"drop"},1);a.resetDragDataTransfer()}function f(a,c,e){var g={$:a.data.$,target:a.data.getTarget()};c&&(g.dragRange=c);e&&(g.dropRange=e);!1===b.fire(a.name,g)&&a.data.preventDefault()}function g(b){b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());return b.getChildCount()}
+var e=b.editable(),h=CKEDITOR.plugins.clipboard.getDropTarget(b),k=b.ui.space("top"),v=b.ui.space("bottom");a.preventDefaultDropOnElement(k);a.preventDefaultDropOnElement(v);e.attachListener(h,"dragstart",f);e.attachListener(b,"dragstart",a.resetDragDataTransfer,a,null,1);e.attachListener(b,"dragstart",function(c){a.initDragDataTransfer(c,b)},null,null,2);e.attachListener(b,"dragstart",function(){var c=a.dragRange=b.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(a.dragStartContainerChildCount=
+c?g(c.startContainer):null,a.dragEndContainerChildCount=c?g(c.endContainer):null)},null,null,100);e.attachListener(h,"dragend",f);e.attachListener(b,"dragend",a.initDragDataTransfer,a,null,1);e.attachListener(b,"dragend",a.resetDragDataTransfer,a,null,100);e.attachListener(h,"dragover",function(b){if(CKEDITOR.env.edge)b.data.preventDefault();else{var a=b.data.getTarget();a&&a.is&&a.is("html")?b.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&b.data.$.dataTransfer.types.contains("Files")&&
+b.data.preventDefault()}});e.attachListener(h,"drop",function(c){if(!c.data.$.defaultPrevented){c.data.preventDefault();var e=c.data.getTarget();if(!e.isReadOnly()||e.type==CKEDITOR.NODE_ELEMENT&&e.is("html")){var e=a.getRangeAtDropPosition(c,b),g=a.dragRange;e&&f(c,g,e)}}},null,null,9999);e.attachListener(b,"drop",a.initDragDataTransfer,a,null,1);e.attachListener(b,"drop",function(e){if(e=e.data){var g=e.dropRange,h=e.dragRange,f=e.dataTransfer;f.getTransferType(b)==CKEDITOR.DATA_TRANSFER_INTERNAL?
+setTimeout(function(){a.internalDrop(h,g,f,b)},0):f.getTransferType(b)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c(h,g,f):d(g,f)}},null,null,9999)})}CKEDITOR.plugins.add("clipboard",{requires:"notification,toolbar",init:function(b){var a,c=C();b.config.forcePasteAsPlainText?a="plain-text":b.config.pasteFilter?a=b.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in b.config||(a="semantic-content");b.pasteFilter=c.get(a);y(b);E(b);if(CKEDITOR.env.gecko){var d=["image/png","image/jpeg","image/gif"],
+f;b.on("paste",function(a){var c=a.data,h=c.dataTransfer;if(!c.dataValue&&"paste"==c.method&&h&&1==h.getFilesCount()&&f!=h.id&&(h=h.getFile(0),-1!=CKEDITOR.tools.indexOf(d,h.type))){var k=new FileReader;k.addEventListener("load",function(){a.data.dataValue='\x3cimg src\x3d"'+k.result+'" /\x3e';b.fire("paste",a.data)},!1);k.addEventListener("abort",function(){b.fire("paste",a.data)},!1);k.addEventListener("error",function(){b.fire("paste",a.data)},!1);k.readAsDataURL(h);f=c.dataTransfer.id;a.stop()}},
+null,null,1)}b.on("paste",function(a){a.data.dataTransfer||(a.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!a.data.dataValue){var c=a.data.dataTransfer,d=c.getData("text/html");if(d)a.data.dataValue=d,a.data.type="html";else if(d=c.getData("text/plain"))a.data.dataValue=b.editable().transformPlainTextToHtml(d),a.data.type="text"}},null,null,1);b.on("paste",function(b){var a=b.data.dataValue,c=CKEDITOR.dtd.$block;-1<a.indexOf("Apple-")&&(a=a.replace(/<span class="Apple-converted-space">&nbsp;<\/span>/gi,
+" "),"html"!=b.data.type&&(a=a.replace(/<span class="Apple-tab-span"[^>]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1<a.indexOf('\x3cbr class\x3d"Apple-interchange-newline"\x3e')&&(b.data.startsWithEOL=1,b.data.preSniffing="html",a=a.replace(/<br class="Apple-interchange-newline">/,"")),a=a.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(a.match(/^<[^<]+cke_(editable|contents)/i)){var d,f,l=new CKEDITOR.dom.element("div");for(l.setHtml(a);1==l.getChildCount()&&
+(d=l.getFirst())&&d.type==CKEDITOR.NODE_ELEMENT&&(d.hasClass("cke_editable")||d.hasClass("cke_contents"));)l=f=d;f&&(a=f.getHtml().replace(/<br>$/i,""))}CKEDITOR.env.ie?a=a.replace(/^&nbsp;(?: |\r\n)?<(\w+)/g,function(a,e){return e.toLowerCase()in c?(b.data.preSniffing="html","\x3c"+e):a}):CKEDITOR.env.webkit?a=a.replace(/<\/(\w+)><div><br><\/div>$/,function(a,e){return e in c?(b.data.endsWithEOL=1,"\x3c/"+e+"\x3e"):a}):CKEDITOR.env.gecko&&(a=a.replace(/(\s)<br>$/,"$1"));b.data.dataValue=a},null,
+null,3);b.on("paste",function(a){a=a.data;var e=b._.nextPasteType||a.type,d=a.dataValue,f,n=b.config.clipboard_defaultContentType||"html",l=a.dataTransfer.getTransferType(b);f="html"==e||"html"==a.preSniffing?"html":z(d);delete b._.nextPasteType;"htmlifiedtext"==f&&(d=A(b.config,d));"text"==e&&"html"==f?d=x(b,d,c.get("plain-text")):l==CKEDITOR.DATA_TRANSFER_EXTERNAL&&b.pasteFilter&&!a.dontFilter&&(d=x(b,d,b.pasteFilter));a.startsWithEOL&&(d='\x3cbr data-cke-eol\x3d"1"\x3e'+d);a.endsWithEOL&&(d+='\x3cbr data-cke-eol\x3d"1"\x3e');
+"auto"==e&&(e="html"==f||"html"==n?"html":"text");a.type=e;a.dataValue=d;delete a.preSniffing;delete a.startsWithEOL;delete a.endsWithEOL},null,null,6);b.on("paste",function(a){a=a.data;a.dataValue&&(b.insertHtml(a.dataValue,a.type,a.range),setTimeout(function(){b.fire("afterPaste")},0))},null,null,1E3)}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:!CKEDITOR.env.ie&&!CKEDITOR.env.iOS,isCustomDataTypesSupported:!CKEDITOR.env.ie,isFileApiSupported:!CKEDITOR.env.ie||9<CKEDITOR.env.version,
+mainPasteEvent:CKEDITOR.env.ie&&!CKEDITOR.env.edge?"beforepaste":"paste",canClipboardApiBeTrusted:function(b,a){return b.getTransferType(a)!=CKEDITOR.DATA_TRANSFER_EXTERNAL||CKEDITOR.env.chrome&&!b.isEmpty()||CKEDITOR.env.gecko&&(b.getData("text/html")||b.getFilesCount())||CKEDITOR.env.safari&&603<=CKEDITOR.env.version&&!CKEDITOR.env.iOS?!0:!1},getDropTarget:function(b){var a=b.editable();return CKEDITOR.env.ie&&9>CKEDITOR.env.version||a.isInline()?a:b.document},fixSplitNodesAfterDrop:function(b,
+a,c,d){function f(b,c,d){var f=b;f.type==CKEDITOR.NODE_TEXT&&(f=b.getParent());if(f.equals(c)&&d!=c.getChildCount())return b=a.startContainer.getChild(a.startOffset-1),c=a.startContainer.getChild(a.startOffset),b&&b.type==CKEDITOR.NODE_TEXT&&c&&c.type==CKEDITOR.NODE_TEXT&&(d=b.getLength(),b.setText(b.getText()+c.getText()),c.remove(),a.setStart(b,d),a.collapse(!0)),!0}var g=a.startContainer;"number"==typeof d&&"number"==typeof c&&g.type==CKEDITOR.NODE_ELEMENT&&(f(b.startContainer,g,c)||f(b.endContainer,
+g,d))},isDropRangeAffectedByDragRange:function(b,a){var c=a.startContainer,d=a.endOffset;return b.endContainer.equals(c)&&b.endOffset<=d||b.startContainer.getParent().equals(c)&&b.startContainer.getIndex()<d||b.endContainer.getParent().equals(c)&&b.endContainer.getIndex()<d?!0:!1},internalDrop:function(b,a,c,d){var f=CKEDITOR.plugins.clipboard,g=d.editable(),e,h;d.fire("saveSnapshot");d.fire("lockSnapshot",{dontUpdate:1});CKEDITOR.env.ie&&10>CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(b,a,f.dragStartContainerChildCount,
+f.dragEndContainerChildCount);(h=this.isDropRangeAffectedByDragRange(b,a))||(e=b.createBookmark(!1));f=a.clone().createBookmark(!1);h&&(e=b.createBookmark(!1));b=e.startNode;a=e.endNode;h=f.startNode;a&&b.getPosition(h)&CKEDITOR.POSITION_PRECEDING&&a.getPosition(h)&CKEDITOR.POSITION_FOLLOWING&&h.insertBefore(b);b=d.createRange();b.moveToBookmark(e);g.extractHtmlFromRange(b,1);a=d.createRange();a.moveToBookmark(f);q(d,{dataTransfer:c,method:"drop",range:a},1);d.fire("unlockSnapshot")},getRangeAtDropPosition:function(b,
+a){var c=b.data.$,d=c.clientX,f=c.clientY,g=a.getSelection(!0).getRanges()[0],e=a.createRange();if(b.data.testRange)return b.data.testRange;if(document.caretRangeFromPoint&&a.document.$.caretRangeFromPoint(d,f))c=a.document.$.caretRangeFromPoint(d,f),e.setStart(CKEDITOR.dom.node(c.startContainer),c.startOffset),e.collapse(!0);else if(c.rangeParent)e.setStart(CKEDITOR.dom.node(c.rangeParent),c.rangeOffset),e.collapse(!0);else{if(CKEDITOR.env.ie&&8<CKEDITOR.env.version&&g&&a.editable().hasFocus)return g;
+if(document.body.createTextRange){a.focus();c=a.document.getBody().$.createTextRange();try{for(var h=!1,k=0;20>k&&!h;k++){if(!h)try{c.moveToPoint(d,f-k),h=!0}catch(n){}if(!h)try{c.moveToPoint(d,f+k),h=!0}catch(l){}}if(h){var t="cke-temp-"+(new Date).getTime();c.pasteHTML('\x3cspan id\x3d"'+t+'"\x3e​\x3c/span\x3e');var r=a.document.getById(t);e.moveToPosition(r,CKEDITOR.POSITION_BEFORE_START);r.remove()}else{var p=a.document.$.elementFromPoint(d,f),m=new CKEDITOR.dom.element(p),q;if(m.equals(a.editable())||
+"html"==m.getName())return g&&g.startContainer&&!g.startContainer.equals(a.editable())?g:null;q=m.getClientRect();d<q.left?e.setStartAt(m,CKEDITOR.POSITION_AFTER_START):e.setStartAt(m,CKEDITOR.POSITION_BEFORE_END);e.collapse(!0)}}catch(u){return null}}else return null}return e},initDragDataTransfer:function(b,a){var c=b.data.$?b.data.$.dataTransfer:null,d=new this.dataTransfer(c,a);c?this.dragData&&d.id==this.dragData.id?d=this.dragData:this.dragData=d:this.dragData?d=this.dragData:this.dragData=
+d;b.data.dataTransfer=d},resetDragDataTransfer:function(){this.dragData=null},initPasteDataTransfer:function(b,a){if(this.isCustomCopyCutSupported){if(b&&b.data&&b.data.$){var c=new this.dataTransfer(b.data.$.clipboardData,a);this.copyCutData&&c.id==this.copyCutData.id?(c=this.copyCutData,c.$=b.data.$.clipboardData):this.copyCutData=c;return c}return new this.dataTransfer(null,a)}return new this.dataTransfer(CKEDITOR.env.edge&&b&&b.data.$&&b.data.$.clipboardData||null,a)},preventDefaultDropOnElement:function(b){b&&
+b.on("dragover",D)}};var n=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported?"cke/id":"Text";CKEDITOR.plugins.clipboard.dataTransfer=function(b,a){b&&(this.$=b);this._={metaRegExp:/^<meta.*?>/i,bodyRegExp:/<body(?:[\s\S]*?)>([\s\S]*)<\/body>/i,fragmentRegExp:/\x3c!--(?:Start|End)Fragment--\x3e/g,data:{},files:[],normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":a}};this.id=this.getData(n);this.id||(this.id="Text"==n?"":"cke-"+CKEDITOR.tools.getUniqueId());
+if("Text"!=n)try{this.$.setData(n,this.id)}catch(c){}a&&(this.sourceEditor=a,this.setData("text/html",a.getSelectedHtml(1)),"Text"==n||this.getData("text/plain")||this.setData("text/plain",a.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(b,a){b=this._.normalizeType(b);var c=this._.data[b],d;if(void 0===c||null===c||""===c)try{c=this.$.getData(b)}catch(f){}if(void 0===
+c||null===c||""===c)c="";"text/html"!=b||a?"Text"==b&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==c.substring(0,7)&&(c=""):(c=c.replace(this._.metaRegExp,""),(d=this._.bodyRegExp.exec(c))&&d.length&&(c=d[1],c=c.replace(this._.fragmentRegExp,"")));"string"===typeof c&&(d=c.indexOf("\x3c/html\x3e"),c=-1!==d?c.substring(0,d+7):c);return c},setData:function(b,a){b=this._.normalizeType(b);this._.data[b]=a;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==b||"Text"==b){"Text"==n&&
+"Text"==b&&(this.id=a);try{this.$.setData(b,a)}catch(c){}}},getTransferType:function(b){return this.sourceEditor?this.sourceEditor==b?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function b(b){b=a._.normalizeType(b);var c=a.getData(b,!0);c&&(a._.data[b]=c)}if(this.$){var a=this,c,d;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(c=0;c<this.$.types.length;c++)b(this.$.types[c])}else b("Text"),
+b("URL");d=this._getImageFromClipboard();if(this.$&&this.$.files||d){this._.files=[];if(this.$.files&&this.$.files.length)for(c=0;c<this.$.files.length;c++)this._.files.push(this.$.files[c]);0===this._.files.length&&d&&this._.files.push(d)}}},getFilesCount:function(){return this._.files.length?this._.files.length:this.$&&this.$.files&&this.$.files.length?this.$.files.length:this._getImageFromClipboard()?1:0},getFile:function(b){return this._.files.length?this._.files[b]:this.$&&this.$.files&&this.$.files.length?
+this.$.files[b]:0===b?this._getImageFromClipboard():void 0},isEmpty:function(){var b={},a;if(this.getFilesCount())return!1;for(a in this._.data)b[a]=1;if(this.$)if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(var c=0;c<this.$.types.length;c++)b[this.$.types[c]]=1}else b.Text=1,b.URL=1;"Text"!=n&&(b[n]=0);for(a in b)if(b[a]&&""!==this.getData(a))return!1;return!0},_getImageFromClipboard:function(){var b;if(this.$&&this.$.items&&this.$.items[0])try{if((b=this.$.items[0].getAsFile())&&
+b.type)return b}catch(a){}}}})();CKEDITOR.config.clipboard_notificationDuration=1E4;(function(){function f(a){return a.getName&&!a.hasAttribute("data-cke-temp")}CKEDITOR.plugins.add("widgetselection",{init:function(a){if(CKEDITOR.env.webkit){var b=CKEDITOR.plugins.widgetselection;a.on("contentDom",function(a){a=a.editor;var d=a.document,e=a.editable();e.attachListener(d,"keydown",function(a){var c=a.data.$;65==a.data.getKey()&&(CKEDITOR.env.mac&&c.metaKey||!CKEDITOR.env.mac&&c.ctrlKey)&&CKEDITOR.tools.setTimeout(function(){b.addFillers(e)||b.removeFillers(e)},0)},null,null,-1);a.on("selectionCheck",
 function(a){b.removeFillers(a.editor.editable())});a.on("paste",function(a){a.data.dataValue=b.cleanPasteData(a.data.dataValue)});"selectall"in a.plugins&&b.addSelectAllIntegration(a)})}}});CKEDITOR.plugins.widgetselection={startFiller:null,endFiller:null,fillerAttribute:"data-cke-filler-webkit",fillerContent:"\x26nbsp;",fillerTagName:"div",addFillers:function(a){var b=a.editor;if(!this.isWholeContentSelected(a)&&0<a.getChildCount()){var c=a.getFirst(f),d=a.getLast(f);c&&c.type==CKEDITOR.NODE_ELEMENT&&
 !c.isEditable()&&(this.startFiller=this.createFiller(),a.append(this.startFiller,1));d&&d.type==CKEDITOR.NODE_ELEMENT&&!d.isEditable()&&(this.endFiller=this.createFiller(!0),a.append(this.endFiller,0));if(this.hasFiller(a))return b=b.createRange(),b.selectNodeContents(a),b.select(),!0}return!1},removeFillers:function(a){if(this.hasFiller(a)&&!this.isWholeContentSelected(a)){var b=a.findOne(this.fillerTagName+"["+this.fillerAttribute+"\x3dstart]"),c=a.findOne(this.fillerTagName+"["+this.fillerAttribute+
 "\x3dend]");this.startFiller&&b&&this.startFiller.equals(b)?this.removeFiller(this.startFiller,a):this.startFiller=b;this.endFiller&&c&&this.endFiller.equals(c)?this.removeFiller(this.endFiller,a):this.endFiller=c}},cleanPasteData:function(a){a&&a.length&&(a=a.replace(this.createFillerRegex(),"").replace(this.createFillerRegex(!0),""));return a},isWholeContentSelected:function(a){var b=a.editor.getSelection().getRanges()[0];return!b||b&&b.collapsed?!1:(b=b.clone(),b.enlarge(CKEDITOR.ENLARGE_ELEMENT),
@@ -997,35 +1025,35 @@ this.getClasses());this.dataReady=!0;r(this);this.fire("data",this.data);this.is
 b){a.addCommand(b.name,{exec:function(a,d){function e(){a.widgets.finalizeCreation(k)}var f=a.widgets.focused;if(f&&f.name==b.name)f.edit();else if(b.insert)b.insert();else if(b.template){var f="function"==typeof b.defaults?b.defaults():b.defaults,f=CKEDITOR.dom.element.createFromHtml(b.template.output(f)),h,l=a.widgets.wrapElement(f,b.name),k=new CKEDITOR.dom.documentFragment(l.getDocument());k.append(l);(h=a.widgets.initOn(f,b,d&&d.startupData))?(f=h.once("edit",function(b){if(b.data.dialog)h.once("dialog",
 function(b){b=b.data;var d,f;d=b.once("ok",e,null,null,20);f=b.once("cancel",function(b){b.data&&!1===b.data.hide||a.widgets.destroy(h,!0)});b.once("hide",function(){d.removeListener();f.removeListener()})});else e()},null,null,999),h.edit(),f.removeListener()):e()}},allowedContent:b.allowedContent,requiredContent:b.requiredContent,contentForms:b.contentForms,contentTransformations:b.contentTransformations})}function P(a,b){function c(b,d,c){var e=CKEDITOR.tools.getIndex(a._.upcasts,function(a){return a[2]>
 c});0>e&&(e=a._.upcasts.length);a._.upcasts.splice(e,0,[b,d,c])}var d=b.upcast,e=b.upcastPriority||10;if(d)if("string"==typeof d)for(d=d.split(",");d.length;)c(b.upcasts[d.pop()],b.name,e);else c(d,b.name,e)}function t(a,b){a.focused=null;if(b.isInited()){var c=b.editor.checkDirty();a.fire("widgetBlurred",{widget:b});b.setFocused(!1);!c&&b.editor.resetDirty()}}function H(a){a=a.data;if("wysiwyg"==this.editor.mode){var b=this.editor.editable(),c=this.instances,d,e,f,h;if(b){for(d in c)c[d].isReady()&&
-!b.contains(c[d].wrapper)&&this.destroy(c[d],!0);if(a&&a.initOnlyNew)c=this.initOnAll();else{var l=b.find(".cke_widget_wrapper"),c=[];d=0;for(e=l.count();d<e;d++){f=l.getItem(d);if(h=!this.getByElement(f,!0)){a:{h=Q;for(var k=f;k=k.getParent();)if(h(k)){h=!0;break a}h=!1}h=!h}h&&b.contains(f)&&(f.addClass("cke_widget_new"),c.push(this.initOn(f.getFirst(g.isDomWidgetElement))))}}a&&a.focusInited&&1==c.length&&c[0].focus()}}}function u(a,b,c){if(!c.allowedContent)return null;var d=this._.filters[a];
-d||(this._.filters[a]=d={});(a=d[b])||(d[b]=a=new CKEDITOR.filter(c.allowedContent));return a}function R(a){var b=[],c=a._.upcasts,d=a._.upcastCallbacks;return{toBeWrapped:b,iterator:function(a){var f,h,l,k,m;if("data-cke-widget-wrapper"in a.attributes)return(a=a.getFirst(g.isParserWidgetElement))&&b.push([a]),!1;if("data-widget"in a.attributes)return b.push([a]),!1;if(m=c.length){if(a.attributes["data-cke-widget-upcasted"])return!1;k=0;for(f=d.length;k<f;++k)if(!1===d[k](a))return;for(k=0;k<m;++k)if(f=
-c[k],l={},h=f[0](a,l))return h instanceof CKEDITOR.htmlParser.element&&(a=h),a.attributes["data-cke-widget-data"]=encodeURIComponent(JSON.stringify(l)),a.attributes["data-cke-widget-upcasted"]=1,b.push([a,f[1]]),!1}}}}function v(a,b){return{tabindex:-1,contenteditable:"false","data-cke-widget-wrapper":1,"data-cke-filter":"off","class":"cke_widget_wrapper cke_widget_new cke_widget_"+(a?"inline":"block")+(b?" cke_widget_"+b:"")}}function w(a,b,c){if(a.type==CKEDITOR.NODE_ELEMENT){var d=CKEDITOR.dtd[a.name];
-if(d&&!d[c.name]){var d=a.split(b),e=a.parent;b=d.getIndex();a.children.length||(--b,a.remove());d.children.length||d.remove();return w(e,b,c)}}a.add(c,b)}function x(a,b){return"boolean"==typeof a.inline?a.inline:!!CKEDITOR.dtd.$inline[b]}function Q(a){return a.hasAttribute("data-cke-temp")}function n(a,b,c,d){var e=a.editor;e.fire("lockSnapshot");c?(d=c.data("cke-widget-editable"),d=b.editables[d],a.widgetHoldingFocusedEditable=b,b.focusedEditable=d,c.addClass("cke_widget_editable_focused"),d.filter&&
-e.setActiveFilter(d.filter),e.setActiveEnterMode(d.enterMode,d.shiftEnterMode)):(d||b.focusedEditable.removeClass("cke_widget_editable_focused"),b.focusedEditable=null,a.widgetHoldingFocusedEditable=null,e.setActiveFilter(null),e.setActiveEnterMode(null,null));e.fire("unlockSnapshot")}function S(a){a.contextMenu&&a.contextMenu.addListener(function(b){if(b=a.widgets.getByElement(b,!0))return b.fire("contextMenu",{})})}function T(a,b){return CKEDITOR.tools.trim(b)}function L(a){var b=a.editor,c=CKEDITOR.plugins.lineutils;
-b.on("dragstart",function(d){var c=d.data.target;g.isDomDragHandler(c)&&(c=a.getByElement(c),d.data.dataTransfer.setData("cke/widget-id",c.id),b.focus(),c.focus())});b.on("drop",function(d){var c=d.data.dataTransfer,f=c.getData("cke/widget-id"),h=c.getTransferType(b),c=b.createRange();""!==f&&h===CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?d.cancel():""!==f&&h==CKEDITOR.DATA_TRANSFER_INTERNAL&&(f=a.instances[f])&&(c.setStartBefore(f.wrapper),c.setEndAfter(f.wrapper),d.data.dragRange=c,delete CKEDITOR.plugins.clipboard.dragStartContainerChildCount,
-delete CKEDITOR.plugins.clipboard.dragEndContainerChildCount,d.data.dataTransfer.setData("text/html",b.editable().getHtmlFromRange(c).getHtml()),b.widgets.destroy(f,!0))});b.on("contentDom",function(){var d=b.editable();CKEDITOR.tools.extend(a,{finder:new c.finder(b,{lookups:{"default":function(b){if(!b.is(CKEDITOR.dtd.$listItem)&&b.is(CKEDITOR.dtd.$block)&&!g.isDomNestedEditable(b)&&!a._.draggedWidget.wrapper.contains(b)){var c=g.getNestedEditable(d,b);if(c){b=a._.draggedWidget;if(a.getByElement(c)==
-b)return;c=CKEDITOR.filter.instances[c.data("cke-filter")];b=b.requiredContent;if(c&&b&&!c.check(b))return}return CKEDITOR.LINEUTILS_BEFORE|CKEDITOR.LINEUTILS_AFTER}}}}),locator:new c.locator(b),liner:new c.liner(b,{lineStyle:{cursor:"move !important","border-top-color":"#666"},tipLeftStyle:{"border-left-color":"#666"},tipRightStyle:{"border-right-color":"#666"}})},!0)})}function J(a){var b=a.editor;b.on("contentDom",function(){var c=b.editable(),d=c.isInline()?c:b.document,e,f;c.attachListener(d,
-"mousedown",function(c){var d=c.data.getTarget();if(!d.type)return!1;e=a.getByElement(d);f=0;e&&(e.inline&&d.type==CKEDITOR.NODE_ELEMENT&&d.hasAttribute("data-cke-widget-drag-handler")?(f=1,a.focused!=e&&b.getSelection().removeAllRanges()):g.getNestedEditable(e.wrapper,d)?e=null:(c.data.preventDefault(),CKEDITOR.env.ie||e.focus()))});c.attachListener(d,"mouseup",function(){f&&e&&e.wrapper&&(f=0,e.focus())});CKEDITOR.env.ie&&c.attachListener(d,"mouseup",function(){setTimeout(function(){e&&e.wrapper&&
-c.contains(e.wrapper)&&(e.focus(),e=null)})})});b.on("doubleclick",function(b){var d=a.getByElement(b.data.element);if(d&&!g.getNestedEditable(d.wrapper,b.data.element))return d.fire("doubleclick",{element:b.data.element})},null,null,1)}function K(a){a.editor.on("key",function(b){var c=a.focused,d=a.widgetHoldingFocusedEditable,e;c?e=c.fire("key",{keyCode:b.data.keyCode}):d&&(c=b.data.keyCode,b=d.focusedEditable,c==CKEDITOR.CTRL+65?(c=b.getBogus(),d=d.editor.createRange(),d.selectNodeContents(b),
-c&&d.setEndAt(c,CKEDITOR.POSITION_BEFORE_START),d.select(),e=!1):8==c||46==c?(e=d.editor.getSelection().getRanges(),d=e[0],e=!(1==e.length&&d.collapsed&&d.checkBoundaryOfElement(b,CKEDITOR[8==c?"START":"END"]))):e=void 0);return e},null,null,1)}function M(a){function b(b){a.focused&&y(a.focused,"cut"==b.name)}var c=a.editor;c.on("contentDom",function(){var a=c.editable();a.attachListener(a,"copy",b);a.attachListener(a,"cut",b)})}function I(a){var b=a.editor;b.on("selectionCheck",function(){a.fire("checkSelection")});
-a.on("checkSelection",a.checkSelection,a);b.on("selectionChange",function(c){var d=(c=g.getNestedEditable(b.editable(),c.data.selection.getStartElement()))&&a.getByElement(c),e=a.widgetHoldingFocusedEditable;e?e===d&&e.focusedEditable.equals(c)||(n(a,e,null),d&&c&&n(a,d,c)):d&&c&&n(a,d,c)});b.on("dataReady",function(){z(a).commit()});b.on("blur",function(){var b;(b=a.focused)&&t(a,b);(b=a.widgetHoldingFocusedEditable)&&n(a,b,null)})}function G(a){var b=a.editor,c={};b.on("toDataFormat",function(b){var e=
-CKEDITOR.tools.getNextNumber(),f=[];b.data.downcastingSessionId=e;c[e]=f;b.data.dataValue.forEach(function(b){var c=b.attributes,d;if("data-cke-widget-id"in c){if(c=a.instances[c["data-cke-widget-id"]])d=b.getFirst(g.isParserWidgetElement),f.push({wrapper:b,element:d,widget:c,editables:{}}),"1"!=d.attributes["data-cke-widget-keep-attr"]&&delete d.attributes["data-widget"]}else if("data-cke-widget-editable"in c)return f[f.length-1].editables[c["data-cke-widget-editable"]]=b,!1},CKEDITOR.NODE_ELEMENT,
-!0)},null,null,8);b.on("toDataFormat",function(a){if(a.data.downcastingSessionId){a=c[a.data.downcastingSessionId];for(var b,f,h,l,g,m;b=a.shift();){f=b.widget;h=b.element;l=f._.downcastFn&&f._.downcastFn.call(f,h);for(m in b.editables)g=b.editables[m],delete g.attributes.contenteditable,g.setHtml(f.editables[m].getData());l||(l=h);b.wrapper.replaceWith(l)}}},null,null,13);b.on("contentDomUnload",function(){a.destroyAll(!0)})}function F(a){var b=a.editor,c,d;b.on("toHtml",function(b){var d=R(a),h;
-for(b.data.dataValue.forEach(d.iterator,CKEDITOR.NODE_ELEMENT,!0);h=d.toBeWrapped.pop();){var l=h[0],k=l.parent;k.type==CKEDITOR.NODE_ELEMENT&&k.attributes["data-cke-widget-wrapper"]&&k.replaceWith(l);a.wrapElement(h[0],h[1])}c=b.data.protectedWhitespaces?3==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[1]):1==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[0])},null,null,8);b.on("dataReady",function(){if(d)for(var c=b.editable().find(".cke_widget_wrapper"),
-f,h,l=0,k=c.count();l<k;++l)f=c.getItem(l),h=f.getFirst(g.isDomWidgetElement),h.type==CKEDITOR.NODE_ELEMENT&&h.data("widget")?(h.replace(f),a.wrapElement(h)):f.remove();d=0;a.destroyAll(!0);a.initOnAll()});b.on("loadSnapshot",function(b){/data-cke-widget/.test(b.data)&&(d=1);a.destroyAll(!0)},null,null,9);b.on("paste",function(a){a=a.data;a.dataValue=a.dataValue.replace(U,T);a.range&&(a=g.getNestedEditable(b.editable(),a.range.startContainer))&&(a=CKEDITOR.filter.instances[a.data("cke-filter")])&&
-b.setActiveFilter(a)});b.on("afterInsertHtml",function(d){d.data.intoRange?a.checkWidgets({initOnlyNew:!0}):(b.fire("lockSnapshot"),a.checkWidgets({initOnlyNew:!0,focusInited:c}),b.fire("unlockSnapshot"))})}function z(a){var b=a.selected,c=[],d=b.slice(0),e=null;return{select:function(a){0>CKEDITOR.tools.indexOf(b,a)&&c.push(a);a=CKEDITOR.tools.indexOf(d,a);0<=a&&d.splice(a,1);return this},focus:function(a){e=a;return this},commit:function(){var f=a.focused!==e,h,g;a.editor.fire("lockSnapshot");for(f&&
-(h=a.focused)&&t(a,h);h=d.pop();)b.splice(CKEDITOR.tools.indexOf(b,h),1),h.isInited()&&(g=h.editor.checkDirty(),h.setSelected(!1),!g&&h.editor.resetDirty());f&&e&&(g=a.editor.checkDirty(),a.focused=e,a.fire("widgetFocused",{widget:e}),e.setFocused(!0),!g&&a.editor.resetDirty());for(;h=c.pop();)b.push(h),h.setSelected(!0);a.editor.fire("unlockSnapshot")}}}function A(a,b,c){var d=0;b=B(b);var e=a.data.classes||{},f;if(b){for(e=CKEDITOR.tools.clone(e);f=b.pop();)c?e[f]||(d=e[f]=1):e[f]&&(delete e[f],
-d=1);d&&a.setData("classes",e)}}function C(a){a.cancel()}function y(a,b){var c=a.editor,d=c.document;if(!d.getById("cke_copybin")){var e=c.blockless||CKEDITOR.env.ie?"span":"div",f=d.createElement(e),h=d.createElement(e),e=CKEDITOR.env.ie&&9>CKEDITOR.env.version;h.setAttributes({id:"cke_copybin","data-cke-temp":"1"});f.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"});f.setStyle("ltr"==c.config.contentsLangDirection?"left":"right","-5000px");var g=c.createRange();g.setStartBefore(a.wrapper);
-g.setEndAfter(a.wrapper);f.setHtml('\x3cspan data-cke-copybin-start\x3d"1"\x3e​\x3c/span\x3e'+c.editable().getHtmlFromRange(g).getHtml()+'\x3cspan data-cke-copybin-end\x3d"1"\x3e​\x3c/span\x3e');c.fire("saveSnapshot");c.fire("lockSnapshot");h.append(f);c.editable().append(h);var k=c.on("selectionChange",C,null,null,0),m=a.repository.on("checkSelection",C,null,null,0);if(e)var n=d.getDocumentElement().$,p=n.scrollTop;g=c.createRange();g.selectNodeContents(f);g.select();e&&(n.scrollTop=p);setTimeout(function(){b||
-a.focus();h.remove();k.removeListener();m.removeListener();c.fire("unlockSnapshot");b&&(a.repository.del(a),c.fire("saveSnapshot"))},100)}}function B(a){return(a=(a=a.getDefinition().attributes)&&a["class"])?a.split(/\s+/):null}function D(){var a=CKEDITOR.document.getActive(),b=this.editor,c=b.editable();(c.isInline()?c:b.document.getWindow().getFrame()).equals(a)&&b.focusManager.focus(c)}function E(){CKEDITOR.env.gecko&&this.editor.unlockSelection();CKEDITOR.env.webkit||(this.editor.forceNextSelectionCheck(),
-this.editor.selectionChange(1))}function V(a){var b=null;a.on("data",function(){var a=this.data.classes,d;if(b!=a){for(d in b)a&&a[d]||this.removeClass(d);for(d in a)this.addClass(d);b=a}})}function W(a){a.on("data",function(){if(a.wrapper){var b=this.getLabel?this.getLabel():this.editor.lang.widget.label.replace(/%1/,this.pathName||this.element.getName());a.wrapper.setAttribute("role","region");a.wrapper.setAttribute("aria-label",b)}},null,null,9999)}function X(a){if(a.draggable){var b=a.editor,
-c=a.wrapper.getLast(g.isDomDragHandlerContainer),d;c?d=c.findOne("img"):(c=new CKEDITOR.dom.element("span",b.document),c.setAttributes({"class":"cke_reset cke_widget_drag_handler_container",style:"background:rgba(220,220,220,0.5);background-image:url("+b.plugins.widget.path+"images/handle.png)"}),d=new CKEDITOR.dom.element("img",b.document),d.setAttributes({"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1",src:CKEDITOR.tools.transparentImageData,width:15,title:b.lang.widget.move,
-height:15,role:"presentation"}),a.inline&&d.setAttribute("draggable","true"),c.append(d),a.wrapper.append(c));a.wrapper.on("dragover",function(a){a.data.preventDefault()});a.wrapper.on("mouseenter",a.updateDragHandlerPosition,a);setTimeout(function(){a.on("data",a.updateDragHandlerPosition,a)},50);if(!a.inline&&(d.on("mousedown",Y,a),CKEDITOR.env.ie&&9>CKEDITOR.env.version))d.on("dragstart",function(a){a.data.preventDefault(!0)});a.dragHandlerContainer=c}}function Y(a){function b(){var b;for(q.reset();b=
-g.pop();)b.removeListener();var c=k;b=a.sender;var d=this.repository.finder,e=this.repository.liner,f=this.editor,h=this.editor.editable();CKEDITOR.tools.isEmpty(e.visible)||(c=d.getRange(c[0]),this.focus(),f.fire("drop",{dropRange:c,target:c.startContainer}));h.removeClass("cke_widget_dragging");e.hideVisible();f.fire("dragend",{target:b})}var c=this.repository.finder,d=this.repository.locator,e=this.repository.liner,f=this.editor,h=f.editable(),g=[],k=[],m,n;this.repository._.draggedWidget=this;
-var p=c.greedySearch(),q=CKEDITOR.tools.eventsBuffer(50,function(){m=d.locate(p);k=d.sort(n,1);k.length&&(e.prepare(p,m),e.placeLine(k[0]),e.cleanup())});h.addClass("cke_widget_dragging");g.push(h.on("mousemove",function(a){n=a.data.$.clientY;q.input()}));f.fire("dragstart",{target:a.sender});g.push(f.document.once("mouseup",b,this));h.isInline()||g.push(CKEDITOR.document.once("mouseup",b,this))}function Z(a){var b,c,d=a.editables;a.editables={};if(a.editables)for(b in d)c=d[b],a.initEditable(b,"string"==
-typeof c?{selector:c}:c)}function aa(a){if(a.mask){var b=a.wrapper.findOne(".cke_widget_mask");b||(b=new CKEDITOR.dom.element("img",a.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_mask"}),a.wrapper.append(b));a.mask=b}}function ba(a){if(a.parts){var b={},c,d;for(d in a.parts)c=a.wrapper.findOne(a.parts[d]),b[d]=c;a.parts=b}}function N(a,b){ca(a);ba(a);Z(a);aa(a);X(a);V(a);W(a);if(CKEDITOR.env.ie&&9>CKEDITOR.env.version)a.wrapper.on("dragstart",
-function(b){var d=b.data.getTarget();g.getNestedEditable(a,d)||a.inline&&g.isDomDragHandler(d)||b.data.preventDefault()});a.wrapper.removeClass("cke_widget_new");a.element.addClass("cke_widget_element");a.on("key",function(b){b=b.data.keyCode;if(13==b)a.edit();else{if(b==CKEDITOR.CTRL+67||b==CKEDITOR.CTRL+88){y(a,b==CKEDITOR.CTRL+88);return}if(b in da||CKEDITOR.CTRL&b||CKEDITOR.ALT&b)return}return!1},null,null,999);a.on("doubleclick",function(b){a.edit()&&b.cancel()});if(b.data)a.on("data",b.data);
-if(b.edit)a.on("edit",b.edit)}function ca(a){(a.wrapper=a.element.getParent()).setAttribute("data-cke-widget-id",a.id)}function r(a){a.element.data("cke-widget-data",encodeURIComponent(JSON.stringify(a.data)))}CKEDITOR.plugins.add("widget",{requires:"lineutils,clipboard,widgetselection",onLoad:function(){CKEDITOR.addCss(".cke_widget_wrapper{position:relative;outline:none}.cke_widget_inline{display:inline-block}.cke_widget_wrapper:hover\x3e.cke_widget_element{outline:2px solid yellow;cursor:default}.cke_widget_wrapper:hover .cke_widget_editable{outline:2px solid yellow}.cke_widget_wrapper.cke_widget_focused\x3e.cke_widget_element,.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{outline:2px solid #ace}.cke_widget_editable{cursor:text}.cke_widget_drag_handler_container{position:absolute;width:15px;height:0;display:none;opacity:0.75;transition:height 0s 0.2s;line-height:0}.cke_widget_wrapper:hover\x3e.cke_widget_drag_handler_container{height:15px;transition:none}.cke_widget_drag_handler_container:hover{opacity:1}img.cke_widget_drag_handler{cursor:move;width:15px;height:15px;display:inline-block}.cke_widget_mask{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{cursor:move !important}")},
+!b.contains(c[d].wrapper)&&this.destroy(c[d],!0);if(a&&a.initOnlyNew)c=this.initOnAll();else{var l=b.find(".cke_widget_wrapper"),c=[];d=0;for(e=l.count();d<e;d++){f=l.getItem(d);if(h=!this.getByElement(f,!0)){a:{h=Q;for(var k=f;k=k.getParent();)if(h(k)){h=!0;break a}h=!1}h=!h}h&&b.contains(f)&&(f.addClass("cke_widget_new"),c.push(this.initOn(f.getFirst(g.isDomWidgetElement))))}}a&&a.focusInited&&1==c.length&&c[0].focus()}}}function u(a,b,c){if(!c.allowedContent&&!c.disallowedContent)return null;var d=
+this._.filters[a];d||(this._.filters[a]=d={});a=d[b];a||(a=c.allowedContent?new CKEDITOR.filter(c.allowedContent):this.editor.filter.clone(),d[b]=a,c.disallowedContent&&a.disallow(c.disallowedContent));return a}function R(a){var b=[],c=a._.upcasts,d=a._.upcastCallbacks;return{toBeWrapped:b,iterator:function(a){var f,h,l,k,m;if("data-cke-widget-wrapper"in a.attributes)return(a=a.getFirst(g.isParserWidgetElement))&&b.push([a]),!1;if("data-widget"in a.attributes)return b.push([a]),!1;if(m=c.length){if(a.attributes["data-cke-widget-upcasted"])return!1;
+k=0;for(f=d.length;k<f;++k)if(!1===d[k](a))return;for(k=0;k<m;++k)if(f=c[k],l={},h=f[0](a,l))return h instanceof CKEDITOR.htmlParser.element&&(a=h),a.attributes["data-cke-widget-data"]=encodeURIComponent(JSON.stringify(l)),a.attributes["data-cke-widget-upcasted"]=1,b.push([a,f[1]]),!1}}}}function v(a,b){return{tabindex:-1,contenteditable:"false","data-cke-widget-wrapper":1,"data-cke-filter":"off","class":"cke_widget_wrapper cke_widget_new cke_widget_"+(a?"inline":"block")+(b?" cke_widget_"+b:"")}}
+function w(a,b,c){if(a.type==CKEDITOR.NODE_ELEMENT){var d=CKEDITOR.dtd[a.name];if(d&&!d[c.name]){var d=a.split(b),e=a.parent;b=d.getIndex();a.children.length||(--b,a.remove());d.children.length||d.remove();return w(e,b,c)}}a.add(c,b)}function x(a,b){return"boolean"==typeof a.inline?a.inline:!!CKEDITOR.dtd.$inline[b]}function Q(a){return a.hasAttribute("data-cke-temp")}function n(a,b,c,d){var e=a.editor;e.fire("lockSnapshot");c?(d=c.data("cke-widget-editable"),d=b.editables[d],a.widgetHoldingFocusedEditable=
+b,b.focusedEditable=d,c.addClass("cke_widget_editable_focused"),d.filter&&e.setActiveFilter(d.filter),e.setActiveEnterMode(d.enterMode,d.shiftEnterMode)):(d||b.focusedEditable.removeClass("cke_widget_editable_focused"),b.focusedEditable=null,a.widgetHoldingFocusedEditable=null,e.setActiveFilter(null),e.setActiveEnterMode(null,null));e.fire("unlockSnapshot")}function S(a){a.contextMenu&&a.contextMenu.addListener(function(b){if(b=a.widgets.getByElement(b,!0))return b.fire("contextMenu",{})})}function T(a,
+b){return CKEDITOR.tools.trim(b)}function L(a){var b=a.editor,c=CKEDITOR.plugins.lineutils;b.on("dragstart",function(d){var c=d.data.target;g.isDomDragHandler(c)&&(c=a.getByElement(c),d.data.dataTransfer.setData("cke/widget-id",c.id),b.focus(),c.focus())});b.on("drop",function(c){var e=c.data.dataTransfer,f=e.getData("cke/widget-id"),h=e.getTransferType(b),e=b.createRange();""!==f&&h===CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c.cancel():""!==f&&h==CKEDITOR.DATA_TRANSFER_INTERNAL&&(f=a.instances[f])&&
+(e.setStartBefore(f.wrapper),e.setEndAfter(f.wrapper),c.data.dragRange=e,delete CKEDITOR.plugins.clipboard.dragStartContainerChildCount,delete CKEDITOR.plugins.clipboard.dragEndContainerChildCount,c.data.dataTransfer.setData("text/html",b.editable().getHtmlFromRange(e).getHtml()),b.widgets.destroy(f,!0))});b.on("contentDom",function(){var d=b.editable();CKEDITOR.tools.extend(a,{finder:new c.finder(b,{lookups:{"default":function(b){if(!b.is(CKEDITOR.dtd.$listItem)&&b.is(CKEDITOR.dtd.$block)&&!g.isDomNestedEditable(b)&&
+!a._.draggedWidget.wrapper.contains(b)){var c=g.getNestedEditable(d,b);if(c){b=a._.draggedWidget;if(a.getByElement(c)==b)return;c=CKEDITOR.filter.instances[c.data("cke-filter")];b=b.requiredContent;if(c&&b&&!c.check(b))return}return CKEDITOR.LINEUTILS_BEFORE|CKEDITOR.LINEUTILS_AFTER}}}}),locator:new c.locator(b),liner:new c.liner(b,{lineStyle:{cursor:"move !important","border-top-color":"#666"},tipLeftStyle:{"border-left-color":"#666"},tipRightStyle:{"border-right-color":"#666"}})},!0)})}function J(a){var b=
+a.editor;b.on("contentDom",function(){var c=b.editable(),d=c.isInline()?c:b.document,e,f;c.attachListener(d,"mousedown",function(c){var d=c.data.getTarget();e=d instanceof CKEDITOR.dom.element?a.getByElement(d):null;f=0;e&&(e.inline&&d.type==CKEDITOR.NODE_ELEMENT&&d.hasAttribute("data-cke-widget-drag-handler")?(f=1,a.focused!=e&&b.getSelection().removeAllRanges()):g.getNestedEditable(e.wrapper,d)?e=null:(c.data.preventDefault(),CKEDITOR.env.ie||e.focus()))});c.attachListener(d,"mouseup",function(){f&&
+e&&e.wrapper&&(f=0,e.focus())});CKEDITOR.env.ie&&c.attachListener(d,"mouseup",function(){setTimeout(function(){e&&e.wrapper&&c.contains(e.wrapper)&&(e.focus(),e=null)})})});b.on("doubleclick",function(b){var d=a.getByElement(b.data.element);if(d&&!g.getNestedEditable(d.wrapper,b.data.element))return d.fire("doubleclick",{element:b.data.element})},null,null,1)}function K(a){a.editor.on("key",function(b){var c=a.focused,d=a.widgetHoldingFocusedEditable,e;c?e=c.fire("key",{keyCode:b.data.keyCode}):d&&
+(c=b.data.keyCode,b=d.focusedEditable,c==CKEDITOR.CTRL+65?(c=b.getBogus(),d=d.editor.createRange(),d.selectNodeContents(b),c&&d.setEndAt(c,CKEDITOR.POSITION_BEFORE_START),d.select(),e=!1):8==c||46==c?(e=d.editor.getSelection().getRanges(),d=e[0],e=!(1==e.length&&d.collapsed&&d.checkBoundaryOfElement(b,CKEDITOR[8==c?"START":"END"]))):e=void 0);return e},null,null,1)}function M(a){function b(b){a.focused&&y(a.focused,"cut"==b.name)}var c=a.editor;c.on("contentDom",function(){var a=c.editable();a.attachListener(a,
+"copy",b);a.attachListener(a,"cut",b)})}function I(a){var b=a.editor;b.on("selectionCheck",function(){a.fire("checkSelection")});a.on("checkSelection",a.checkSelection,a);b.on("selectionChange",function(c){var d=(c=g.getNestedEditable(b.editable(),c.data.selection.getStartElement()))&&a.getByElement(c),e=a.widgetHoldingFocusedEditable;e?e===d&&e.focusedEditable.equals(c)||(n(a,e,null),d&&c&&n(a,d,c)):d&&c&&n(a,d,c)});b.on("dataReady",function(){z(a).commit()});b.on("blur",function(){var b;(b=a.focused)&&
+t(a,b);(b=a.widgetHoldingFocusedEditable)&&n(a,b,null)})}function G(a){var b=a.editor,c={};b.on("toDataFormat",function(b){var e=CKEDITOR.tools.getNextNumber(),f=[];b.data.downcastingSessionId=e;c[e]=f;b.data.dataValue.forEach(function(b){var c=b.attributes,d;if("data-cke-widget-id"in c){if(c=a.instances[c["data-cke-widget-id"]])d=b.getFirst(g.isParserWidgetElement),f.push({wrapper:b,element:d,widget:c,editables:{}}),"1"!=d.attributes["data-cke-widget-keep-attr"]&&delete d.attributes["data-widget"]}else if("data-cke-widget-editable"in
+c)return f[f.length-1].editables[c["data-cke-widget-editable"]]=b,!1},CKEDITOR.NODE_ELEMENT,!0)},null,null,8);b.on("toDataFormat",function(a){if(a.data.downcastingSessionId){a=c[a.data.downcastingSessionId];for(var b,f,h,l,g,m;b=a.shift();){f=b.widget;h=b.element;l=f._.downcastFn&&f._.downcastFn.call(f,h);for(m in b.editables)g=b.editables[m],delete g.attributes.contenteditable,g.setHtml(f.editables[m].getData());l||(l=h);b.wrapper.replaceWith(l)}}},null,null,13);b.on("contentDomUnload",function(){a.destroyAll(!0)})}
+function F(a){var b=a.editor,c,d;b.on("toHtml",function(b){var d=R(a),h;for(b.data.dataValue.forEach(d.iterator,CKEDITOR.NODE_ELEMENT,!0);h=d.toBeWrapped.pop();){var l=h[0],k=l.parent;k.type==CKEDITOR.NODE_ELEMENT&&k.attributes["data-cke-widget-wrapper"]&&k.replaceWith(l);a.wrapElement(h[0],h[1])}c=b.data.protectedWhitespaces?3==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[1]):1==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[0])},
+null,null,8);b.on("dataReady",function(){if(d)for(var c=b.editable().find(".cke_widget_wrapper"),f,h,l=0,k=c.count();l<k;++l)f=c.getItem(l),h=f.getFirst(g.isDomWidgetElement),h.type==CKEDITOR.NODE_ELEMENT&&h.data("widget")?(h.replace(f),a.wrapElement(h)):f.remove();d=0;a.destroyAll(!0);a.initOnAll()});b.on("loadSnapshot",function(b){/data-cke-widget/.test(b.data)&&(d=1);a.destroyAll(!0)},null,null,9);b.on("paste",function(a){a=a.data;a.dataValue=a.dataValue.replace(U,T);a.range&&(a=g.getNestedEditable(b.editable(),
+a.range.startContainer))&&(a=CKEDITOR.filter.instances[a.data("cke-filter")])&&b.setActiveFilter(a)});b.on("afterInsertHtml",function(d){d.data.intoRange?a.checkWidgets({initOnlyNew:!0}):(b.fire("lockSnapshot"),a.checkWidgets({initOnlyNew:!0,focusInited:c}),b.fire("unlockSnapshot"))})}function z(a){var b=a.selected,c=[],d=b.slice(0),e=null;return{select:function(a){0>CKEDITOR.tools.indexOf(b,a)&&c.push(a);a=CKEDITOR.tools.indexOf(d,a);0<=a&&d.splice(a,1);return this},focus:function(a){e=a;return this},
+commit:function(){var f=a.focused!==e,h,g;a.editor.fire("lockSnapshot");for(f&&(h=a.focused)&&t(a,h);h=d.pop();)b.splice(CKEDITOR.tools.indexOf(b,h),1),h.isInited()&&(g=h.editor.checkDirty(),h.setSelected(!1),!g&&h.editor.resetDirty());f&&e&&(g=a.editor.checkDirty(),a.focused=e,a.fire("widgetFocused",{widget:e}),e.setFocused(!0),!g&&a.editor.resetDirty());for(;h=c.pop();)b.push(h),h.setSelected(!0);a.editor.fire("unlockSnapshot")}}}function A(a,b,c){var d=0;b=B(b);var e=a.data.classes||{},f;if(b){for(e=
+CKEDITOR.tools.clone(e);f=b.pop();)c?e[f]||(d=e[f]=1):e[f]&&(delete e[f],d=1);d&&a.setData("classes",e)}}function C(a){a.cancel()}function y(a,b){var c=a.editor,d=c.document;if(!d.getById("cke_copybin")){var e=c.blockless||CKEDITOR.env.ie?"span":"div",f=d.createElement(e),h=d.createElement(e),e=CKEDITOR.env.ie&&9>CKEDITOR.env.version;h.setAttributes({id:"cke_copybin","data-cke-temp":"1"});f.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"});f.setStyle("ltr"==c.config.contentsLangDirection?
+"left":"right","-5000px");var g=c.createRange();g.setStartBefore(a.wrapper);g.setEndAfter(a.wrapper);f.setHtml('\x3cspan data-cke-copybin-start\x3d"1"\x3e​\x3c/span\x3e'+c.editable().getHtmlFromRange(g).getHtml()+'\x3cspan data-cke-copybin-end\x3d"1"\x3e​\x3c/span\x3e');c.fire("saveSnapshot");c.fire("lockSnapshot");h.append(f);c.editable().append(h);var k=c.on("selectionChange",C,null,null,0),m=a.repository.on("checkSelection",C,null,null,0);if(e)var n=d.getDocumentElement().$,p=n.scrollTop;g=c.createRange();
+g.selectNodeContents(f);g.select();e&&(n.scrollTop=p);setTimeout(function(){b||a.focus();h.remove();k.removeListener();m.removeListener();c.fire("unlockSnapshot");b&&(a.repository.del(a),c.fire("saveSnapshot"))},100)}}function B(a){return(a=(a=a.getDefinition().attributes)&&a["class"])?a.split(/\s+/):null}function D(){var a=CKEDITOR.document.getActive(),b=this.editor,c=b.editable();(c.isInline()?c:b.document.getWindow().getFrame()).equals(a)&&b.focusManager.focus(c)}function E(){CKEDITOR.env.gecko&&
+this.editor.unlockSelection();CKEDITOR.env.webkit||(this.editor.forceNextSelectionCheck(),this.editor.selectionChange(1))}function V(a){var b=null;a.on("data",function(){var a=this.data.classes,d;if(b!=a){for(d in b)a&&a[d]||this.removeClass(d);for(d in a)this.addClass(d);b=a}})}function W(a){a.on("data",function(){if(a.wrapper){var b=this.getLabel?this.getLabel():this.editor.lang.widget.label.replace(/%1/,this.pathName||this.element.getName());a.wrapper.setAttribute("role","region");a.wrapper.setAttribute("aria-label",
+b)}},null,null,9999)}function X(a){if(a.draggable){var b=a.editor,c=a.wrapper.getLast(g.isDomDragHandlerContainer),d;c?d=c.findOne("img"):(c=new CKEDITOR.dom.element("span",b.document),c.setAttributes({"class":"cke_reset cke_widget_drag_handler_container",style:"background:rgba(220,220,220,0.5);background-image:url("+b.plugins.widget.path+"images/handle.png)"}),d=new CKEDITOR.dom.element("img",b.document),d.setAttributes({"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1",
+src:CKEDITOR.tools.transparentImageData,width:15,title:b.lang.widget.move,height:15,role:"presentation"}),a.inline&&d.setAttribute("draggable","true"),c.append(d),a.wrapper.append(c));a.wrapper.on("dragover",function(a){a.data.preventDefault()});a.wrapper.on("mouseenter",a.updateDragHandlerPosition,a);setTimeout(function(){a.on("data",a.updateDragHandlerPosition,a)},50);if(!a.inline&&(d.on("mousedown",Y,a),CKEDITOR.env.ie&&9>CKEDITOR.env.version))d.on("dragstart",function(a){a.data.preventDefault(!0)});
+a.dragHandlerContainer=c}}function Y(a){function b(){var b;for(q.reset();b=g.pop();)b.removeListener();var c=k;b=a.sender;var d=this.repository.finder,e=this.repository.liner,f=this.editor,h=this.editor.editable();CKEDITOR.tools.isEmpty(e.visible)||(c=d.getRange(c[0]),this.focus(),f.fire("drop",{dropRange:c,target:c.startContainer}));h.removeClass("cke_widget_dragging");e.hideVisible();f.fire("dragend",{target:b})}var c=this.repository.finder,d=this.repository.locator,e=this.repository.liner,f=this.editor,
+h=f.editable(),g=[],k=[],m,n;this.repository._.draggedWidget=this;var p=c.greedySearch(),q=CKEDITOR.tools.eventsBuffer(50,function(){m=d.locate(p);k=d.sort(n,1);k.length&&(e.prepare(p,m),e.placeLine(k[0]),e.cleanup())});h.addClass("cke_widget_dragging");g.push(h.on("mousemove",function(a){n=a.data.$.clientY;q.input()}));f.fire("dragstart",{target:a.sender});g.push(f.document.once("mouseup",b,this));h.isInline()||g.push(CKEDITOR.document.once("mouseup",b,this))}function Z(a){var b,c,d=a.editables;
+a.editables={};if(a.editables)for(b in d)c=d[b],a.initEditable(b,"string"==typeof c?{selector:c}:c)}function aa(a){if(a.mask){var b=a.wrapper.findOne(".cke_widget_mask");b||(b=new CKEDITOR.dom.element("img",a.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_mask"}),a.wrapper.append(b));a.mask=b}}function ba(a){if(a.parts){var b={},c,d;for(d in a.parts)c=a.wrapper.findOne(a.parts[d]),b[d]=c;a.parts=b}}function N(a,b){ca(a);ba(a);Z(a);aa(a);X(a);
+V(a);W(a);if(CKEDITOR.env.ie&&9>CKEDITOR.env.version)a.wrapper.on("dragstart",function(b){var d=b.data.getTarget();g.getNestedEditable(a,d)||a.inline&&g.isDomDragHandler(d)||b.data.preventDefault()});a.wrapper.removeClass("cke_widget_new");a.element.addClass("cke_widget_element");a.on("key",function(b){b=b.data.keyCode;if(13==b)a.edit();else{if(b==CKEDITOR.CTRL+67||b==CKEDITOR.CTRL+88){y(a,b==CKEDITOR.CTRL+88);return}if(b in da||CKEDITOR.CTRL&b||CKEDITOR.ALT&b)return}return!1},null,null,999);a.on("doubleclick",
+function(b){a.edit()&&b.cancel()});if(b.data)a.on("data",b.data);if(b.edit)a.on("edit",b.edit)}function ca(a){(a.wrapper=a.element.getParent()).setAttribute("data-cke-widget-id",a.id)}function r(a){a.element.data("cke-widget-data",encodeURIComponent(JSON.stringify(a.data)))}CKEDITOR.plugins.add("widget",{requires:"lineutils,clipboard,widgetselection",onLoad:function(){CKEDITOR.addCss(".cke_widget_wrapper{position:relative;outline:none}.cke_widget_inline{display:inline-block}.cke_widget_wrapper:hover\x3e.cke_widget_element{outline:2px solid yellow;cursor:default}.cke_widget_wrapper:hover .cke_widget_editable{outline:2px solid yellow}.cke_widget_wrapper.cke_widget_focused\x3e.cke_widget_element,.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{outline:2px solid #ace}.cke_widget_editable{cursor:text}.cke_widget_drag_handler_container{position:absolute;width:15px;height:0;display:none;opacity:0.75;transition:height 0s 0.2s;line-height:0}.cke_widget_wrapper:hover\x3e.cke_widget_drag_handler_container{height:15px;transition:none}.cke_widget_drag_handler_container:hover{opacity:1}img.cke_widget_drag_handler{cursor:move;width:15px;height:15px;display:inline-block}.cke_widget_mask{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{cursor:move !important}")},
 beforeInit:function(a){a.widgets=new p(a)},afterInit:function(a){var b=a.widgets.registered,c,d,e;for(d in b)c=b[d],(e=c.button)&&a.ui.addButton&&a.ui.addButton(CKEDITOR.tools.capitalize(c.name,!0),{label:e,command:c.name,toolbar:"insert,10"});S(a)}});p.prototype={MIN_SELECTION_CHECK_INTERVAL:500,add:function(a,b){b=CKEDITOR.tools.prototypedCopy(b);b.name=a;b._=b._||{};this.editor.fire("widgetDefinition",b);b.template&&(b.template=new CKEDITOR.template(b.template));O(this.editor,b);P(this,b);return this.registered[a]=
 b},addUpcastCallback:function(a){this._.upcastCallbacks.push(a)},checkSelection:function(){var a=this.editor.getSelection(),b=a.getSelectedElement(),c=z(this),d;if(b&&(d=this.getByElement(b,!0)))return c.focus(d).select(d).commit();a=a.getRanges()[0];if(!a||a.collapsed)return c.commit();a=new CKEDITOR.dom.walker(a);for(a.evaluator=g.isDomWidgetWrapper;b=a.next();)c.select(this.getByElement(b));c.commit()},checkWidgets:function(a){this.fire("checkWidgets",CKEDITOR.tools.copy(a||{}))},del:function(a){if(this.focused===
 a){var b=a.editor,c=b.createRange(),d;(d=c.moveToClosestEditablePosition(a.wrapper,!0))||(d=c.moveToClosestEditablePosition(a.wrapper,!1));d&&b.getSelection().selectRanges([c])}a.wrapper.remove();this.destroy(a,!0)},destroy:function(a,b){this.widgetHoldingFocusedEditable===a&&n(this,a,null,b);a.destroy(b);delete this.instances[a.id];this.fire("instanceDestroyed",a)},destroyAll:function(a,b){var c,d,e=this.instances;if(b&&!a){d=b.find(".cke_widget_wrapper");for(var e=d.count(),f=0;f<e;++f)(c=this.getByElement(d.getItem(f),
@@ -1062,12 +1090,13 @@ e=c.getContentElement("general","align").getValue(),h=null,b=null,i=!1,k=c.getPa
 i=!1);l(f,k,h,b,i,g,e,d);d.setData("oembed",f);d.setData("resizeType",g);d.setData("align",e);d.setData("maxWidth",h);d.setData("maxHeight",b)}},{type:"hbox",widths:["50%","50%"],children:[{id:"resizeType",type:"select",label:a.lang.oembed.resizeType,"default":"noresize",setup:function(a){a.data.resizeType&&this.setValue(a.data.resizeType)},items:[[a.lang.oembed.noresize,"noresize"],[a.lang.oembed.responsive,"responsive"],[a.lang.oembed.custom,"custom"]],onChange:k},{type:"hbox",id:"maxSizeBox",widths:["120px",
 "120px"],style:"float:left;position:absolute;left:58%;width:200px",children:[{type:"text",width:"100px",id:"maxWidth","default":null!=a.config.oembed_maxWidth?a.config.oembed_maxWidth:"560",label:a.lang.oembed.maxWidth,title:a.lang.oembed.maxWidthTitle,setup:function(a){a.data.maxWidth&&this.setValue(a.data.maxWidth)}},{type:"text",id:"maxHeight",width:"120px","default":null!=a.config.oembed_maxHeight?a.config.oembed_maxHeight:"315",label:a.lang.oembed.maxHeight,title:a.lang.oembed.maxHeightTitle,
 setup:function(a){a.data.maxHeight&&this.setValue(a.data.maxHeight)}}]},{type:"hbox",id:"sizeBox",widths:["120px","120px"],style:"float:left;position:absolute;left:58%;width:200px",children:[{type:"text",id:"width",width:"100px","default":null!=a.config.oembed_maxWidth?a.config.oembed_maxWidth:"560",label:a.lang.oembed.width,title:a.lang.oembed.widthTitle,setup:function(a){a.data.maxWidth&&this.setValue(a.data.maxWidth)}},{type:"text",id:"height",width:"120px","default":null!=a.config.oembed_maxHeight?
-a.config.oembed_maxHeight:"315",label:a.lang.oembed.height,title:a.lang.oembed.heightTitle,setup:function(a){a.data.maxHeight&&this.setValue(a.data.maxHeight)}}]}]},{type:"hbox",id:"alignment",children:[{id:"align",type:"radio",items:[[a.lang.oembed.none,"none"],[a.lang.common.alignLeft,"left"],[a.lang.common.alignCenter,"center"],[a.lang.common.alignRight,"right"]],label:a.lang.common.align,setup:function(a){this.setValue(a.data.align)}}]}]}]}})}})})();(function(){var b={canUndo:!0,exec:function(a){var b=a.document.createElement("br",{attributes:{style:"clear:both;"}});a.insertElement(b)},html:'\x3cbr style\x3d"clear:both;" /\x3e'};CKEDITOR.plugins.add("brclear",{lang:"en,es,fr",init:function(a){a.addCommand("brclear",b);a.ui.addButton("brclear",{icon:this.path+"brclear.png",command:"brclear",toolbar:"cleanup",title:a.lang.brclear.title})}})})();CKEDITOR.plugins.add("html5audio",{requires:"widget",lang:"de,en,eu,es,fr,ru,uk,uz",icons:"html5audio",init:function(b){b.widgets.add("html5audio",{button:b.lang.html5audio.button,template:'\x3cdiv class\x3d"ckeditor-html5-audio"\x3e\x3c/div\x3e',editables:{},allowedContent:"div(!ckeditor-html5-audio){text-align,float,margin-left,margin-right}; audio[src,controls,autoplay];",requiredContent:"div(ckeditor-html5-audio); audio[src,controls];",upcast:function(a){return"div"===a.name&&a.hasClass("ckeditor-html5-audio")},
-dialog:"html5audio",init:function(){var a="",b="",c=this.element.getStyle("text-align");this.element.getChild(0)&&(a=this.element.getChild(0).getAttribute("src"),b=this.element.getChild(0).getAttribute("autoplay"));a&&(this.setData("src",a),c?this.setData("align",c):this.setData("align","none"),b&&this.setData("autoplay","yes"))},data:function(){if(this.data.src){if(!this.element.getChild(0)){var a=new CKEDITOR.dom.element("audio");a.setAttribute("controls","controls");this.element.append(a)}this.element.getChild(0).setAttribute("src",
-this.data.src)}this.element.removeStyle("float");this.element.removeStyle("margin-left");this.element.removeStyle("margin-right");"none"===this.data.align?this.element.removeStyle("text-align"):this.element.setStyle("text-align",this.data.align);"left"===this.data.align?(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-right","10px")):"right"===this.data.align&&(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-left","10px"));this.element.getChild(0)&&
-("yes"===this.data.autoplay?this.element.getChild(0).setAttribute("autoplay","autoplay"):this.element.getChild(0).removeAttribute("autoplay"))}});b.contextMenu&&(b.addMenuGroup("html5audioGroup"),b.addMenuItem("html5audioPropertiesItem",{label:b.lang.html5audio.audioProperties,icon:"html5audio",command:"html5audio",group:"html5audioGroup"}),b.contextMenu.addListener(function(a){if(a&&a.getChild(0)&&a.getChild(0).hasClass&&a.getChild(0).hasClass("ckeditor-html5-audio"))return{html5audioPropertiesItem:CKEDITOR.TRISTATE_OFF}}));
-CKEDITOR.dialog.add("html5audio",this.path+"dialogs/html5audio.js")}});CKEDITOR.plugins.add("html5video",{requires:"widget",lang:"de,en,eu,es,ru,uk,fr",icons:"html5video",init:function(b){b.widgets.add("html5video",{button:b.lang.html5video.button,template:'\x3cdiv class\x3d"ckeditor-html5-video"\x3e\x3c/div\x3e',allowedContent:"div(!ckeditor-html5-video){text-align,float,margin-left,margin-right}; video[src,controls,autoplay];",requiredContent:"div(ckeditor-html5-video); video[src,controls];",upcast:function(a){return"div"===a.name&&a.hasClass("ckeditor-html5-video")},
-dialog:"html5video",init:function(){var a="",b="",e=this.element.getStyle("text-align"),c="",d="";this.element.getChild(0)&&(a=this.element.getChild(0).getAttribute("src"),c=this.element.getChild(0).getAttribute("width"),d=this.element.getChild(0).getAttribute("height"),b=this.element.getChild(0).getAttribute("autoplay"));a&&(this.setData("src",a),e?this.setData("align",e):this.setData("align","none"),c?this.setData("width",c):this.setData("width","400"),d?this.setData("height",d):this.setData("height",
-"300"),b&&this.setData("autoplay","yes"))},data:function(){if(this.data.src){if(!this.element.getChild(0)){var a=new CKEDITOR.dom.element("video");a.setAttribute("controls","controls");this.element.append(a)}this.element.getChild(0).setAttribute("src",this.data.src).setAttribute("width",this.data.width).setAttribute("height",this.data.height)}this.element.removeStyle("float");this.element.removeStyle("margin-left");this.element.removeStyle("margin-right");"none"===this.data.align?this.element.removeStyle("text-align"):
-this.element.setStyle("text-align",this.data.align);"left"===this.data.align?(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-right","10px")):"right"===this.data.align&&(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-left","10px"));this.element.getChild(0)&&("yes"===this.data.autoplay?this.element.getChild(0).setAttribute("autoplay","autoplay"):this.element.getChild(0).removeAttribute("autoplay"))}});b.contextMenu&&(b.addMenuGroup("html5videoGroup"),
-b.addMenuItem("html5videoPropertiesItem",{label:b.lang.html5video.videoProperties,icon:"html5video",command:"html5video",group:"html5videoGroup"}),b.contextMenu.addListener(function(a){if(a&&a.getChild(0)&&a.getChild(0).hasClass&&a.getChild(0).hasClass("ckeditor-html5-video"))return{html5videoPropertiesItem:CKEDITOR.TRISTATE_OFF}}));CKEDITOR.dialog.add("html5video",this.path+"dialogs/html5video.js")}});CKEDITOR.config.plugins='dialogui,dialog,a11yhelp,dialogadvtab,basicstyles,button,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,floatingspace,listblock,richcombo,font,format,horizontalrule,htmlwriter,fakeobjects,iframe,wysiwygarea,image,indent,indentblock,indentlist,justify,link,list,liststyle,magicline,maximize,removeformat,showborders,sourcearea,tab,lineutils,clipboard,widgetselection,widget,oembed,brclear,html5audio,html5video';CKEDITOR.config.skin='moonocolor';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('bold,0,,italic,24,,strike,48,,subscript,72,,superscript,96,,underline,120,,bgcolor,144,,textcolor,168,,creatediv,192,,horizontalrule,216,,iframe,240,,image,264,,indent-rtl,288,,indent,312,,outdent-rtl,336,,outdent,360,,justifyblock,384,,justifycenter,408,,justifyleft,432,,justifyright,456,,anchor-rtl,480,,anchor,504,,link,528,,unlink,552,,bulletedlist-rtl,576,,bulletedlist,600,,numberedlist-rtl,624,,numberedlist,648,,maximize,672,,removeformat,696,,source-rtl,720,,source,744,,copy-rtl,768,,copy,792,,cut-rtl,816,,cut,840,,paste-rtl,864,,paste,888,,oembed,912,,html5audio,1872,auto,html5video,1920,auto','icons_hidpi.png');else setIcons('bold,0,auto,italic,24,auto,strike,48,auto,subscript,72,auto,superscript,96,auto,underline,120,auto,bgcolor,144,auto,textcolor,168,auto,creatediv,192,auto,horizontalrule,216,auto,iframe,240,auto,image,264,auto,indent-rtl,288,auto,indent,312,auto,outdent-rtl,336,auto,outdent,360,auto,justifyblock,384,auto,justifycenter,408,auto,justifyleft,432,auto,justifyright,456,auto,anchor-rtl,480,auto,anchor,504,auto,link,528,auto,unlink,552,auto,bulletedlist-rtl,576,auto,bulletedlist,600,auto,numberedlist-rtl,624,auto,numberedlist,648,auto,maximize,672,auto,removeformat,696,auto,source-rtl,720,auto,source,744,auto,copy-rtl,768,auto,copy,792,auto,cut-rtl,816,auto,cut,840,auto,paste-rtl,864,auto,paste,888,auto,oembed,912,auto,html5audio,936,auto,html5video,960,auto','icons.png');})();CKEDITOR.lang.languages={"en":1,"fr":1};}());
\ No newline at end of file
+a.config.oembed_maxHeight:"315",label:a.lang.oembed.height,title:a.lang.oembed.heightTitle,setup:function(a){a.data.maxHeight&&this.setValue(a.data.maxHeight)}}]}]},{type:"hbox",id:"alignment",children:[{id:"align",type:"radio",items:[[a.lang.oembed.none,"none"],[a.lang.common.alignLeft,"left"],[a.lang.common.alignCenter,"center"],[a.lang.common.alignRight,"right"]],label:a.lang.common.align,setup:function(a){this.setValue(a.data.align)}}]}]}]}})}})})();(function(){var b={canUndo:!0,exec:function(a){var b=a.document.createElement("br",{attributes:{style:"clear:both;"}});a.insertElement(b)},html:'\x3cbr style\x3d"clear:both;" /\x3e'};CKEDITOR.plugins.add("brclear",{lang:"en,es,fr",init:function(a){a.addCommand("brclear",b);a.ui.addButton("brclear",{icon:this.path+"brclear.png",command:"brclear",toolbar:"cleanup",title:a.lang.brclear.title})}})})();CKEDITOR.plugins.add("html5audio",{requires:"widget",lang:"de,el,en,eu,es,fr,ru,uk,uz,zh-cn",icons:"html5audio",init:function(b){b.widgets.add("html5audio",{button:b.lang.html5audio.button,template:'\x3cdiv class\x3d"ckeditor-html5-audio"\x3e\x3c/div\x3e',editables:{},allowedContent:"div(!ckeditor-html5-audio){text-align,float,margin-left,margin-right}; audio[src,controls,controlslist,autoplay];",requiredContent:"div(ckeditor-html5-audio); audio[src,controls];",upcast:function(a){return"div"===a.name&&
+a.hasClass("ckeditor-html5-audio")},dialog:"html5audio",init:function(){var a="",b="",c=this.element.getStyle("text-align");this.element.getChild(0)&&(a=this.element.getChild(0).getAttribute("src"),b=this.element.getChild(0).getAttribute("autoplay"),allowdownload=!this.element.getChild(0).getAttribute("controlslist"));a&&(this.setData("src",a),c?this.setData("align",c):this.setData("align","none"),b&&this.setData("autoplay","yes"),allowdownload&&this.setData("allowdownload","yes"))},data:function(){if(this.data.src){if(!this.element.getChild(0)){var a=
+new CKEDITOR.dom.element("audio");a.setAttribute("controls","controls");this.element.append(a)}this.element.getChild(0).setAttribute("src",this.data.src)}this.element.removeStyle("float");this.element.removeStyle("margin-left");this.element.removeStyle("margin-right");"none"===this.data.align?this.element.removeStyle("text-align"):this.element.setStyle("text-align",this.data.align);"left"===this.data.align?(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-right","10px")):
+"right"===this.data.align&&(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-left","10px"));this.element.getChild(0)&&("yes"===this.data.autoplay?this.element.getChild(0).setAttribute("autoplay","autoplay"):this.element.getChild(0).removeAttribute("autoplay"),"yes"===this.data.allowdownload?this.element.getChild(0).removeAttribute("controlslist"):this.element.getChild(0).setAttribute("controlslist","nodownload"))}});b.contextMenu&&(b.addMenuGroup("html5audioGroup"),b.addMenuItem("html5audioPropertiesItem",
+{label:b.lang.html5audio.audioProperties,icon:"html5audio",command:"html5audio",group:"html5audioGroup"}),b.contextMenu.addListener(function(a){if(a&&a.getChild(0)&&a.getChild(0).hasClass&&a.getChild(0).hasClass("ckeditor-html5-audio"))return{html5audioPropertiesItem:CKEDITOR.TRISTATE_OFF}}));CKEDITOR.dialog.add("html5audio",this.path+"dialogs/html5audio.js")}});CKEDITOR.plugins.add("html5video",{requires:"widget",lang:"de,en,eu,es,ru,uk,fr",icons:"html5video",init:function(b){b.widgets.add("html5video",{button:b.lang.html5video.button,template:'\x3cdiv class\x3d"ckeditor-html5-video"\x3e\x3c/div\x3e',allowedContent:"div[data-responsive](!ckeditor-html5-video){text-align,float,margin-left,margin-right}; video[src,controls,autoplay,width, height]{max-width,height};",requiredContent:"div(ckeditor-html5-video); video[src,controls];",upcast:function(a){return"div"===
+a.name&&a.hasClass("ckeditor-html5-video")},dialog:"html5video",init:function(){var a="",b="",e=this.element.getStyle("text-align"),c="",d="";this.element.getChild(0)&&(a=this.element.getChild(0).getAttribute("src"),c=this.element.getChild(0).getAttribute("width"),d=this.element.getChild(0).getAttribute("height"),b=this.element.getChild(0).getAttribute("autoplay"),responsive=this.element.getAttribute("data-responsive"));a&&(this.setData("src",a),e?this.setData("align",e):this.setData("align","none"),
+c&&this.setData("width",c),d&&this.setData("height",d),b&&this.setData("autoplay","yes"),responsive&&this.setData("responsive",responsive))},data:function(){if(this.data.src){if(!this.element.getChild(0)){var a=new CKEDITOR.dom.element("video");a.setAttribute("controls","controls");this.element.append(a)}this.element.getChild(0).setAttribute("src",this.data.src);this.data.width&&this.element.getChild(0).setAttribute("width",this.data.width);this.data.height&&this.element.getChild(0).setAttribute("height",
+this.data.height);this.data.responsive?(this.element.setAttribute("data-responsive",this.data.responsive),this.element.getChild(0).setStyle("max-width","100%"),this.element.getChild(0).setStyle("height","auto")):(this.element.getChild(0).removeStyle("max-width"),this.element.getChild(0).removeStyle("height"))}this.element.removeStyle("float");this.element.removeStyle("margin-left");this.element.removeStyle("margin-right");"none"===this.data.align?this.element.removeStyle("text-align"):this.element.setStyle("text-align",
+this.data.align);"left"===this.data.align?(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-right","10px")):"right"===this.data.align&&(this.element.setStyle("float",this.data.align),this.element.setStyle("margin-left","10px"));this.element.getChild(0)&&("yes"===this.data.autoplay?this.element.getChild(0).setAttribute("autoplay","autoplay"):this.element.getChild(0).removeAttribute("autoplay"))}});b.contextMenu&&(b.addMenuGroup("html5videoGroup"),b.addMenuItem("html5videoPropertiesItem",
+{label:b.lang.html5video.videoProperties,icon:"html5video",command:"html5video",group:"html5videoGroup"}),b.contextMenu.addListener(function(a){if(a&&a.getChild(0)&&a.getChild(0).hasClass&&a.getChild(0).hasClass("ckeditor-html5-video"))return{html5videoPropertiesItem:CKEDITOR.TRISTATE_OFF}}));CKEDITOR.dialog.add("html5video",this.path+"dialogs/html5video.js")}});CKEDITOR.config.plugins='dialogui,dialog,a11yhelp,dialogadvtab,basicstyles,button,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,floatingspace,listblock,richcombo,font,format,horizontalrule,htmlwriter,fakeobjects,iframe,wysiwygarea,image,indent,indentblock,indentlist,justify,link,list,liststyle,magicline,maximize,removeformat,showborders,sourcearea,tab,lineutils,notification,clipboard,widgetselection,widget,oembed,brclear,html5audio,html5video';CKEDITOR.config.skin='moonocolor';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('bold,0,,italic,24,,strike,48,,subscript,72,,superscript,96,,underline,120,,bgcolor,144,,textcolor,168,,creatediv,192,,horizontalrule,216,,iframe,240,,image,264,,indent-rtl,288,,indent,312,,outdent-rtl,336,,outdent,360,,justifyblock,384,,justifycenter,408,,justifyleft,432,,justifyright,456,,anchor-rtl,480,,anchor,504,,link,528,,unlink,552,,bulletedlist-rtl,576,,bulletedlist,600,,numberedlist-rtl,624,,numberedlist,648,,maximize,672,,removeformat,696,,source-rtl,720,,source,744,,copy-rtl,768,,copy,792,,cut-rtl,816,,cut,840,,paste-rtl,864,,paste,888,,oembed,912,,html5audio,1872,auto,html5video,1920,auto','icons_hidpi.png');else setIcons('bold,0,auto,italic,24,auto,strike,48,auto,subscript,72,auto,superscript,96,auto,underline,120,auto,bgcolor,144,auto,textcolor,168,auto,creatediv,192,auto,horizontalrule,216,auto,iframe,240,auto,image,264,auto,indent-rtl,288,auto,indent,312,auto,outdent-rtl,336,auto,outdent,360,auto,justifyblock,384,auto,justifycenter,408,auto,justifyleft,432,auto,justifyright,456,auto,anchor-rtl,480,auto,anchor,504,auto,link,528,auto,unlink,552,auto,bulletedlist-rtl,576,auto,bulletedlist,600,auto,numberedlist-rtl,624,auto,numberedlist,648,auto,maximize,672,auto,removeformat,696,auto,source-rtl,720,auto,source,744,auto,copy-rtl,768,auto,copy,792,auto,cut-rtl,816,auto,cut,840,auto,paste-rtl,864,auto,paste,888,auto,oembed,912,auto,html5audio,936,auto,html5video,960,auto','icons.png');})();CKEDITOR.lang.languages={"en":1,"fr":1};}());
\ No newline at end of file
index aed7b19133b54711d5d73e9893cc0bc6f580e519..f920656c4e1ebdd0511ff6de37c7156c49248e26 100644 (file)
@@ -1,5 +1,5 @@
-/*\r
-Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
-For licensing, see LICENSE.md or http://ckeditor.com/license\r
+/*
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-CKEDITOR.lang['en']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Alignment","alignLeft":"Left","alignRight":"Right","alignCenter":"Center","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","224":"Command"},"keyboardShortcut":"Keyboard shortcut"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"button":{"selectedLabel":"%1 (Selected)"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"contextmenu":{"options":"Context Menu Options"},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"justify":{"block":"Justify","center":"Center","left":"Align Left","right":"Align Right"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"removeformat":{"toolbar":"Remove Format"},"sourcearea":{"toolbar":"Source"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"oembed":{"title":"Embed Media Content (Photo, Video, Audio or Rich Content)","button":"Embed Media from External Sites","pasteUrl":"Paste a URL (shorted URLs are also supported) from one of the supported sites (e.g. YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.).","invalidUrl":"Please provide a valid URL.","noEmbedCode":"No embed code found, or site is not supported.","url":"URL:","width":"Width:","height":"Height:","widthTitle":"Width for the embeded content","heightTitle":"Height for the embeded content","maxWidth":"Max. Width:","maxHeight":"Max. Height:","maxWidthTitle":"Maximum Width for the embeded Content","maxHeightTitle":"Maximum Height for the embeded Content","none":"None","resizeType":"Resize Type (videos only):","noresize":"No Resize (use default)","responsive":"Responsive Resize","custom":"Specific Resize","noVimeo":"The owner of this video has set domain restrictions and you will not be able to embed it on your website.","Error":"Media Content could not been retrieved, please try a different URL."},"brclear":{"title":"New line in full width"},"html5audio":{"button":"Insert HTML5 audio","title":"HTML5 audio","infoLabel":"Audio info","urlMissing":"Audio source URL is missing.","audioProperties":"Audio properties","upload":"Upload","btnUpload":"Send it to the server","advanced":"Advanced","autoplay":"Autoplay?","yes":"Yes","no":"No"},"html5video":{"button":"Insert HTML5 video","title":"HTML5 video","infoLabel":"Video info","allowed":"Allowed file extensions: MP4, WebM, Ogv","urlMissing":"Video source URL is missing.","videoProperties":"Video properties","upload":"Upload","btnUpload":"Send it to the server","advanced":"Advanced","autoplay":"Autoplay?","yes":"Yes","no":"No"}};
\ No newline at end of file
+CKEDITOR.lang['en']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Alignment","alignLeft":"Left","alignRight":"Right","alignCenter":"Center","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","224":"Command"},"keyboardShortcut":"Keyboard shortcut"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"button":{"selectedLabel":"%1 (Selected)"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"contextmenu":{"options":"Context Menu Options"},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"justify":{"block":"Justify","center":"Center","left":"Align Left","right":"Align Right"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"removeformat":{"toolbar":"Remove Format"},"sourcearea":{"toolbar":"Source"},"notification":{"closed":"Notification closed."},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Your browser doesn't allow you to paste this way. Press %1 to paste."},"widget":{"move":"Click and drag to move","label":"%1 widget"},"oembed":{"title":"Embed Media Content (Photo, Video, Audio or Rich Content)","button":"Embed Media from External Sites","pasteUrl":"Paste a URL (shorted URLs are also supported) from one of the supported sites (e.g. YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.).","invalidUrl":"Please provide a valid URL.","noEmbedCode":"No embed code found, or site is not supported.","url":"URL:","width":"Width:","height":"Height:","widthTitle":"Width for the embeded content","heightTitle":"Height for the embeded content","maxWidth":"Max. Width:","maxHeight":"Max. Height:","maxWidthTitle":"Maximum Width for the embeded Content","maxHeightTitle":"Maximum Height for the embeded Content","none":"None","resizeType":"Resize Type (videos only):","noresize":"No Resize (use default)","responsive":"Responsive Resize","custom":"Specific Resize","noVimeo":"The owner of this video has set domain restrictions and you will not be able to embed it on your website.","Error":"Media Content could not been retrieved, please try a different URL."},"brclear":{"title":"New line in full width"},"html5audio":{"button":"Insert HTML5 audio","title":"HTML5 audio","infoLabel":"Audio info","urlMissing":"Audio source URL is missing.","audioProperties":"Audio properties","upload":"Upload","btnUpload":"Send it to the server","advanced":"Advanced","autoplay":"Autoplay?","allowdownload":"Allow download?","yes":"Yes","no":"No"},"html5video":{"button":"Insert HTML5 video","title":"HTML5 video","infoLabel":"Video info","allowed":"Allowed file extensions: MP4, WebM, Ogv","urlMissing":"Video source URL is missing.","videoProperties":"Video properties","upload":"Upload","btnUpload":"Send it to the server","advanced":"Advanced","autoplay":"Autoplay?","yes":"Yes","no":"No","responsive":"Responsive width"}};
\ No newline at end of file
index aeca696947ba82d6196e2204ac2e8d9a3869d6c8..80c24884cf0ede5fbe5e39f21dcf6a0e56a29b03 100644 (file)
@@ -1,5 +1,5 @@
-/*\r
-Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
-For licensing, see LICENSE.md or http://ckeditor.com/license\r
+/*
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-CKEDITOR.lang['fr']={"editor":"Éditeur de texte enrichi","editorPanel":"Tableau de bord de l'éditeur de texte enrichi","common":{"editorHelp":"Utilisez le raccourci Alt-0 pour obtenir de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Téléverser","uploadSubmit":"Envoyer sur le serveur","image":"Image","flash":"Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ invisible","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton avec image","notSet":"<indéfini>","id":"ID","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"Gauche à droite (LTR)","langDirRtl":"Droite à gauche (RTL)","langCode":"Code de langue","longDescr":"URL de description longue","cssClass":"Classes de style","advisoryTitle":"Infobulle","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous sûr de vouloir charger une nouvelle page ?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous sûr de vouloir fermer ?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieure (_top)","targetSelf":"Même fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"Gauche à droite (LTR)","langDirRTL":"Droite à gauche (RTL)","styles":"Style","cssClasses":"Classes de style","width":"Largeur","height":"Hauteur","align":"Alignement","alignLeft":"Gauche","alignRight":"Droite","alignCenter":"Centrer","alignJustify":"Justifier","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"Aucun","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidCssLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style en ligne doit être composée d'un ou plusieurs couples au format « nom : valeur », séparés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Backspace","13":"Entrée","16":"Majuscule","17":"Ctrl","18":"Alt","32":"Space","35":"Fin","36":"Origine","46":"Supprimer","224":"Command"},"keyboardShortcut":"Keyboard shortcut"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"button":{"selectedLabel":"%1 (Sélectionné)"},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur d'arrière-plan","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun de selle","2F4F4F":"Gris sombre d'ardoise","008080":"Canard","000080":"Bleu marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Or terni","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu royal","800080":"Violet","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris tamisé","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Lime","AFEEEE":"Turquoise clair","ADD8E6":"Bleu clair","DDA0DD":"Prune","D3D3D3":"Gris clair","FFF0F5":"Fard lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune clair","F0FFF0":"Vert rosée","F0FFFF":"Azur","F0F8FF":"Bleu Alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur du texte"},"colordialog":{"clear":"Effacer","highlight":"Pointée","options":"Options de couleur","selected":"Couleur choisie","title":"Sélectionner une couleur"},"contextmenu":{"options":"Options du menu contextuel"},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Infobulle","cssClassInputLabel":"Classes de style","edit":"Modifier la division","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"Gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"Droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Enlever la division","styleSelectLabel":"Style","title":"Créer une division","toolbar":"Créer une division"},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse-papier/Défaire","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barres d'outils de l'éditeur"},"elementspath":{"eleLabel":"Chemin des éléments","eleTitle":"Élément %1"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille de police","panelTitle":"Taille de police"},"label":"Police","panelTitle":"Style de police","voiceLabel":"Police"},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Division","tag_h1":"Titre 1","tag_h2":"Titre 2","tag_h3":"Titre 3","tag_h4":"Titre 4","tag_h5":"Titre 5","tag_h6":"Titre 6","tag_p":"Normal","tag_pre":"Préformaté"},"horizontalrule":{"toolbar":"Ligne horizontale"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ invisible","iframe":"Cadre de contenu incorporé","unknown":"Objet inconnu"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entrer l'URL du contenu du cadre","scrolling":"Activer les barres de défilement","title":"Propriétés du cadre de contenu incorporé","toolbar":"Cadre de contenu incorporé"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Voulez-vous transformer le bouton avec image sélectionné en simple image ?","hSpace":"Espacement horizontal","img2Button":"Voulez-vous transformer l'image sélectionnée en bouton avec image ?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Conserver les proportions","menu":"Propriétés de l'image","resetSize":"Réinitialiser la taille","title":"Propriétés de l'image","titleButton":"Propriétés du bouton avec image","upload":"Téléverser","urlMissing":"L'URL source de l'image est manquante.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un nombre entier.","validateHSpace":"L'espacement horizontal doit être un nombre entier.","validateVSpace":"L'espacement vertical doit être un nombre entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"justify":{"block":"Justifier","center":"Centrer","left":"Aligner à gauche","right":"Aligner à droite"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu (indicatif)","advisoryTitle":"Infobulle","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez entrer le nom de l'ancre.","remove":"Supprimer l'ancre"},"anchorId":"Par ID d'élément","anchorName":"Par nom d'ancre","charset":"Encodage de la ressource liée","cssClasses":"Classes de style","download":"Force Download","displayText":"Display Text","emailAddress":"Adresse électronique","emailBody":"Corps du message","emailSubject":"Sujet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"Gauche à droite","langDirRTL":"Droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Aucune ancre disponible dans ce document)","noEmail":"Veuillez entrer l'adresse électronique","noUrl":"Veuillez entrer l'URL du lien","other":"<autre>","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre surgissante","popupFullScreen":"Plein écran (IE)","popupLeft":"À gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"En haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Indice de tabulation","target":"Cible","targetFrame":"<cadre>","targetFrameName":"Nom du cadre affecté","targetPopup":"<fenêtre surgissante>","targetPopupName":"Nom de la fenêtre surgissante","title":"Lien","toAnchor":"Ancre","toEmail":"Courriel","toUrl":"URL","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Insérer/Supprimer une liste à puces","numberedlist":"Insérer/Supprimer une liste numérotée"},"liststyle":{"armenian":"Numération arménienne","bulletedTitle":"Propriétés de la liste à puces","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","decimalLeadingZero":"Décimal précédé par un 0 (01, 02, 03, etc.)","disc":"Disque","georgian":"Numération géorgienne (an, ban, gan, etc.)","lowerAlpha":"Lettres minuscules (a, b, c, d, e, etc.)","lowerGreek":"Grec minuscule (alpha, bêta, gamma, etc.)","lowerRoman":"Chiffres romains minuscules (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<indéfini>","numberedTitle":"Propriétés de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Lettres majuscules (A, B, C, D, E, etc.)","upperRoman":"Chiffres romains majuscules (I, II, III, IV, V, etc.)","validateStartNumber":"Le premier élément de la liste doit être un nombre entier."},"magicline":{"title":"Insérer un paragraphe ici"},"maximize":{"maximize":"Agrandir","minimize":"Réduire"},"removeformat":{"toolbar":"Supprimer la mise en forme"},"sourcearea":{"toolbar":"Source"},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).","paste":"Coller","pasteArea":"Coller la zone","pasteMsg":"Veuillez coller le texte dans la zone suivante en utilisant le raccourci clavier (<strong>Ctrl/Cmd+V</strong>) et cliquez sur OK.","securityMsg":"Les paramètres de sécurité de votre navigateur empêchent l'éditeur d'accéder directement aux données du presse-papier. Vous devez les coller à nouveau dans cette fenêtre.","title":"Coller"},"widget":{"move":"Cliquer et glisser pour déplacer","label":"Élément %1"},"oembed":{"title":"Intégrer des contenus multimédia externes. (Photo, Video, Audio, ...)","button":"Insérer des contenus multimédia provenant de nombreux sites.","pasteUrl":"Coller l'URL de partage que vous voulez publier. De nombreux services sont pris en charge tels que : (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.). Vous pouvez aussi utiliser les URLs courtes.","invalidUrl":"Merci de fournir une URL valide !","noEmbedCode":"Aucun code d'intégration trouvé ou le site n'est pas supporté !","url":"URL:","width":"Largeur:","height":"Hauteur:","widthTitle":"Largeur du conteneur.","heightTitle":"Hauteur du conteneur.","maxWidth":"Max. Largeur:","maxHeight":"Max. Hauteur:","maxWidthTitle":"Largeur maximale du conteneur.","maxHeightTitle":"Hauteur maximale du conteneur.","resizeType":"Resize Type (Only Video's):","none":"None","noresize":"No Resize (use default)","responsive":"Responsive Resize","custom":"Specific Resize","noVimeo":"The owner of this video has set domain restrictions and you will not be able to embed it on your website.","Error":"Media Content could not been retrieved, please try a different URL."},"brclear":{"title":"Retour à la ligne sur toute la largeur"},"html5audio":{"button":"Insérer un lecteur audio HTML5","title":"HTML5 audio","infoLabel":"Informations audio","urlMissing":"URL de la source audio manquante. Veuillez la renseigner.","audioProperties":"Propriétés Audio","upload":"Télécharger","btnUpload":"Envoyer vers le serveur","advanced":"Avancé","autoplay":"Jouer automatiquement ?","yes":"Oui","no":"Non"},"html5video":{"button":"Insérer un lecteur video HTML5","title":"HTML5 video","infoLabel":"Informations video","allowed":"Extensions de fichiers autorisées: MP4, WebM, Ogv","urlMissing":"URL de la source video manquante. Veuillez la renseigner.","videoProperties":"Propriétés Video","upload":"Télécharger","btnUpload":"Envoyer vers le serveur","advanced":"Avancé","autoplay":"Jouer automatiquement ?","yes":"Oui","no":"Non"}};
\ No newline at end of file
+CKEDITOR.lang['fr']={"editor":"Éditeur de texte enrichi","editorPanel":"Tableau de bord de l'éditeur de texte enrichi","common":{"editorHelp":"Utilisez le raccourci Alt-0 pour obtenir de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Télécharger","uploadSubmit":"Envoyer sur le serveur","image":"Image","flash":"Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ invisible","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton avec image","notSet":"<indéfini>","id":"ID","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"Gauche à droite (LTR)","langDirRtl":"Droite à gauche (RTL)","langCode":"Code de langue","longDescr":"URL de description longue","cssClass":"Classes de style","advisoryTitle":"Infobulle","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous sûr de vouloir charger une nouvelle page ?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous sûr de vouloir fermer ?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieure (_top)","targetSelf":"Même fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"Gauche à droite (LTR)","langDirRTL":"Droite à gauche (RTL)","styles":"Style","cssClasses":"Classes de style","width":"Largeur","height":"Hauteur","align":"Alignement","alignLeft":"Gauche","alignRight":"Droite","alignCenter":"Centrer","alignJustify":"Justifier","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"Aucun","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidCssLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style en ligne doit être composée d'un ou plusieurs couples au format « nom : valeur », séparés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Retour arrière","13":"Entrée","16":"Majuscule","17":"Ctrl","18":"Alt","32":"Espace","35":"Fin","36":"Origine","46":"Supprimer","224":"Commande"},"keyboardShortcut":"Raccourci clavier"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"button":{"selectedLabel":"%1 (Sélectionné)"},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur d'arrière-plan","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun de selle","2F4F4F":"Gris sombre d'ardoise","008080":"Canard","000080":"Bleu marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Or terni","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu royal","800080":"Violet","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris tamisé","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Lime","AFEEEE":"Turquoise clair","ADD8E6":"Bleu clair","DDA0DD":"Prune","D3D3D3":"Gris clair","FFF0F5":"Fard lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune clair","F0FFF0":"Vert rosée","F0FFFF":"Azur","F0F8FF":"Bleu Alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Cyan dur","2ECC71":"Émeraude","3498DB":"Bleu brillant","9B59B6":"Améthyste","4E5F70":"Bleu-gris","F1C40F":"Jaune vif","16A085":"Cyan foncé","27AE60":"Émeraude foncée","2980B9":"Bleu dur","8E44AD":"Violet foncé","2C3E50":"Bleu désaturé","F39C12":"Orange","E67E22":"Carotte","E74C3C":"Rouge pâle","ECF0F1":"Argent brillant","95A5A6":"Cyan-gris clair","DDD":"Gris clair","D35400":"Citrouille","C0392B":"Rouge dur","BDC3C7":"Argent","7F8C8D":"Cyan-gris","999":"Gris foncé"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur du texte"},"colordialog":{"clear":"Effacer","highlight":"Pointée","options":"Options de couleur","selected":"Couleur choisie","title":"Sélectionner une couleur"},"contextmenu":{"options":"Options du menu contextuel"},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Infobulle","cssClassInputLabel":"Classes de style","edit":"Modifier la division","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"Gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"Droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Enlever la division","styleSelectLabel":"Style","title":"Créer une division","toolbar":"Créer une division"},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse-papier/Défaire","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barres d'outils de l'éditeur"},"elementspath":{"eleLabel":"Chemin des éléments","eleTitle":"Élément %1"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille de police","panelTitle":"Taille de police"},"label":"Police","panelTitle":"Style de police","voiceLabel":"Police"},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Division","tag_h1":"Titre 1","tag_h2":"Titre 2","tag_h3":"Titre 3","tag_h4":"Titre 4","tag_h5":"Titre 5","tag_h6":"Titre 6","tag_p":"Normal","tag_pre":"Préformaté"},"horizontalrule":{"toolbar":"Ligne horizontale"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ invisible","iframe":"Cadre de contenu incorporé","unknown":"Objet inconnu"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entrer l'URL du contenu du cadre","scrolling":"Activer les barres de défilement","title":"Propriétés du cadre de contenu incorporé","toolbar":"Cadre de contenu incorporé"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Voulez-vous transformer le bouton avec image sélectionné en simple image ?","hSpace":"Espacement horizontal","img2Button":"Voulez-vous transformer l'image sélectionnée en bouton avec image ?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Conserver les proportions","menu":"Propriétés de l'image","resetSize":"Réinitialiser la taille","title":"Propriétés de l'image","titleButton":"Propriétés du bouton avec image","upload":"Téléverser","urlMissing":"L'URL source de l'image est manquante.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un nombre entier.","validateHSpace":"L'espacement horizontal doit être un nombre entier.","validateVSpace":"L'espacement vertical doit être un nombre entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"justify":{"block":"Justifier","center":"Centrer","left":"Aligner à gauche","right":"Aligner à droite"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu (indicatif)","advisoryTitle":"Infobulle","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez entrer le nom de l'ancre.","remove":"Supprimer l'ancre"},"anchorId":"Par ID d'élément","anchorName":"Par nom d'ancre","charset":"Encodage de la ressource liée","cssClasses":"Classes de style","download":"Forcer le téléchargement","displayText":"Afficher le texte","emailAddress":"Adresse électronique","emailBody":"Corps du message","emailSubject":"Sujet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"Gauche à droite","langDirRTL":"Droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Aucune ancre disponible dans ce document)","noEmail":"Veuillez entrer l'adresse électronique","noUrl":"Veuillez entrer l'URL du lien","other":"<autre>","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre surgissante","popupFullScreen":"Plein écran (IE)","popupLeft":"À gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"En haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Indice de tabulation","target":"Cible","targetFrame":"<cadre>","targetFrameName":"Nom du cadre affecté","targetPopup":"<fenêtre surgissante>","targetPopupName":"Nom de la fenêtre surgissante","title":"Lien","toAnchor":"Ancre","toEmail":"Courriel","toUrl":"URL","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Insérer/Supprimer une liste à puces","numberedlist":"Insérer/Supprimer une liste numérotée"},"liststyle":{"armenian":"Numération arménienne","bulletedTitle":"Propriétés de la liste à puces","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","decimalLeadingZero":"Décimal précédé par un 0 (01, 02, 03, etc.)","disc":"Disque","georgian":"Numération géorgienne (an, ban, gan, etc.)","lowerAlpha":"Lettres minuscules (a, b, c, d, e, etc.)","lowerGreek":"Grec minuscule (alpha, bêta, gamma, etc.)","lowerRoman":"Chiffres romains minuscules (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<indéfini>","numberedTitle":"Propriétés de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Lettres majuscules (A, B, C, D, E, etc.)","upperRoman":"Chiffres romains majuscules (I, II, III, IV, V, etc.)","validateStartNumber":"Le premier élément de la liste doit être un nombre entier."},"magicline":{"title":"Insérer un paragraphe ici"},"maximize":{"maximize":"Agrandir","minimize":"Réduire"},"removeformat":{"toolbar":"Supprimer la mise en forme"},"sourcearea":{"toolbar":"Source"},"notification":{"closed":"Notification fermée."},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).","paste":"Coller","pasteNotification":"Your browser doesn't allow you to paste this way. Press %1 to paste."},"widget":{"move":"Cliquer et glisser pour déplacer","label":"Élément %1"},"oembed":{"title":"Intégrer des contenus multimédia externes. (Photo, Video, Audio, ...)","button":"Insérer des contenus multimédia provenant de nombreux sites.","pasteUrl":"Coller l'URL de partage que vous voulez publier. De nombreux services sont pris en charge tels que : (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.). Vous pouvez aussi utiliser les URLs courtes.","invalidUrl":"Merci de fournir une URL valide !","noEmbedCode":"Aucun code d'intégration trouvé ou le site n'est pas supporté !","url":"URL:","width":"Largeur:","height":"Hauteur:","widthTitle":"Largeur du conteneur.","heightTitle":"Hauteur du conteneur.","maxWidth":"Max. Largeur:","maxHeight":"Max. Hauteur:","maxWidthTitle":"Largeur maximale du conteneur.","maxHeightTitle":"Hauteur maximale du conteneur.","resizeType":"Resize Type (Only Video's):","none":"None","noresize":"No Resize (use default)","responsive":"Responsive Resize","custom":"Specific Resize","noVimeo":"The owner of this video has set domain restrictions and you will not be able to embed it on your website.","Error":"Media Content could not been retrieved, please try a different URL."},"brclear":{"title":"Retour à la ligne sur toute la largeur"},"html5audio":{"button":"Insérer un lecteur audio HTML5","title":"HTML5 audio","infoLabel":"Informations audio","urlMissing":"URL de la source audio manquante. Veuillez la renseigner.","audioProperties":"Propriétés Audio","upload":"Télécharger","btnUpload":"Envoyer vers le serveur","advanced":"Avancé","autoplay":"Jouer automatiquement ?","allowdownload":"Autoriser le téléchargement?","yes":"Oui","no":"Non"},"html5video":{"button":"Insérer un lecteur video HTML5","title":"HTML5 video","infoLabel":"Informations video","allowed":"Extensions de fichiers autorisées: MP4, WebM, Ogv","urlMissing":"URL de la source video manquante. Veuillez la renseigner.","videoProperties":"Propriétés Video","upload":"Télécharger","btnUpload":"Envoyer vers le serveur","advanced":"Avancé","autoplay":"Jouer automatiquement ?","yes":"Oui","no":"Non","responsive":"Responsive width"}};
\ No newline at end of file
index 6c268cab30106182f75c3278c21724d9690b3441..0b2c0f14b5eee0edb96e9966effe0d95a7896396 100644 (file)
@@ -2,9 +2,9 @@
  Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-CKEDITOR.dialog.add("a11yHelp",function(h){var a=h.lang.a11yhelp,b=h.lang.common.keyboard,n=CKEDITOR.tools.getNextId(),e={8:b[8],9:a.tab,13:b[13],16:b[16],17:b[17],18:b[18],19:a.pause,20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:b[35],36:b[36],37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:b[46],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8,
-105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};e[CKEDITOR.ALT]=b[18];e[CKEDITOR.SHIFT]=b[16];e[CKEDITOR.CTRL]=b[17];var g=[CKEDITOR.ALT,CKEDITOR.SHIFT,
-CKEDITOR.CTRL],p=/\$\{(.*?)\}/g,t=function(){var a=h.keystrokeHandler.keystrokes,b={},d;for(d in a)b[a[d]]=d;return function(a,d){var c;if(b[d]){c=b[d];for(var k,l,m=[],f=0;f<g.length;f++)l=g[f],k=c/g[f],1<k&&2>=k&&(c-=l,m.push(e[l]));m.push(e[c]||String.fromCharCode(c));c=m.join("+")}else c=a;return c}}();return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:h.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},
-html:function(){for(var b='\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"'+n+'_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"'+n+'_arialbl" class\x3d"cke_voice_label"\x3e'+a.contents+" \x3c/span\x3e",e=[],d=a.legend,h=d.length,g=0;g<h;g++){for(var c=d[g],k=[],l=c.items,m=l.length,f=0;f<m;f++){var q=l[f],r=q.legend.replace(p,t);r.match(p)||k.push("\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e".replace("%1",q.name).replace("%2",r))}e.push("\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e".replace("%1",
-c.name).replace("%2",k.join("")))}return b.replace("%1",e.join(""))}()+'\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e'}]}],
+CKEDITOR.dialog.add("a11yHelp",function(e){var a=e.lang.a11yhelp,b=e.lang.common.keyboard,q=CKEDITOR.tools.getNextId(),d={8:b[8],9:a.tab,13:b[13],16:b[16],17:b[17],18:b[18],19:a.pause,20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:b[35],36:b[36],37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:b[46],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8,
+105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};d[CKEDITOR.ALT]=b[18];d[CKEDITOR.SHIFT]=b[16];d[CKEDITOR.CTRL]=CKEDITOR.env.mac?b[224]:b[17];var k=
+[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL],r=/\$\{(.*?)\}/g,t=function(a,b){var c=e.getCommandKeystroke(b);if(c){for(var l,f,h=[],g=0;g<k.length;g++)f=k[g],l=c/k[g],1<l&&2>=l&&(c-=f,h.push(d[f]));h.push(d[c]||String.fromCharCode(c));c=h.join("+")}else c=a;return c};return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:e.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},html:function(){for(var b=
+'\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"'+q+'_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"'+q+'_arialbl" class\x3d"cke_voice_label"\x3e'+a.contents+" \x3c/span\x3e",d=[],c=a.legend,l=c.length,f=0;f<l;f++){for(var h=c[f],g=[],e=h.items,k=e.length,p=0;p<k;p++){var m=e[p],n=CKEDITOR.env.edge&&m.legendEdge?m.legendEdge:m.legend,n=n.replace(r,t);n.match(r)||g.push("\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e".replace("%1",m.name).replace("%2",
+n))}d.push("\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e".replace("%1",h.name).replace("%2",g.join("")))}return b.replace("%1",d.join(""))}()+'\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e'}]}],
 buttons:[CKEDITOR.dialog.cancelButton]}});
\ No newline at end of file
index 293a69d9e1ef0b09f9dd26893eb4ae973532d828..a56a5cb98133f08943afd2b7cb5df59f5d975b6c 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","af",{title:"Toeganglikheid instruksies",con
 {name:"Bewerkerinhoudmenu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pouse",capslock:"Hoofletterslot",escape:"Ontsnap",pageUp:"Blaaiop",pageDown:"Blaaiaf",leftArrow:"Linkspyl",upArrow:"Oppyl",rightArrow:"Regterpyl",downArrow:"Afpyl",insert:"Toevoeg",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Nommerblok 0",numpad1:"Nommerblok 1",numpad2:"Nommerblok 2",numpad3:"Nommerblok 3",numpad4:"Nommerblok 4",numpad5:"Nommerblok 5",numpad6:"Nommerblok 6",
-numpad7:"Nommerblok 7",numpad8:"Nommerblok 8",numpad9:"Nommerblok 9",multiply:"Maal",add:"Plus",subtract:"Minus",decimalPoint:"Desimaalepunt",divide:"Gedeeldeur",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nommervergrendel",scrollLock:"Rolvergrendel",semiColon:"Kommapunt",equalSign:"Isgelykaan",comma:"Komma",dash:"Koppelteken",period:"Punt",forwardSlash:"Skuinsstreep",graveAccent:"Aksentteken",openBracket:"Oopblokhakkie",backSlash:"Trustreep",
-closeBracket:"Toeblokhakkie",singleQuote:"Enkelaanhaalingsteken"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pouse",capslock:"Hoofletterslot",escape:"Ontsnap",pageUp:"Blaaiop",pageDown:"Blaaiaf",leftArrow:"Linkspyl",upArrow:"Oppyl",rightArrow:"Regterpyl",downArrow:"Afpyl",insert:"Toevoeg",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Nommerblok 0",numpad1:"Nommerblok 1",
+numpad2:"Nommerblok 2",numpad3:"Nommerblok 3",numpad4:"Nommerblok 4",numpad5:"Nommerblok 5",numpad6:"Nommerblok 6",numpad7:"Nommerblok 7",numpad8:"Nommerblok 8",numpad9:"Nommerblok 9",multiply:"Maal",add:"Plus",subtract:"Minus",decimalPoint:"Desimaalepunt",divide:"Gedeeldeur",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nommervergrendel",scrollLock:"Rolvergrendel",semiColon:"Kommapunt",equalSign:"Isgelykaan",comma:"Komma",dash:"Koppelteken",
+period:"Punt",forwardSlash:"Skuinsstreep",graveAccent:"Aksentteken",openBracket:"Oopblokhakkie",backSlash:"Trustreep",closeBracket:"Toeblokhakkie",singleQuote:"Enkelaanhaalingsteken"});
\ No newline at end of file
index a18ea8a2eaf9001c240411c190c32e9a13be5fd3..7326021fa571e97c77af2113931cc0d3c2070f36 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"إضافة",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"تقسيم",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"فاصلة",dash:"Dash",period:"نقطة",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"إضافة",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"تقسيم",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"فاصلة",dash:"Dash",period:"نقطة",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 97c8ae637504a627171dee1605c91412dd7c1916..3298732b936c7c1e9e68ea1c4d198f96adb3edf5 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","az",{title:"Əlillərə dəstək üzrə tə
 {name:"Redaktorun seçimlərin menyusu",legend:"Seçimləri redaktə etmək üçün ${contextMenu} ya da APPLICATION KEY basın. Növbəti seçimə keçmək üçün TAB ya AŞAĞI OX düyməsini basın, əvvəlki isə - SHIFT+TAB ya YUXARI OX. Seçimi arımaq SPACE ya ENTER düymələri istifadə edin. Alt menyunu açmaq üçün SPACE, ENTER ya SAĞA OX basın. ESC ya SOLA OX ilə geriyə qayıda bilərsiz. Bütün menyunu ESC ilə bağlıyın."},{name:"Düzəliş edənin siyahı qutusu",legend:"Siyahı qutusu içində növbəti bənd seçmək üçün TAB ya AŞAĞI OX, əvvəlki isə SHIFT+TAB ya YUXARI OX basın. Seçimi arımaq SPACE ya ENTER düymələri istifadə edin. Siyahı qutusu ESC ilə bağlıyın."},
 {name:"Redaktor elementin cığır paneli",legend:"Elementin cığır paneli seçmək üçün ${elementsPathFocus} basın. Növbəti element seçmək üçün TAB ya SAĞA OX, əvvəlki isə SHIFT+TAB ya SOLA OX istifadə edin. Elementi arımaq SPACE ya ENTER düymələri mövcuddur."}]},{name:"Əmrlər",items:[{name:"Əmri geri qaytar",legend:"${undo} basın"},{name:"Geri əmri",legend:"${redo} basın"},{name:"Qalın əmri",legend:"${bold}  basın"},{name:"Kursiv əmri",legend:"${italic} basın"},{name:"Altdan xətt əmri",legend:"${underline} basın"},
 {name:"Link əmri",legend:"${link} basın"},{name:"Paneli gizlət əmri",legend:"${toolbarCollapse} basın"},{name:"Əvvəlki fokus sahəsi seç əmrı",legend:"Kursordan əvvəl ən yaxın əlçatmaz yerə dəymək üçün ${accessPreviousSpace} basın, misal üçün: iki dal-badal HR teg. Uzaq yerlərə dəymək üçün bir neçə dəfə basın."},{name:"Növbəti fokus sahəsi seç əmrı",legend:"Kursordan sonra ən yaxın əlçatmaz yerə dəymək üçün ${accessNextSpace} basın, misal üçün: iki dal-badal HR teg. Uzaq yerlərə dəymək üçün bir neçə dəfə basın."},
-{name:"Hərtərəfli Kömək",legend:"${a11yHelp} basın"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Sola ox işarəsi",upArrow:"Yuxarı ox işarəsi",rightArrow:"Sağa ox işarəsi",downArrow:"Aşağı ox işarəsi",insert:"Insert",leftWindowKey:"Soldaki Windows düyməsi",rightWindowKey:"Sağdaki Windows düyməsi",selectKey:"Düyməni seçin",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",
-numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vurma",add:"Əlavə et",subtract:"Çıxma",decimalPoint:"Onluq kəsri tam ədəddən ayıran nöqtə",divide:"Bölüşdürmə",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Nöqtəli verqül",equalSign:"Barəbərlik işarəsi",comma:"Vergül",dash:"Defis",period:"Nöqtə",forwardSlash:"Çəp xətt",graveAccent:"Vurğu işarəsi",openBracket:"Açılan mötərizə",
-backSlash:"Tərs çəpəki xətt",closeBracket:"Bağlanan mötərizə",singleQuote:"Tək dırnaq"});
\ No newline at end of file
+{name:"Hərtərəfli Kömək",legend:"${a11yHelp} basın"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Sola ox işarəsi",upArrow:"Yuxarı ox işarəsi",rightArrow:"Sağa ox işarəsi",downArrow:"Aşağı ox işarəsi",insert:"Insert",leftWindowKey:"Soldaki Windows düyməsi",rightWindowKey:"Sağdaki Windows düyməsi",selectKey:"Düyməni seçin",
+numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vurma",add:"Əlavə et",subtract:"Çıxma",decimalPoint:"Onluq kəsri tam ədəddən ayıran nöqtə",divide:"Bölüşdürmə",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Nöqtəli verqül",equalSign:"Barəbərlik işarəsi",
+comma:"Vergül",dash:"Defis",period:"Nöqtə",forwardSlash:"Çəp xətt",graveAccent:"Vurğu işarəsi",openBracket:"Açılan mötərizə",backSlash:"Tərs çəpəki xətt",closeBracket:"Bağlanan mötərizə",singleQuote:"Tək dırnaq"});
\ No newline at end of file
index d6db25afc4f4337a856cf803eedac2bbcc9fe858..6f5d04439a4207fd3cc930059f50bd3efd60b0e6 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","bg",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index fc562822f58af2fa0078d25c5a412e85838b268d..d48552ad65519b0ccaed040976fc8445e5a7e9e4 100644 (file)
@@ -7,6 +7,7 @@ CKEDITOR.plugins.setLang("a11yhelp","ca",{title:"Instruccions d'Accessibilitat",
 {name:"Editor de menú contextual",legend:"Premi ${contextMenu} o APPLICATION KEY per obrir el menú contextual. Després desplacis a la següent opció del menú amb TAB o DOWN ARROW. Desplacis a l'anterior opció amb SHIFT+TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció del menú. Obri el submenú de l'actual opció utilitzant SPACE o ENTER o RIGHT ARROW. Pot tornar a l'opció del menú pare amb ESC o LEFT ARROW. Tanqui el menú contextual amb ESC."},{name:"Editor de caixa de llista",legend:"Dins d'un quadre de llista, desplacis al següent element de la llista amb TAB o DOWN ARROW. Desplacis a l'anterior element de la llista amb SHIFT+TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció de la llista. Premi ESC per tancar el quadre de llista."},
 {name:"Editor de barra de ruta de l'element",legend:"Premi ${elementsPathFocus} per anar als elements de la barra de ruta. Desplacis al botó de l'element següent amb TAB o RIGHT ARROW. Desplacis a l'anterior botó amb SHIFT+TAB o LEFT ARROW. Premi SPACE o ENTER per seleccionar l'element a l'editor."}]},{name:"Ordres",items:[{name:"Desfer ordre",legend:"Premi ${undo}"},{name:"Refer ordre",legend:"Premi ${redo}"},{name:"Ordre negreta",legend:"Premi ${bold}"},{name:"Ordre cursiva",legend:"Premi ${italic}"},
 {name:"Ordre subratllat",legend:"Premi ${underline}"},{name:"Ordre enllaç",legend:"Premi ${link}"},{name:"Ordre amagar barra d'eines",legend:"Premi ${toolbarCollapse}"},{name:"Ordre per accedir a l'anterior espai enfocat",legend:"Premi ${accessPreviousSpace} per accedir a l'enfocament d'espai més proper inabastable abans del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants."},{name:"Ordre per accedir al següent espai enfocat",
-legend:"Premi ${accessNextSpace} per accedir a l'enfocament d'espai més proper inabastable després del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants."},{name:"Ajuda d'accessibilitat",legend:"Premi ${a11yHelp}"}]}],tab:"Tabulació",pause:"Pausa",capslock:"Bloqueig de majúscules",escape:"Escape",pageUp:"Pàgina Amunt",pageDown:"Pàgina Avall",leftArrow:"Fletxa Esquerra",upArrow:"Fletxa Amunt",rightArrow:"Fletxa Dreta",
-downArrow:"Fletxa Avall",insert:"Inserir",leftWindowKey:"Tecla Windows Esquerra",rightWindowKey:"Tecla Windows Dreta",selectKey:"Tecla Seleccionar",numpad0:"Teclat Numèric 0",numpad1:"Teclat Numèric 1",numpad2:"Teclat Numèric 2",numpad3:"Teclat Numèric 3",numpad4:"Teclat Numèric 4",numpad5:"Teclat Numèric 5",numpad6:"Teclat Numèric 6",numpad7:"Teclat Numèric 7",numpad8:"Teclat Numèric 8",numpad9:"Teclat Numèric 9",multiply:"Multiplicació",add:"Suma",subtract:"Resta",decimalPoint:"Punt Decimal",divide:"Divisió",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloqueig Teclat Numèric",scrollLock:"Bloqueig de Desplaçament",semiColon:"Punt i Coma",equalSign:"Símbol Igual",comma:"Coma",dash:"Guió",period:"Punt",forwardSlash:"Barra Diagonal",graveAccent:"Accent Obert",openBracket:"Claudàtor Obert",backSlash:"Barra Invertida",closeBracket:"Claudàtor Tancat",singleQuote:"Cometa Simple"});
\ No newline at end of file
+legend:"Premi ${accessNextSpace} per accedir a l'enfocament d'espai més proper inabastable després del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants."},{name:"Ajuda d'accessibilitat",legend:"Premi ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulació",pause:"Pausa",capslock:"Bloqueig de majúscules",escape:"Escape",pageUp:"Pàgina Amunt",
+pageDown:"Pàgina Avall",leftArrow:"Fletxa Esquerra",upArrow:"Fletxa Amunt",rightArrow:"Fletxa Dreta",downArrow:"Fletxa Avall",insert:"Inserir",leftWindowKey:"Tecla Windows Esquerra",rightWindowKey:"Tecla Windows Dreta",selectKey:"Tecla Seleccionar",numpad0:"Teclat Numèric 0",numpad1:"Teclat Numèric 1",numpad2:"Teclat Numèric 2",numpad3:"Teclat Numèric 3",numpad4:"Teclat Numèric 4",numpad5:"Teclat Numèric 5",numpad6:"Teclat Numèric 6",numpad7:"Teclat Numèric 7",numpad8:"Teclat Numèric 8",numpad9:"Teclat Numèric 9",
+multiply:"Multiplicació",add:"Suma",subtract:"Resta",decimalPoint:"Punt Decimal",divide:"Divisió",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloqueig Teclat Numèric",scrollLock:"Bloqueig de Desplaçament",semiColon:"Punt i Coma",equalSign:"Símbol Igual",comma:"Coma",dash:"Guió",period:"Punt",forwardSlash:"Barra Diagonal",graveAccent:"Accent Obert",openBracket:"Claudàtor Obert",backSlash:"Barra Invertida",closeBracket:"Claudàtor Tancat",
+singleQuote:"Cometa Simple"});
\ No newline at end of file
index de8ef8c1b597deff7ed6f87ea1b6825b1f607d86..3c4e5956a3f46d511e67245e288d3b666c1a9e33 100644 (file)
@@ -6,7 +6,7 @@ CKEDITOR.plugins.setLang("a11yhelp","cs",{title:"Instrukce pro přístupnost",co
 legend:"Uvnitř dialogového okna stiskněte TAB pro přesunutí na další prvek okna, stiskněte SHIFT+TAB pro přesun na předchozí prvek okna, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT+F10 pro zaměření seznamu karet, nebo TAB, pro posun podle pořadí karet.Při zaměření seznamu karet se můžete jimi posouvat pomocí ŠIPKY VPRAVO a VLEVO."},{name:"Kontextové menu editoru",legend:"Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí  SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC."},
 {name:"Rámeček seznamu editoru",legend:"Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo ŠIPKA DOLŮ. Na předchozí položku se přesunete SHIFT+TAB nebo ŠIPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu."},{name:"Lišta cesty prvku v editoru",legend:"Stiskněte ${elementsPathFocus} pro procházení lišty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo ŠIPKA VPRAVO. Na předchozí tlačítko se přesunete pomocí SHIFT+TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru."}]},
 {name:"Příkazy",items:[{name:" Příkaz Zpět",legend:"Stiskněte ${undo}"},{name:" Příkaz Znovu",legend:"Stiskněte ${redo}"},{name:" Příkaz Tučné",legend:"Stiskněte ${bold}"},{name:" Příkaz Kurzíva",legend:"Stiskněte ${italic}"},{name:" Příkaz Podtržení",legend:"Stiskněte ${underline}"},{name:" Příkaz Odkaz",legend:"Stiskněte ${link}"},{name:" Příkaz Skrýt panel nástrojů",legend:"Stiskněte ${toolbarCollapse}"},{name:"Příkaz pro přístup k předchozímu prostoru zaměření",legend:"Stiskněte ${accessPreviousSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření před stříškou, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."},
-{name:"Příkaz pro přístup k dalšímu prostoru zaměření",legend:"Stiskněte ${accessNextSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření po stříšce, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."},{name:" Nápověda přístupnosti",legend:"Stiskněte ${a11yHelp}"}]}],tab:"Tabulátor",pause:"Pauza",capslock:"Caps lock",escape:"Escape",pageUp:"Stránka nahoru",pageDown:"Stránka dolů",leftArrow:"Šipka vlevo",upArrow:"Šipka nahoru",
-rightArrow:"Šipka vpravo",downArrow:"Šipka dolů",insert:"Vložit",leftWindowKey:"Levá klávesa Windows",rightWindowKey:"Pravá klávesa Windows",selectKey:"Vyberte klávesu",numpad0:"Numerická klávesa 0",numpad1:"Numerická klávesa 1",numpad2:"Numerická klávesa 2",numpad3:"Numerická klávesa 3",numpad4:"Numerická klávesa 4",numpad5:"Numerická klávesa 5",numpad6:"Numerická klávesa 6",numpad7:"Numerická klávesa 7",numpad8:"Numerická klávesa 8",numpad9:"Numerická klávesa 9",multiply:"Numerická klávesa násobení",
-add:"Přidat",subtract:"Numerická klávesa odečítání",decimalPoint:"Desetinná tečka",divide:"Numerická klávesa dělení",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num lock",scrollLock:"Scroll lock",semiColon:"Středník",equalSign:"Rovnítko",comma:"Čárka",dash:"Pomlčka",period:"Tečka",forwardSlash:"Lomítko",graveAccent:"Přízvuk",openBracket:"Otevřená hranatá závorka",backSlash:"Obrácené lomítko",closeBracket:"Uzavřená hranatá závorka",
-singleQuote:"Jednoduchá uvozovka"});
\ No newline at end of file
+{name:"Příkaz pro přístup k dalšímu prostoru zaměření",legend:"Stiskněte ${accessNextSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření po stříšce, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."},{name:" Nápověda přístupnosti",legend:"Stiskněte ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulátor",pause:"Pauza",capslock:"Caps lock",
+escape:"Escape",pageUp:"Stránka nahoru",pageDown:"Stránka dolů",leftArrow:"Šipka vlevo",upArrow:"Šipka nahoru",rightArrow:"Šipka vpravo",downArrow:"Šipka dolů",insert:"Vložit",leftWindowKey:"Levá klávesa Windows",rightWindowKey:"Pravá klávesa Windows",selectKey:"Vyberte klávesu",numpad0:"Numerická klávesa 0",numpad1:"Numerická klávesa 1",numpad2:"Numerická klávesa 2",numpad3:"Numerická klávesa 3",numpad4:"Numerická klávesa 4",numpad5:"Numerická klávesa 5",numpad6:"Numerická klávesa 6",numpad7:"Numerická klávesa 7",
+numpad8:"Numerická klávesa 8",numpad9:"Numerická klávesa 9",multiply:"Numerická klávesa násobení",add:"Přidat",subtract:"Numerická klávesa odečítání",decimalPoint:"Desetinná tečka",divide:"Numerická klávesa dělení",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num lock",scrollLock:"Scroll lock",semiColon:"Středník",equalSign:"Rovnítko",comma:"Čárka",dash:"Pomlčka",period:"Tečka",forwardSlash:"Lomítko",graveAccent:"Přízvuk",openBracket:"Otevřená hranatá závorka",
+backSlash:"Obrácené lomítko",closeBracket:"Uzavřená hranatá závorka",singleQuote:"Jednoduchá uvozovka"});
\ No newline at end of file
index 31e94af26d7b2b0da1581e544ef0eb216d1e0d3d..e89739a5c957b419938d37a90e74d7aafd06f336 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","cy",{title:"Canllawiau Hygyrchedd",contents
 {name:"Dewislen Cyd-destun y Golygydd",legend:"Pwyswch $ {contextMenu} neu'r ALLWEDD 'APPLICATION' i agor y ddewislen cyd-destun. Yna symudwch i'r opsiwn ddewislen nesaf gyda'r TAB neu'r SAETH I LAWR. Symudwch i'r opsiwn blaenorol gyda SHIFT+TAB neu'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC."},
 {name:"Blwch Rhestr y Golygydd",legend:"Tu mewn y blwch rhestr, ewch i'r eitem rhestr nesaf gyda TAB neu'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT+TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o'r rhestr. Pwyswch ESC i gau'r rhestr."},{name:"Bar Llwybr Elfen y Golygydd",legend:"Pwyswch ${elementsPathFocus} i fynd i'r bar llwybr elfennau. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT+TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd."}]},
 {name:"Gorchmynion",items:[{name:"Gorchymyn dadwneud",legend:"Pwyswch ${undo}"},{name:"Gorchymyn ailadrodd",legend:"Pwyswch ${redo}"},{name:"Gorchymyn Bras",legend:"Pwyswch ${bold}"},{name:"Gorchymyn italig",legend:"Pwyswch ${italig}"},{name:"Gorchymyn tanlinellu",legend:"Pwyso ${underline}"},{name:"Gorchymyn dolen",legend:"Pwyswch ${link}"},{name:"Gorchymyn Cwympo'r Dewislen",legend:"Pwyswch ${toolbarCollapse}"},{name:"Myned i orchymyn bwlch ffocws blaenorol",legend:"Pwyswch ${accessPreviousSpace} i fyned i'r \"blwch ffocws sydd methu ei gyrraedd\" cyn y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. AIladroddwch y cyfuniad allwedd i gyrraedd bylchau ffocws pell."},
-{name:"Ewch i'r gorchymyn blwch ffocws nesaf",legend:"Pwyswch ${accessNextSpace} i fyned i'r blwch ffocws agosaf nad oes modd ei gyrraedd ar ôl y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. Ailadroddwch y cyfuniad allwedd i gyrraedd blychau ffocws pell."},{name:"Cymorth Hygyrchedd",legend:"Pwyswch ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",
-insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",
-scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Ewch i'r gorchymyn blwch ffocws nesaf",legend:"Pwyswch ${accessNextSpace} i fyned i'r blwch ffocws agosaf nad oes modd ei gyrraedd ar ôl y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. Ailadroddwch y cyfuniad allwedd i gyrraedd blychau ffocws pell."},{name:"Cymorth Hygyrchedd",legend:"Pwyswch ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",
+pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",
+divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index c3e4a97c79e6b08849eebe0877838844d844677e..6b5107ba91bbf1486df64ce86db75a307e8043eb 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","da",{title:"Tilgængelighedsinstrukser",con
 legend:"Inde i en dialogboks kan du, trykke på TAB for at navigere til næste element, trykke på SHIFT+TAB for at navigere til forrige element, trykke på ENTER for at afsende eller trykke på ESC for at lukke dialogboksen.\r\nNår en dialogboks har flere faner, fanelisten kan tilgås med ALT+F10 eller med TAB. Hvis fanelisten er i fokus kan du skifte til næste eller forrige tab, med højre- og venstre piltast."},{name:"Redaktør kontekstmenu",legend:"Tryk ${contextMenu} eller APPLICATION KEY for at åbne kontekstmenuen. Flyt derefter til næste menuvalg med TAB eller PIL NED. Flyt til forrige valg med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge menu-muligheder. Åben under-menu af aktuelle valg med MELLEMRUM eller RETUR eller HØJRE PIL. Gå tilbage til overliggende menu-emne med ESC eller VENSTRE PIL. Luk kontekstmenu med ESC."},
 {name:"Redaktør listeboks",legend:"Flyt til næste emne med TAB eller PIL NED inde i en listeboks. Flyt til forrige listeemne med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge liste-muligheder. Tryk ESC for at lukke liste-boksen."},{name:"Redaktør elementsti-bar",legend:"Tryk ${elementsPathFocus} for at navigere til elementernes sti-bar. Flyt til næste element-knap med TAB eller HØJRE PIL. Flyt til forrige knap med SHIFT+TAB eller VENSTRE PIL. Klik MELLEMRUM eller RETUR for at vælge element i editoren."}]},
 {name:"Kommandoer",items:[{name:"Fortryd kommando",legend:"Klik på ${undo}"},{name:"Gentag kommando",legend:"Klik ${redo}"},{name:"Fed kommando",legend:"Klik ${bold}"},{name:"Kursiv kommando",legend:"Klik ${italic}"},{name:"Understregnings kommando",legend:"Klik ${underline}"},{name:"Link kommando",legend:"Klik ${link}"},{name:"Klap værktøjslinje sammen kommando ",legend:"Klik ${toolbarCollapse}"},{name:"Adgang til forrige fokusområde kommando",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Tilgængelighedshjælp",legend:"Kilk ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Venstre pil",upArrow:"Pil op",rightArrow:"Højre pil",downArrow:"Pil ned",insert:"Insert",leftWindowKey:"Venstre Windows tast",
-rightWindowKey:"Højre Windows tast",selectKey:"Select-knap",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Gange",add:"Plus",subtract:"Minus",decimalPoint:"Komma",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",
-equalSign:"Lighedstegn",comma:"Komma",dash:"Bindestreg",period:"Punktum",forwardSlash:"Skråstreg",graveAccent:"Accent grave",openBracket:"Start klamme",backSlash:"Omvendt skråstreg",closeBracket:"Slut klamme",singleQuote:"Enkelt citationstegn"});
\ No newline at end of file
+{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Tilgængelighedshjælp",legend:"Kilk ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",
+leftArrow:"Venstre pil",upArrow:"Pil op",rightArrow:"Højre pil",downArrow:"Pil ned",insert:"Insert",leftWindowKey:"Venstre Windows tast",rightWindowKey:"Højre Windows tast",selectKey:"Select-knap",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Gange",add:"Plus",subtract:"Minus",decimalPoint:"Komma",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4",
+f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Lighedstegn",comma:"Komma",dash:"Bindestreg",period:"Punktum",forwardSlash:"Skråstreg",graveAccent:"Accent grave",openBracket:"Start klamme",backSlash:"Omvendt skråstreg",closeBracket:"Slut klamme",singleQuote:"Enkelt citationstegn"});
\ No newline at end of file
index a09f8821aa40f6a769cfbf6e78b7961e3537c46b..d4f5e49212d5def4ef6262a6c00cfd64c4853936 100644 (file)
@@ -6,6 +6,7 @@ CKEDITOR.plugins.setLang("a11yhelp","de-ch",{title:"Barrierefreiheitinformatione
 {name:"Editordialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor-Kontextmenü",legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."},
 {name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."},{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]},
 {name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl",legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace}  auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "},
-{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",escape:"Escape",pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",
-downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9",multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schliessende eckige Klammer",singleQuote:"Einfaches Anführungszeichen"});
\ No newline at end of file
+{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",escape:"Escape",
+pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9",
+multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schliessende eckige Klammer",
+singleQuote:"Einfaches Anführungszeichen"});
\ No newline at end of file
index 0a09795ae9d4d7c7730e6bece699fbdf3447edb8..66891fc6c35a403be39e59a9b1e8e117e5027dac 100644 (file)
@@ -3,9 +3,11 @@
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
 CKEDITOR.plugins.setLang("a11yhelp","de",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."},
-{name:"Editordialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor-Kontextmenü",legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."},
-{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."},{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]},
-{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl",legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace}  auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "},
-{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",escape:"Escape",pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",
-downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9",multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schließende eckige Klammer",singleQuote:"Einfaches Anführungszeichen"});
\ No newline at end of file
+{name:"Editordialog",legend:"Drücke innerhalb eines Dialogs TAB, um zum nächsten Element zu springen. Drücke SHIFT+TAB, um zum vorigen Element zu springen, drücke ENTER um das Formular im Dialog abzusenden, drücke ESC, um den Dialog zu schließen. Hat der Dialog mehrere Tabs, dann kannst du durch ALT+F10 die Tab-Liste aufrufen or mittels TAB als Teil der Dialog-Tab-Reihenfolge. Ist die Tab-Liste fokussiert, dann mithilfe der Pfeiltasten (LINKS und RECHTS) zwischen den Tabs gewechselt werden."},{name:"Editor-Kontextmenü",
+legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."},{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."},
+{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]},{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl",
+legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace}  auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "},
+{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:"Einfügen als unformatierter Text. ",legend:"Drücke ${pastetext}",legendEdge:"Drücke ${pastetext} und anschließend ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",
+escape:"Escape",pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",
+numpad9:"Ziffernblock 9",multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",
+closeBracket:"Schließende eckige Klammer",singleQuote:"Einfaches Anführungszeichen"});
\ No newline at end of file
index 19a44b0f4f96946583f3e8c092fc0452ef70ae5a..9eeb0b6c254fffc21543e25221a61776d9f04369 100644 (file)
@@ -6,6 +6,7 @@ CKEDITOR.plugins.setLang("a11yhelp","el",{title:"Οδηγίες Προσβασι
 legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Αναδυόμενο Μενού Επεξεργαστή",legend:"Πατήστε ${contextMenu} ή APPLICATION KEY για να ανοίξετε το αναδυόμενο μενού. Μετά μετακινηθείτε στην επόμενη επιλογή του μενού με  TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στην προηγούμενη επιλογή με SHIFT+TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξτε το τρέχων στοιχείο. Ανοίξτε το αναδυόμενο μενού της τρέχουσας επιλογής με ΔΙΑΣΤΗΜΑ ή ENTER ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μεταβείτε πίσω στο αρχικό στοιχείο μενού με το ESC ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Κλείστε το αναδυόμενο μενού με ESC."},
 {name:"Κουτί Λίστας Επεξεργαστών",legend:"Μέσα σε ένα κουτί λίστας, μετακινηθείτε στο επόμενο στοιχείο με TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στο προηγούμενο στοιχείο με SHIFT+TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε ένα στοιχείο. Πατήστε ESC για να κλείσετε το κουτί της λίστας."},{name:"Μπάρα Διαδρομών Στοιχείων Επεξεργαστή",legend:"Πατήστε ${elementsPathFocus} για να περιηγηθείτε στην μπάρα διαδρομών στοιχείων του επεξεργαστή. Μετακινηθείτε στο κουμπί του επόμενου στοιχείου με το TAB ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μετακινηθείτε στο κουμπί του προηγούμενου στοιχείου με το SHIFT+TAB ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε το στοιχείο στον επεξεργαστή."}]},
 {name:"Εντολές",items:[{name:"Εντολή αναίρεσης",legend:"Πατήστε ${undo}"},{name:"Εντολή επανάληψης",legend:"Πατήστε ${redo}"},{name:"Εντολή έντονης γραφής",legend:"Πατήστε ${bold}"},{name:"Εντολή πλάγιας γραφής",legend:"Πατήστε ${italic}"},{name:"Εντολή υπογράμμισης",legend:"Πατήστε ${underline}"},{name:"Εντολή συνδέσμου",legend:"Πατήστε ${link}"},{name:"Εντολή Σύμπτηξης Εργαλειοθήκης",legend:"Πατήστε ${toolbarCollapse}"},{name:"Πρόσβαση στην προηγούμενη εντολή του χώρου εστίασης ",legend:"Πατήστε ${accessPreviousSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης πριν το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για να φθάσετε στους χώρους μακρινής εστίασης. "},
-{name:"Πρόσβαση στην επόμενη εντολή του χώρου εστίασης",legend:"Πατήστε ${accessNextSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης μετά το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για τους χώρους μακρινής εστίασης. "},{name:"Βοήθεια Προσβασιμότητας",legend:"Πατήστε ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Αριστερό Βέλος",upArrow:"Πάνω Βέλος",rightArrow:"Δεξί Βέλος",
-downArrow:"Κάτω Βέλος",insert:"Insert ",leftWindowKey:"Αριστερό Πλήκτρο Windows",rightWindowKey:"Δεξί Πλήκτρο Windows",selectKey:"Πλήκτρο Select",numpad0:"Αριθμητικό πληκτρολόγιο 0",numpad1:"Αριθμητικό Πληκτρολόγιο 1",numpad2:"Αριθμητικό πληκτρολόγιο 2",numpad3:"Αριθμητικό πληκτρολόγιο 3",numpad4:"Αριθμητικό πληκτρολόγιο 4",numpad5:"Αριθμητικό πληκτρολόγιο 5",numpad6:"Αριθμητικό πληκτρολόγιο 6",numpad7:"Αριθμητικό πληκτρολόγιο 7",numpad8:"Αριθμητικό πληκτρολόγιο 8",numpad9:"Αριθμητικό πληκτρολόγιο 9",
-multiply:"Πολλαπλασιασμός",add:"Πρόσθεση",subtract:"Αφαίρεση",decimalPoint:"Υποδιαστολή",divide:"Διαίρεση",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"6",f7:"7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ερωτηματικό",equalSign:"Σύμβολο Ισότητας",comma:"Κόμμα",dash:"Παύλα",period:"Τελεία",forwardSlash:"Κάθετος",graveAccent:"Βαρεία",openBracket:"Άνοιγμα Παρένθεσης",backSlash:"Ανάστροφη Κάθετος",closeBracket:"Κλείσιμο Παρένθεσης",singleQuote:"Απόστροφος"});
\ No newline at end of file
+{name:"Πρόσβαση στην επόμενη εντολή του χώρου εστίασης",legend:"Πατήστε ${accessNextSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης μετά το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για τους χώρους μακρινής εστίασης. "},{name:"Βοήθεια Προσβασιμότητας",legend:"Πατήστε ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",
+pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Αριστερό Βέλος",upArrow:"Πάνω Βέλος",rightArrow:"Δεξί Βέλος",downArrow:"Κάτω Βέλος",insert:"Insert ",leftWindowKey:"Αριστερό Πλήκτρο Windows",rightWindowKey:"Δεξί Πλήκτρο Windows",selectKey:"Πλήκτρο Select",numpad0:"Αριθμητικό πληκτρολόγιο 0",numpad1:"Αριθμητικό Πληκτρολόγιο 1",numpad2:"Αριθμητικό πληκτρολόγιο 2",numpad3:"Αριθμητικό πληκτρολόγιο 3",numpad4:"Αριθμητικό πληκτρολόγιο 4",numpad5:"Αριθμητικό πληκτρολόγιο 5",numpad6:"Αριθμητικό πληκτρολόγιο 6",
+numpad7:"Αριθμητικό πληκτρολόγιο 7",numpad8:"Αριθμητικό πληκτρολόγιο 8",numpad9:"Αριθμητικό πληκτρολόγιο 9",multiply:"Πολλαπλασιασμός",add:"Πρόσθεση",subtract:"Αφαίρεση",decimalPoint:"Υποδιαστολή",divide:"Διαίρεση",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"6",f7:"7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ερωτηματικό",equalSign:"Σύμβολο Ισότητας",comma:"Κόμμα",dash:"Παύλα",period:"Τελεία",forwardSlash:"Κάθετος",graveAccent:"Βαρεία",openBracket:"Άνοιγμα Παρένθεσης",
+backSlash:"Ανάστροφη Κάθετος",closeBracket:"Κλείσιμο Παρένθεσης",singleQuote:"Απόστροφος"});
\ No newline at end of file
index 26dfdf0bd7dc3c85c65b2ca13f7e395ff3134ce2..9b0b32de9fb72429b56d7027105007cfedcf3253 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","en-gb",{title:"Accessibility Instructions",
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 52708c937b5f239b083a009b966a5a6d66069e29..7b10bafae8b64aa57fbf161c5f83cd01c5205641 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","en",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 01edb4d275d2dbbb229ce1fd508dbd856fa75efc..426be40683965fbf1c9d5c01d49a337b507c626d 100644 (file)
@@ -7,6 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","eo",{title:"Uzindikoj pri atingeblo",conten
 {name:"Kunteksta menuo de la redaktilo",legend:"Premu ${contextMenu} aŭ entajpu la KLAVKOMBINAĴON por malfermi la kuntekstan menuon. Poste moviĝu al la sekva opcio de la menuo per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa opcio per la klavoj MAJUSKLGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aŭ la ENENklavo aŭ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aŭ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo."},
 {name:"Fallisto de la redaktilo",legend:"En fallisto, moviĝu al la sekva listelemento per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa listelemento per la klavoj MAJUSKLIGA+TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon."},{name:"Breto indikanta la vojon al la redaktilelementoj",legend:"Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. Moviĝu al la butono de la sekva elemento per la klavoj TABA aŭ SAGO DEKSTREN. Moviĝu al la butono de la antaŭa elemento per la klavoj MAJUSKLIGA+TABA aŭ SAGO MALDEKSTREN. Premu la SPACETklavon aŭ ENENklavon por selekti la elementon en la redaktilo."}]},
 {name:"Komandoj",items:[{name:"Komando malfari",legend:"Premu ${undo}"},{name:"Komando refari",legend:"Premu ${redo}"},{name:"Komando grasa",legend:"Premu ${bold}"},{name:"Komando kursiva",legend:"Premu ${italic}"},{name:"Komando substreki",legend:"Premu ${underline}"},{name:"Komando ligilo",legend:"Premu ${link}"},{name:"Komando faldi la ilbreton",legend:"Premu ${toolbarCollapse}"},{name:"Komando por atingi la antaŭan fokusan spacon",legend:"Press ${accessPreviousSpace} por atingi la plej proksiman neatingeblan fokusan spacon antaŭ la kursoro, ekzemple : du kuntuŝiĝajn HR elementojn. Ripetu la klavkombinaĵon por atingi malproksimajn fokusajn spacojn."},
-{name:"Komando por atingi la sekvan fokusan spacon",legend:"Press ${accessNextSpace} por atingi la plej proksiman neatingeblan fokusan spacon post la kursoro, ekzemple : du kuntuŝiĝajn HR elementojn. Ripetu la klavkombinajôn por atingi malproksimajn fokusajn spacojn"},{name:"Helpilo pri atingeblo",legend:"Premu ${a11yHelp}"}]}],tab:"Tabo",pause:"Paŭzo",capslock:"Majuskla baskulo",escape:"Eskapa klavo",pageUp:"Antaŭa Paĝo",pageDown:"Sekva Paĝo",leftArrow:"Sago Maldekstren",upArrow:"Sago Supren",rightArrow:"Sago Dekstren",
-downArrow:"Sago Suben",insert:"Enmeti",leftWindowKey:"Maldekstra Windows-klavo",rightWindowKey:"Dekstra Windows-klavo",selectKey:"Selektklavo",numpad0:"Nombra Klavaro 0",numpad1:"Nombra Klavaro 1",numpad2:"Nombra Klavaro 2",numpad3:"Nombra Klavaro 3",numpad4:"Nombra Klavaro 4",numpad5:"Nombra Klavaro 5",numpad6:"Nombra Klavaro 6",numpad7:"Nombra Klavaro 7",numpad8:"Nombra Klavaro 8",numpad9:"Nombra Klavaro 9",multiply:"Obligi",add:"Almeti",subtract:"Subtrahi",decimalPoint:"Dekuma Punkto",divide:"Dividi",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nombra Baskulo",scrollLock:"Ruluma Baskulo",semiColon:"Punktokomo",equalSign:"Egalsigno",comma:"Komo",dash:"Haltostreko",period:"Punkto",forwardSlash:"Oblikvo",graveAccent:"Malakuto",openBracket:"Malferma Krampo",backSlash:"Retroklino",closeBracket:"Ferma Krampo",singleQuote:"Citilo"});
\ No newline at end of file
+{name:"Komando por atingi la sekvan fokusan spacon",legend:"Press ${accessNextSpace} por atingi la plej proksiman neatingeblan fokusan spacon post la kursoro, ekzemple : du kuntuŝiĝajn HR elementojn. Ripetu la klavkombinajôn por atingi malproksimajn fokusajn spacojn"},{name:"Helpilo pri atingeblo",legend:"Premu ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabo",pause:"Paŭzo",capslock:"Majuskla baskulo",escape:"Eskapa klavo",
+pageUp:"Antaŭa Paĝo",pageDown:"Sekva Paĝo",leftArrow:"Sago Maldekstren",upArrow:"Sago Supren",rightArrow:"Sago Dekstren",downArrow:"Sago Suben",insert:"Enmeti",leftWindowKey:"Maldekstra Windows-klavo",rightWindowKey:"Dekstra Windows-klavo",selectKey:"Selektklavo",numpad0:"Nombra Klavaro 0",numpad1:"Nombra Klavaro 1",numpad2:"Nombra Klavaro 2",numpad3:"Nombra Klavaro 3",numpad4:"Nombra Klavaro 4",numpad5:"Nombra Klavaro 5",numpad6:"Nombra Klavaro 6",numpad7:"Nombra Klavaro 7",numpad8:"Nombra Klavaro 8",
+numpad9:"Nombra Klavaro 9",multiply:"Obligi",add:"Almeti",subtract:"Subtrahi",decimalPoint:"Dekuma Punkto",divide:"Dividi",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nombra Baskulo",scrollLock:"Ruluma Baskulo",semiColon:"Punktokomo",equalSign:"Egalsigno",comma:"Komo",dash:"Haltostreko",period:"Punkto",forwardSlash:"Oblikvo",graveAccent:"Malakuto",openBracket:"Malferma Krampo",backSlash:"Retroklino",closeBracket:"Ferma Krampo",singleQuote:"Citilo"});
\ No newline at end of file
diff --git a/release/plugins/a11yhelp/dialogs/lang/es-mx.js b/release/plugins/a11yhelp/dialogs/lang/es-mx.js
new file mode 100644 (file)
index 0000000..784f0e0
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+ Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang("a11yhelp","es-mx",{title:"Instrucciones de accesibilidad",contents:"Contenidos de ayuda. Para cerrar este cuadro de diálogo presione ESC.",legend:[{name:"General",items:[{name:"Barra de herramientas del editor",legend:"Presione ${toolbarFocus} para navegar a la barra de herramientas. Desplácese al grupo de barras de herramientas siguiente y anterior con  SHIFT + TAB. Desplácese al botón siguiente y anterior de la barra de herramientas con FLECHA DERECHA o FLECHA IZQUIERDA. Presione SPACE o ENTER para activar el botón de la barra de herramientas."},
+{name:"Editor de diálogo",legend:"Dentro de un cuadro de diálogo, pulse TAB para desplazarse hasta el siguiente elemento de diálogo, pulse MAYÚS + TAB para desplazarse al elemento de diálogo anterior, pulse ENTER para enviar el diálogo, pulse ESC para cancelar el diálogo. Cuando un cuadro de diálogo tiene varias pestañas, se puede acceder a la lista de pestañas con ALT + F10 o con TAB como parte del orden de tabulación del diálogo. Con la lista de tabuladores enfocada, mueva a la pestaña siguiente y anterior con las flechas DERECHA y IZQUIERDA, respectivamente."},
+{name:"Menú contextual del editor",legend:"Presione ${contextMenu} o CLAVE DE APLICACIÓN para abrir el menú contextual. A continuación, vaya a la siguiente opción del menú con TAB o DOWN ARROW. Desplácese a la opción anterior con SHIFT + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción del menú. Abra el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Vuelva al elemento de menú principal con ESC o FLECHA IZQUIERDA. Cerrar el menú contextual con ESC."},{name:"Editor de cuadro de lista",
+legend:"Dentro de un cuadro de lista, mueva al siguiente elemento de lista con TAB O FLECHA ABAJO. Mueva al elemento anterior de la lista con MAYÚS + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción de lista. Presione ESC para cerrar el cuadro de lista."},{name:"Barra de ruta del elemento del editor",legend:"Presione ${elementsPathFocus} para navegar a la barra de ruta de elementos. Desplácese al siguiente botón de elemento con TAB o FLECHA DERECHA. Desplácese al botón anterior con SHIFT + TAB o FLECHA IZQUIERDA. Presione SPACE o ENTER para seleccionar el elemento en el editor."}]},
+{name:"Comandos",items:[{name:"Comando deshacer",legend:"Presiona ${undo}"},{name:"Comando rehacer",legend:"Presiona ${redo}"},{name:"Comando negrita",legend:"Presiona ${bold}"},{name:"Comando cursiva",legend:"Presiona {italic}"},{name:"Comando subrayado",legend:"Presiona ${underline}"},{name:"Comando enlace",legend:"Presiona ${link}"},{name:"Comando colapsar barra de herramientas",legend:"Presiona ${toolbarCollapse}"},{name:"Acceda al comando de espacio de enfoque anterior",legend:"Presione ${accessPreviousSpace} para acceder al espacio de enfoque inaccesible más cercano antes del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes."},
+{name:"Acceder al siguiente comando de espacio de enfoque",legend:"Pulse ${accessNextSpace} para acceder al espacio de enfoque más cercano inaccesible después del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes."},{name:"Ayuda de accesibilidad",legend:"Presiona ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulador",pause:"Pausa",
+capslock:"Mayúsculas",escape:"Escape",pageUp:"Página arriba",pageDown:"Página abajo",leftArrow:"Flecha izquierda",upArrow:"Flecha arriba",rightArrow:"Flecha derecha",downArrow:"Flecha abajo",insert:"Insertar",leftWindowKey:"Tecla izquierda de Windows",rightWindowKey:"Tecla derecha de Windows",selectKey:"Tecla de selección",numpad0:"Teclado numérico 0",numpad1:"Teclado numérico 1",numpad2:"Teclado numérico 2",numpad3:"Teclado numérico 3",numpad4:"Teclado numérico 4",numpad5:"Teclado numérico 5",numpad6:"Teclado numérico 6",
+numpad7:"Teclado numérico 7",numpad8:"Teclado numérico 8",numpad9:"Teclado numérico 9",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Números",scrollLock:"Bloqueo de desplazamiento",semiColon:"punto y coma",equalSign:"Signo igual",comma:"Coma",dash:"Guión",period:"Espacio",forwardSlash:"Diagonal",graveAccent:"Acento grave",openBracket:"Abrir paréntesis",
+backSlash:"Diagonal invertida",closeBracket:"Cerrar paréntesis",singleQuote:"Comillas simple"});
\ No newline at end of file
index 2aa0c5cb0e21f25b7baf4de64fb6de25f262f86e..b4708ba7e5f0bd020f0d61402ba6a4ef22485212 100644 (file)
@@ -7,7 +7,7 @@ legend:"Dentro del diálogo, presione TAB para navegar a los siguientes elemento
 {name:"Editor del menú contextual",legend:"Presiona ${contextMenu} o TECLA MENÚ para abrir el menú contextual. Entonces muévete a la siguiente opción del menú con TAB o FLECHA ABAJO. Muévete a la opción previa con SHIFT + TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para seleccionar la opción del menú. Abre el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Regresa al elemento padre del menú con ESC o FLECHA IZQUIERDA. Cierra el menú contextual con ESC."},{name:"Lista del Editor",
 legend:"Dentro de una lista, te mueves al siguiente elemento de la lista con TAB o FLECHA ABAJO. Te mueves al elemento previo de la lista con SHIFT+TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para elegir la opción de la lista. Presiona ESC para cerrar la lista."},{name:"Barra de Ruta del Elemento en el Editor",legend:"Presiona ${elementsPathFocus} para navegar a los elementos de la barra de ruta. Te mueves al siguiente elemento botón con TAB o FLECHA DERECHA. Te mueves al botón previo con SHIFT+TAB o FLECHA IZQUIERDA. Presiona ESPACIO o ENTER para seleccionar el elemento en el editor."}]},
 {name:"Comandos",items:[{name:"Comando deshacer",legend:"Presiona ${undo}"},{name:"Comando rehacer",legend:"Presiona ${redo}"},{name:"Comando negrita",legend:"Presiona ${bold}"},{name:"Comando itálica",legend:"Presiona ${italic}"},{name:"Comando subrayar",legend:"Presiona ${underline}"},{name:"Comando liga",legend:"Presiona ${liga}"},{name:"Comando colapsar barra de herramientas",legend:"Presiona ${toolbarCollapse}"},{name:"Comando accesar el anterior espacio de foco",legend:"Presiona ${accessPreviousSpace} para accesar el espacio de foco no disponible más cercano anterior al cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes."},
-{name:"Comando accesar el siguiente spacio de foco",legend:"Presiona ${accessNextSpace} para accesar el espacio de foco no disponible más cercano después del cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes."},{name:"Ayuda de Accesibilidad",legend:"Presiona ${a11yHelp}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Mayús.",escape:"Escape",pageUp:"Regresar Página",pageDown:"Avanzar Página",leftArrow:"Flecha Izquierda",upArrow:"Flecha Arriba",
-rightArrow:"Flecha Derecha",downArrow:"Flecha Abajo",insert:"Insertar",leftWindowKey:"Tecla Windows Izquierda",rightWindowKey:"Tecla Windows Derecha",selectKey:"Tecla de Selección",numpad0:"Tecla 0 del teclado numérico",numpad1:"Tecla 1 del teclado numérico",numpad2:"Tecla 2 del teclado numérico",numpad3:"Tecla 3 del teclado numérico",numpad4:"Tecla 4 del teclado numérico",numpad5:"Tecla 5 del teclado numérico",numpad6:"Tecla 6 del teclado numérico",numpad7:"Tecla 7 del teclado numérico",numpad8:"Tecla 8 del teclado numérico",
-numpad9:"Tecla 9 del teclado numérico",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto Decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Punto y coma",equalSign:"Signo de Igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Diagonal",graveAccent:"Acento Grave",openBracket:"Abrir llave",backSlash:"Diagonal Invertida",closeBracket:"Cerrar llave",
-singleQuote:"Comillas simples"});
\ No newline at end of file
+{name:"Comando accesar el siguiente spacio de foco",legend:"Presiona ${accessNextSpace} para accesar el espacio de foco no disponible más cercano después del cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes."},{name:"Ayuda de Accesibilidad",legend:"Presiona ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Mayús.",
+escape:"Escape",pageUp:"Regresar Página",pageDown:"Avanzar Página",leftArrow:"Flecha Izquierda",upArrow:"Flecha Arriba",rightArrow:"Flecha Derecha",downArrow:"Flecha Abajo",insert:"Insertar",leftWindowKey:"Tecla Windows Izquierda",rightWindowKey:"Tecla Windows Derecha",selectKey:"Tecla de Selección",numpad0:"Tecla 0 del teclado numérico",numpad1:"Tecla 1 del teclado numérico",numpad2:"Tecla 2 del teclado numérico",numpad3:"Tecla 3 del teclado numérico",numpad4:"Tecla 4 del teclado numérico",numpad5:"Tecla 5 del teclado numérico",
+numpad6:"Tecla 6 del teclado numérico",numpad7:"Tecla 7 del teclado numérico",numpad8:"Tecla 8 del teclado numérico",numpad9:"Tecla 9 del teclado numérico",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto Decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Punto y coma",equalSign:"Signo de Igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Diagonal",
+graveAccent:"Acento Grave",openBracket:"Abrir llave",backSlash:"Diagonal Invertida",closeBracket:"Cerrar llave",singleQuote:"Comillas simples"});
\ No newline at end of file
index c5987d4249ad788b0e5887c815b4b3c5666cefc9..aa2c79107b6267cfbdff06e25b5d65aed0c35a9a 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","et",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 36cf17774e29392819417ebf91b057c5726ba9a1..e80d8daad91e90a05aec423d91646ce4a50f7fb2 100644 (file)
@@ -7,6 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","eu",{title:"Erabilerraztasunaren argibideak
 legend:"Sakatu ${contextMenu} edo APLIKAZIO TEKLA testuinguru-menua irekitzeko. Menuko hurrengo aukerara joateko erabili TAB edo BEHERA GEZIA. Aurreko aukerara nabigatzeko erabili MAIUS+TAB edo GORA GEZIA. Sakatu ZURIUNEA edo SARTU menuko aukera hautatzeko. Ireki uneko aukeraren azpi-menua ZURIUNEA edo SARTU edo ESKUIN-GEZIA erabiliz. Menuko aukera gurasora itzultzeko erabili ESC edo EZKER-GEZIA. Testuinguru-menua ixteko sakatu ESC."},{name:"Editorearen zerrenda-koadroa",legend:"Zerrenda-koadro baten barruan, zerrendako hurrengo elementura joateko erabili TAB edo BEHERA GEZIA. Zerrendako aurreko elementura nabigatzeko MAIUS+TAB edo GORA GEZIA. Sakatu ZURIUNEA edo SARTU zerrendako aukera hautatzeko. Sakatu ESC zerrenda-koadroa ixteko."},
 {name:"Editorearen elementuaren bide-barra",legend:"Sakatu ${elementsPathFocus} elementuaren bide-barrara nabigatzeko. Hurrengo elementuaren botoira joateko erabili TAB edo ESKUIN-GEZIA. Aurreko botoira joateko aldiz erabili MAIUS+TAB edo EZKER-GEZIA. Elementua editorean hautatzeko sakatu ZURIUNEA edo SARTU."}]},{name:"Komandoak",items:[{name:"Desegin komandoa",legend:"Sakatu ${undo}"},{name:"Berregin komandoa",legend:"Sakatu ${redo}"},{name:"Lodia komandoa",legend:"Sakatu ${bold}"},{name:"Etzana komandoa",
 legend:"Sakatu ${italic}"},{name:"Azpimarratu komandoa",legend:"Sakatu ${underline}"},{name:"Esteka komandoa",legend:"Sakatu ${link}"},{name:"Tolestu tresna-barra komandoa",legend:"Sakatu ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:"Erabilerraztasunaren laguntza",legend:"Sakatu ${a11yHelp}"}]}],tab:"Tabuladorea",pause:"Pausatu",capslock:"Blok Maius",escape:"Ihes",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Ezker-gezia",upArrow:"Gora gezia",rightArrow:"Eskuin-gezia",downArrow:"Behera gezia",insert:"Txertatu",leftWindowKey:"Ezkerreko Windows tekla",rightWindowKey:"Eskuineko Windows tekla",selectKey:"Hautatu tekla",numpad0:"Zenbakizko teklatua 0",numpad1:"Zenbakizko teklatua 1",numpad2:"Zenbakizko teklatua 2",numpad3:"Zenbakizko teklatua 3",
-numpad4:"Zenbakizko teklatua 4",numpad5:"Zenbakizko teklatua 5",numpad6:"Zenbakizko teklatua 6",numpad7:"Zenbakizko teklatua 7",numpad8:"Zenbakizko teklatua 8",numpad9:"Zenbakizko teklatua 9",multiply:"Biderkatu",add:"Gehitu",subtract:"Kendu",decimalPoint:"Koma hamartarra",divide:"Zatitu",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Blok Zenb",scrollLock:"Blok Korr",semiColon:"Puntu eta koma",equalSign:"Berdin zeinua",comma:"Koma",
-dash:"Marratxoa",period:"Puntua",forwardSlash:"Barra",graveAccent:"Azentu kamutsa",openBracket:"Parentesia ireki",backSlash:"Alderantzizko barra",closeBracket:"Itxi parentesia",singleQuote:"Komatxo bakuna"});
\ No newline at end of file
+{name:"Erabilerraztasunaren laguntza",legend:"Sakatu ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabuladorea",pause:"Pausatu",capslock:"Blok Maius",escape:"Ihes",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Ezker-gezia",upArrow:"Gora gezia",rightArrow:"Eskuin-gezia",downArrow:"Behera gezia",insert:"Txertatu",leftWindowKey:"Ezkerreko Windows tekla",rightWindowKey:"Eskuineko Windows tekla",selectKey:"Hautatu tekla",
+numpad0:"Zenbakizko teklatua 0",numpad1:"Zenbakizko teklatua 1",numpad2:"Zenbakizko teklatua 2",numpad3:"Zenbakizko teklatua 3",numpad4:"Zenbakizko teklatua 4",numpad5:"Zenbakizko teklatua 5",numpad6:"Zenbakizko teklatua 6",numpad7:"Zenbakizko teklatua 7",numpad8:"Zenbakizko teklatua 8",numpad9:"Zenbakizko teklatua 9",multiply:"Biderkatu",add:"Gehitu",subtract:"Kendu",decimalPoint:"Koma hamartarra",divide:"Zatitu",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",
+f12:"F12",numLock:"Blok Zenb",scrollLock:"Blok Korr",semiColon:"Puntu eta koma",equalSign:"Berdin zeinua",comma:"Koma",dash:"Marratxoa",period:"Puntua",forwardSlash:"Barra",graveAccent:"Azentu kamutsa",openBracket:"Parentesia ireki",backSlash:"Alderantzizko barra",closeBracket:"Itxi parentesia",singleQuote:"Komatxo bakuna"});
\ No newline at end of file
index be36987bf62b6607620453ea617a3c3a4106d7ef..728032685f88b35a4b1e6fb668b189e377c0617f 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","fa",{title:"دستورالعمل‌های 
 legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"منوی متنی ویرایشگر",legend:"${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc."},
 {name:"جعبه فهرست ویرایشگر",legend:"در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید."},{name:"ویرایشگر عنصر نوار راه",legend:"برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر."}]},
 {name:"فرمان‌ها",items:[{name:"بازگشت به آخرین فرمان",legend:"فشردن ${undo}"},{name:"انجام مجدد فرمان",legend:"فشردن ${redo}"},{name:"فرمان درشت کردن متن",legend:"فشردن ${bold}"},{name:"فرمان کج کردن متن",legend:"فشردن ${italic}"},{name:"فرمان زیرخطدار کردن متن",legend:"فشردن ${underline}"},{name:"فرمان پیوند دادن",legend:"فشردن ${link}"},{name:"بستن نوار ابزار فرمان",legend:"فشردن ${toolbarCollapse}"},{name:"دسترسی به فرمان محل تمرکز قبلی",legend:"فشردن ${accessPreviousSpace} برای دسترسی به نزدیک‌ترین فضای قابل دسترسی تمرکز قبل از هشتک، برای مثال: دو عنصر مجاور HR -خط افقی-. تکرار کلید ترکیبی برای رسیدن به فضاهای تمرکز از راه دور."},
-{name:"دسترسی به فضای دستور بعدی",legend:"برای دسترسی به نزدیک‌ترین فضای تمرکز غیر قابل دسترس، ${accessNextSpace} را پس از علامت هشتک بفشارید، برای مثال:  دو عنصر مجاور HR -خط افقی-. کلید ترکیبی را برای رسیدن به فضای تمرکز تکرار کنید."},{name:"راهنمای دسترسی",legend:"فشردن ${a11yHelp}"}]}],tab:"برگه",pause:"توقف",capslock:"Caps Lock",escape:"گریز",pageUp:"صفحه به بالا",pageDown:"صفحه به پایین",leftArrow:"پیکان چپ",upArrow:"پیکان بالا",rightArrow:"پیکان راست",downArrow:"پیکان پایین",insert:"ورود",
-leftWindowKey:"کلید چپ ویندوز",rightWindowKey:"کلید راست ویندوز",selectKey:"انتخاب کلید",numpad0:"کلید شماره 0",numpad1:"کلید شماره 1",numpad2:"کلید شماره 2",numpad3:"کلید شماره 3",numpad4:"کلید شماره 4",numpad5:"کلید شماره 5",numpad6:"کلید شماره 6",numpad7:"کلید شماره 7",numpad8:"کلید شماره 8",numpad9:"کلید شماره 9",multiply:"ضرب",add:"افزودن",subtract:"تفریق",decimalPoint:"نقطه‌ی اعشار",divide:"جدا کردن",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",
-f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"علامت تساوی",comma:"کاما",dash:"خط تیره",period:"دوره",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"دسترسی به فضای دستور بعدی",legend:"برای دسترسی به نزدیک‌ترین فضای تمرکز غیر قابل دسترس، ${accessNextSpace} را پس از علامت هشتک بفشارید، برای مثال:  دو عنصر مجاور HR -خط افقی-. کلید ترکیبی را برای رسیدن به فضای تمرکز تکرار کنید."},{name:"راهنمای دسترسی",legend:"فشردن ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"برگه",pause:"توقف",capslock:"Caps Lock",escape:"گریز",pageUp:"صفحه به بالا",pageDown:"صفحه به پایین",
+leftArrow:"پیکان چپ",upArrow:"پیکان بالا",rightArrow:"پیکان راست",downArrow:"پیکان پایین",insert:"ورود",leftWindowKey:"کلید چپ ویندوز",rightWindowKey:"کلید راست ویندوز",selectKey:"انتخاب کلید",numpad0:"کلید شماره 0",numpad1:"کلید شماره 1",numpad2:"کلید شماره 2",numpad3:"کلید شماره 3",numpad4:"کلید شماره 4",numpad5:"کلید شماره 5",numpad6:"کلید شماره 6",numpad7:"کلید شماره 7",numpad8:"کلید شماره 8",numpad9:"کلید شماره 9",multiply:"ضرب",add:"افزودن",subtract:"تفریق",decimalPoint:"نقطه‌ی اعشار",divide:"جدا کردن",
+f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"علامت تساوی",comma:"کاما",dash:"خط تیره",period:"دوره",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 28b5d28d63635c242d16b085cc9ebc0f748c95cb..a307eb8e473597da7c3a137e5a708bfa5b985884 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","fi",{title:"Saavutettavuus ohjeet",contents
 {name:"Editorin dialogi",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editorin oheisvalikko",legend:"Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella."},
 {name:"Editorin listalaatikko",legend:"Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon."},{name:"Editorin elementtipolun palkki",legend:"Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa."}]},
 {name:"Komennot",items:[{name:"Peruuta komento",legend:"Paina ${undo}"},{name:"Tee uudelleen komento",legend:"Paina ${redo}"},{name:"Lihavoi komento",legend:"Paina ${bold}"},{name:"Kursivoi komento",legend:"Paina ${italic}"},{name:"Alleviivaa komento",legend:"Paina ${underline}"},{name:"Linkki komento",legend:"Paina ${link}"},{name:"Pienennä työkalupalkki komento",legend:"Paina ${toolbarCollapse}"},{name:"Siirry aiempaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin edellä olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."},
-{name:"Siirry seuraavaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin jälkeen olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."},{name:"Saavutettavuus ohjeet",legend:"Paina ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",
-downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numeronäppäimistö 0",numpad1:"Numeronäppäimistö 1",numpad2:"Numeronäppäimistö 2",numpad3:"Numeronäppäimistö 3",numpad4:"Numeronäppäimistö 4",numpad5:"Numeronäppäimistö 5",numpad6:"Numeronäppäimistö 6",numpad7:"Numeronäppäimistö 7",numpad8:"Numeronäppäimistö 8",numpad9:"Numeronäppäimistö 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",
-divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puolipiste",equalSign:"Equal Sign",comma:"Pilkku",dash:"Dash",period:"Piste",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Siirry seuraavaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin jälkeen olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."},{name:"Saavutettavuus ohjeet",legend:"Paina ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",
+pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numeronäppäimistö 0",numpad1:"Numeronäppäimistö 1",numpad2:"Numeronäppäimistö 2",numpad3:"Numeronäppäimistö 3",numpad4:"Numeronäppäimistö 4",numpad5:"Numeronäppäimistö 5",numpad6:"Numeronäppäimistö 6",numpad7:"Numeronäppäimistö 7",numpad8:"Numeronäppäimistö 8",
+numpad9:"Numeronäppäimistö 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puolipiste",equalSign:"Equal Sign",comma:"Pilkku",dash:"Dash",period:"Piste",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 03e54f1fe65a21ee69386fa31eb2d415418351b5..564a8b2f57dbd0e12d481909edf48597a04fba65 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","fo",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Falda",add:"Pluss",subtract:"Frádráttar",decimalPoint:"Decimal Point",divide:"Býta",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Javnatekn",comma:"Komma",dash:"Dash",period:"Punktum",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Falda",add:"Pluss",subtract:"Frádráttar",decimalPoint:"Decimal Point",divide:"Býta",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Javnatekn",comma:"Komma",dash:"Dash",period:"Punktum",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 5aac06be5a4598071327fdaa4535b5a73bacde35..4f25ec39e647e8728c8f28e18d0109bf6abd35a2 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","fr-ca",{title:"Instructions d'accessibilit
 {name:"Dialogue de l'éditeur",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu contextuel de l'éditeur",legend:"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC."},
 {name:"Menu déroulant de l'éditeur",legend:"A l'intérieur d'une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches SHIFT+TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant."},{name:"Barre d'emplacement des éléments de l'éditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de léditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur."}]},
 {name:"Commandes",items:[{name:"Annuler",legend:"Appuyer sur ${undo}"},{name:"Refaire",legend:"Appuyer sur ${redo}"},{name:"Gras",legend:"Appuyer sur ${bold}"},{name:"Italique",legend:"Appuyer sur ${italic}"},{name:"Souligné",legend:"Appuyer sur ${underline}"},{name:"Lien",legend:"Appuyer sur ${link}"},{name:"Enrouler la barre d'outils",legend:"Appuyer sur ${toolbarCollapse}"},{name:"Accéder à l'objet de focus précédent",legend:"Appuyer ${accessPreviousSpace} pour accéder au prochain espace disponible avant le curseur, par exemple: deux éléments HR adjacents.  Répéter la combinaison pour joindre les éléments d'espaces distantes."},
-{name:"Accéder au prochain objet de focus",legend:"Appuyer ${accessNextSpace} pour accéder au prochain espace disponible après le curseur, par exemple: deux éléments HR adjacents.  Répéter la combinaison pour joindre les éléments d'espaces distantes."},{name:"Aide d'accessibilité",legend:"Appuyer sur ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",
-insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",
-scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Accéder au prochain objet de focus",legend:"Appuyer ${accessNextSpace} pour accéder au prochain espace disponible après le curseur, par exemple: deux éléments HR adjacents.  Répéter la combinaison pour joindre les éléments d'espaces distantes."},{name:"Aide d'accessibilité",legend:"Appuyer sur ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",
+pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",
+f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 0cf67e8d156aa8b71691be496db7e41ea72a8013..b56e5b15693fc0367c8395607a29de45146ee4a0 100644 (file)
@@ -8,6 +8,6 @@ legend:"Appuyer sur ${contextMenu} ou sur la touche Menu pour ouvrir le menu con
 {name:"Zone de liste de l'éditeur",legend:"Dans une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches Tab ou Flèche bas. Se déplacer vers l'élément précédent de la liste avec les touches Maj+Tab ou Flèche haut. Appuyer sur la barre d'espace ou sur Entrée pour sélectionner l'option dans la liste. Appuyer sur Échap pour fermer le menu déroulant."},{name:"Barre du chemin d'éléments de l'éditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre du fil d'Ariane des éléments. Se déplacer vers le bouton de l'élément suivant avec les touches Tab ou Flèche droite. Se déplacer vers le bouton précédent avec les touches Maj+Tab ou Flèche gauche. Appuyer sur la barre d'espace ou sur Entrée pour sélectionner l'élément dans l'éditeur."}]},
 {name:"Commandes",items:[{name:" Annuler la commande",legend:"Appuyer sur ${undo}"},{name:"Commande restaurer",legend:"Appuyer sur ${redo}"},{name:" Commande gras",legend:"Appuyer sur ${bold}"},{name:" Commande italique",legend:"Appuyer sur ${italic}"},{name:" Commande souligné",legend:"Appuyer sur ${underline}"},{name:" Commande lien",legend:"Appuyer sur ${link}"},{name:" Commande enrouler la barre d'outils",legend:"Appuyer sur ${toolbarCollapse}"},{name:"Commande d'accès à l'élément sélectionnable précédent",
 legend:"Appuyer sur ${accessNextSpace} pour accéder à l'élément sélectionnable inatteignable le plus proche avant le curseur, par exemple : deux lignes horizontales adjacentes. Répéter la combinaison de touches pour atteindre les éléments sélectionnables précédents."},{name:"Commande d'accès à l'élément sélectionnable suivant",legend:"Appuyer sur ${accessNextSpace} pour accéder à l'élément sélectionnable inatteignable le plus proche après le curseur, par exemple : deux lignes horizontales adjacentes. Répéter la combinaison de touches pour atteindre les éléments sélectionnables suivants."},
-{name:" Aide sur l'accessibilité",legend:"Appuyer sur ${a11yHelp}"}]}],tab:"Tabulation",pause:"Pause",capslock:"Verr. Maj.",escape:"Échap",pageUp:"Page supérieure",pageDown:"Page suivante",leftArrow:"Flèche gauche",upArrow:"Flèche haut",rightArrow:"Flèche droite",downArrow:"Flèche basse",insert:"Inser",leftWindowKey:"Touche Windows gauche",rightWindowKey:"Touche Windows droite",selectKey:"Touche Sélectionner",numpad0:"0 du pavé numérique",numpad1:"1 du pavé numérique",numpad2:"2 du pavé numérique",
-numpad3:"3 du pavé numérique",numpad4:"4 du pavé numérique",numpad5:"5 du pavé numérique",numpad6:"6 du pavé numérique",numpad7:"7 du pavé numérique",numpad8:"Pavé numérique 8",numpad9:"9 du pavé numérique",multiply:"Multiplier",add:"Plus",subtract:"Moins",decimalPoint:"Point décimal",divide:"Diviser",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Verr. Num.",scrollLock:"Arrêt défil.",semiColon:"Point-virgule",equalSign:"Signe égal",
-comma:"Virgule",dash:"Tiret",period:"Point",forwardSlash:"Barre oblique",graveAccent:"Accent grave",openBracket:"Parenthèse ouvrante",backSlash:"Barre oblique inverse",closeBracket:"Parenthèse fermante",singleQuote:"Apostrophe"});
\ No newline at end of file
+{name:" Aide sur l'accessibilité",legend:"Appuyer sur ${a11yHelp}"},{name:"Coller comme texte sans mise en forme",legend:"Appuyer sur ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulation",pause:"Pause",capslock:"Verr. Maj.",escape:"Échap",pageUp:"Page supérieure",pageDown:"Page suivante",leftArrow:"Flèche gauche",upArrow:"Flèche haut",rightArrow:"Flèche droite",downArrow:"Flèche basse",insert:"Inser",leftWindowKey:"Touche Windows gauche",rightWindowKey:"Touche Windows droite",
+selectKey:"Touche Sélectionner",numpad0:"0 du pavé numérique",numpad1:"1 du pavé numérique",numpad2:"2 du pavé numérique",numpad3:"3 du pavé numérique",numpad4:"4 du pavé numérique",numpad5:"5 du pavé numérique",numpad6:"6 du pavé numérique",numpad7:"7 du pavé numérique",numpad8:"Pavé numérique 8",numpad9:"9 du pavé numérique",multiply:"Multiplier",add:"Plus",subtract:"Moins",decimalPoint:"Point décimal",divide:"Diviser",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",
+f11:"F11",f12:"F12",numLock:"Verr. Num.",scrollLock:"Arrêt défil.",semiColon:"Point-virgule",equalSign:"Signe égal",comma:"Virgule",dash:"Tiret",period:"Point",forwardSlash:"Barre oblique",graveAccent:"Accent grave",openBracket:"Parenthèse ouvrante",backSlash:"Barre oblique inverse",closeBracket:"Parenthèse fermante",singleQuote:"Apostrophe"});
\ No newline at end of file
index 43dc741d6cae8aac7c4b46efc444129d7714e90d..8d1084be9e8d11f00a9d19ff84ab71967e2430cb 100644 (file)
@@ -3,9 +3,10 @@
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
 CKEDITOR.plugins.setLang("a11yhelp","gl",{title:"Instrucións de accesibilidade",contents:"Axuda. Para pechar este diálogo prema ESC.",legend:[{name:"Xeral",items:[{name:"Barra de ferramentas do editor",legend:"Prema ${toolbarFocus} para navegar pola barra de ferramentas. Para moverse polos distintos grupos de ferramentas use as teclas TAB e MAIÚS+TAB. Para moverse polas distintas ferramentas use FRECHA DEREITA ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para activar o botón da barra de ferramentas."},
-{name:"Editor de diálogo",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor do menú contextual",legend:"Prema ${contextMenu} ou a TECLA MENÚ para abrir o menú contextual. A seguir móvase á seguinte opción do menú con TAB ou FRECHA ABAIXO. Móvase á opción anterior con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para seleccionar a opción do menú. Abra o submenú da opción actual con ESPAZO ou INTRO ou FRECHA DEREITA. Regrese ao elemento principal do menú con ESC ou FRECHA ESQUERDA. Peche o menú contextual con ESC."},
-{name:"Lista do editor",legend:"Dentro dunha lista, móvase ao seguinte elemento da lista con TAB ou FRECHA ABAIXO. Móvase ao elemento anterior da lista con MAIÚS+TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para escoller a opción da lista. Prema ESC para pechar a lista."},{name:"Barra da ruta ao elemento no editor",legend:"Prema ${elementsPathFocus} para navegar ata os elementos da barra de ruta. Móvase ao seguinte elemento botón con TAB ou FRECHA DEREITA. Móvase ao botón anterior con MAIÚS+TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar o elemento no editor."}]},
-{name:"Ordes",items:[{name:"Orde «desfacer»",legend:"Prema ${undo}"},{name:"Orde «refacer»",legend:"Prema ${redo}"},{name:"Orde «negra»",legend:"Prema ${bold}"},{name:"Orde «cursiva»",legend:"Prema ${italic}"},{name:"Orde «subliñar»",legend:"Prema ${underline}"},{name:"Orde «ligazón»",legend:"Prema ${link}"},{name:"Orde «contraer a barra de ferramentas»",legend:"Prema ${toolbarCollapse}"},{name:"Orde «acceder ao anterior espazo en foco»",legend:"Prema ${accessPreviousSpace} para acceder ao espazo máis próximo de foco inalcanzábel anterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},
-{name:"Orde «acceder ao seguinte espazo en foco»",legend:"Prema ${accessNextSpace} para acceder ao espazo máis próximo de foco inalcanzábel posterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Axuda da accesibilidade",legend:"Prema ${a11yHelp}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Maiús",escape:"Escape",pageUp:"Páxina arriba",pageDown:"Páxina abaixo",leftArrow:"Frecha esquerda",upArrow:"Frecha arriba",
-rightArrow:"Frecha dereita",downArrow:"Frecha abaixo",insert:"Inserir",leftWindowKey:"Tecla Windows esquerda",rightWindowKey:"Tecla Windows dereita",selectKey:"Escolla a tecla",numpad0:"Tec. numérico 0",numpad1:"Tec. numérico 1",numpad2:"Tec. numérico 2",numpad3:"Tec. numérico 3",numpad4:"Tec. numérico 4",numpad5:"Tec. numérico 5",numpad6:"Tec. numérico 6",numpad7:"Tec. numérico 7",numpad8:"Tec. numérico 8",numpad9:"Tec. numérico 9",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto decimal",
-divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloq. num.",scrollLock:"Bloq. despraz.",semiColon:"Punto e coma",equalSign:"Signo igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Barra inclinada",graveAccent:"Acento grave",openBracket:"Abrir corchete",backSlash:"Barra invertida",closeBracket:"Pechar corchete",singleQuote:"Comiña simple"});
\ No newline at end of file
+{name:"Editor de diálogo",legend:"Dentro do diálogo, prema TAB para navegar cara os seguintes elementos de diálogo, prema MAIÚS+TAB para moverse cara os anteriores elementos de diálogo, prema INTRO para enviar o diálogo, prema ESC para cancelar o diálogo. Cando o diálogo ten múltiples lapelas, a lista de lapelas pode cinguirse con ALT+F10 ou con TAB como parte da orde de lapelas do diálogo. Coa lapela en foco, pode moverse cara a seguinte ou a anterior lapela coas FRECHAS ESQUERDA e DEREICHA respectivamente."},
+{name:"Editor do menú contextual",legend:"Prema ${contextMenu} ou a TECLA MENÚ para abrir o menú contextual. A seguir móvase á seguinte opción do menú con TAB ou FRECHA ABAIXO. Móvase á opción anterior con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para seleccionar a opción do menú. Abra o submenú da opción actual con ESPAZO ou INTRO ou FRECHA DEREITA. Regrese ao elemento principal do menú con ESC ou FRECHA ESQUERDA. Peche o menú contextual con ESC."},{name:"Lista do editor",legend:"Dentro dunha lista, móvase ao seguinte elemento da lista con TAB ou FRECHA ABAIXO. Móvase ao elemento anterior da lista con MAIÚS+TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para escoller a opción da lista. Prema ESC para pechar a lista."},
+{name:"Barra da ruta ao elemento no editor",legend:"Prema ${elementsPathFocus} para navegar ata os elementos da barra de ruta. Móvase ao seguinte elemento botón con TAB ou FRECHA DEREITA. Móvase ao botón anterior con MAIÚS+TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar o elemento no editor."}]},{name:"Ordes",items:[{name:"Orde «desfacer»",legend:"Prema ${undo}"},{name:"Orde «refacer»",legend:"Prema ${redo}"},{name:"Orde «negra»",legend:"Prema ${bold}"},{name:"Orde «cursiva»",legend:"Prema ${italic}"},
+{name:"Orde «subliñar»",legend:"Prema ${underline}"},{name:"Orde «ligazón»",legend:"Prema ${link}"},{name:"Orde «contraer a barra de ferramentas»",legend:"Prema ${toolbarCollapse}"},{name:"Orde «acceder ao anterior espazo en foco»",legend:"Prema ${accessPreviousSpace} para acceder ao espazo máis próximo de foco inalcanzábel anterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Orde «acceder ao seguinte espazo en foco»",
+legend:"Prema ${accessNextSpace} para acceder ao espazo máis próximo de foco inalcanzábel posterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Axuda da accesibilidade",legend:"Prema ${a11yHelp}"},{name:"Pegar como texto simple",legend:"Prema ${pastetext}",legendEdge:"Prema ${pastetext}, seguido de ${paste}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Maiús",escape:"Escape",pageUp:"Páxina arriba",pageDown:"Páxina abaixo",
+leftArrow:"Frecha esquerda",upArrow:"Frecha arriba",rightArrow:"Frecha dereita",downArrow:"Frecha abaixo",insert:"Inserir",leftWindowKey:"Tecla Windows esquerda",rightWindowKey:"Tecla Windows dereita",selectKey:"Escolla a tecla",numpad0:"Tec. numérico 0",numpad1:"Tec. numérico 1",numpad2:"Tec. numérico 2",numpad3:"Tec. numérico 3",numpad4:"Tec. numérico 4",numpad5:"Tec. numérico 5",numpad6:"Tec. numérico 6",numpad7:"Tec. numérico 7",numpad8:"Tec. numérico 8",numpad9:"Tec. numérico 9",multiply:"Multiplicar",
+add:"Sumar",subtract:"Restar",decimalPoint:"Punto decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloq. num.",scrollLock:"Bloq. despraz.",semiColon:"Punto e coma",equalSign:"Signo igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Barra inclinada",graveAccent:"Acento grave",openBracket:"Abrir corchete",backSlash:"Barra invertida",closeBracket:"Pechar corchete",singleQuote:"Comiña simple"});
\ No newline at end of file
index f6e83f36ad88d597e6d1f3d05e4cf45b99c5a4d4..aa203e3dfd8f6d4664f3b098c3110f0aacf4c2c5 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","gu",{title:"એક્ક્ષેબિલ
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"કમાંડસ",items:[{name:"અન્ડું કમાંડ",legend:"$ દબાવો {undo}"},{name:"ફરી કરો કમાંડ",legend:"$ દબાવો {redo}"},{name:"બોલ્દનો કમાંડ",legend:"$ દબાવો {bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 9c86b8c08a53664a71f6346ee9778bc94a1f472a..576584f6e81112441ad1550fdc8abd19efc34313 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","he",{title:"הוראות נגישות",cont
 {name:"תפריט ההקשר (Context Menu)",legend:"לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC)."},{name:"תפריטים צפים (List boxes)",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"עץ אלמנטים (Elements Path)",legend:"לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך."}]},{name:"פקודות",items:[{name:" ביטול צעד אחרון",legend:"לחץ ${undo}"},{name:" חזרה על צעד אחרון",legend:"לחץ ${redo}"},{name:" הדגשה",legend:"לחץ ${bold}"},{name:" הטייה",legend:"לחץ ${italic}"},{name:" הוספת קו תחתון",legend:"לחץ ${underline}"},{name:" הוספת לינק",
 legend:"לחץ ${link}"},{name:" כיווץ סרגל הכלים",legend:"לחץ ${toolbarCollapse}"},{name:"גישה למיקום המיקוד הקודם",legend:"לחץ ${accessPreviousSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב לפני הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."},{name:"גישה למיקום המיקוד הבא",legend:"לחץ ${accessNextSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב אחרי הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."},
-{name:" הוראות נגישות",legend:"לחץ ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"חץ שמאלה",upArrow:"חץ למעלה",rightArrow:"חץ ימינה",downArrow:"חץ למטה",insert:"הכנס",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"בחר מקש",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",
-numpad9:"Numpad 9",multiply:"Multiply",add:"הוסף",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"סלאש",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"סלאש הפוך",closeBracket:"Close Bracket",singleQuote:"ציטוט יחיד"});
\ No newline at end of file
+{name:" הוראות נגישות",legend:"לחץ ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"חץ שמאלה",upArrow:"חץ למעלה",rightArrow:"חץ ימינה",downArrow:"חץ למטה",insert:"הכנס",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"בחר מקש",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",
+numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"הוסף",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"סלאש",graveAccent:"Grave Accent",
+openBracket:"Open Bracket",backSlash:"סלאש הפוך",closeBracket:"Close Bracket",singleQuote:"ציטוט יחיד"});
\ No newline at end of file
index 5443d24b6a5b5609004435537e88df3da1a580a6..a5aafeb4565342a32062520232e420b219294011 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","hi",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 7434d616c23f86bce69fca2e93f30267bc391020..e71fbdaf62dce8ac28afbf80640d50348b5800e6 100644 (file)
@@ -3,9 +3,9 @@
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
 CKEDITOR.plugins.setLang("a11yhelp","hr",{title:"Upute dostupnosti",contents:"Sadržaj pomoći. Za zatvaranje pritisnite ESC.",legend:[{name:"Općenito",items:[{name:"Alatna traka",legend:"Pritisni ${toolbarFocus} za navigaciju do alatne trake. Pomicanje do prethodne ili sljedeće alatne grupe vrši se pomoću SHIFT+TAB i TAB. Pomicanje do prethodnog ili sljedećeg gumba u alatnoj traci vrši se pomoću lijeve i desne strelice kursora. Pritisnite SPACE ili ENTER za aktivaciju alatne trake."},{name:"Dijalog",
-legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstni izbornik",legend:"Pritisnite ${contextMenu} ili APPLICATION tipku za otvaranje kontekstnog izbornika. Pomicanje se vrši TAB ili strelicom kursora prema dolje ili SHIFT+TAB ili strelica kursora prema gore. SPACE ili ENTER odabiru opciju izbornika. Otvorite podizbornik trenutne opcije sa  SPACE, ENTER ili desna strelica kursora. Povratak na prethodni izbornik vrši se sa ESC ili lijevom strelicom kursora. Zatvaranje se vrši pritiskom na tipku ESC."},
+legend:"Unutar dijaloga, pritisnite TAB kako bi navigirali do sljedećeg elementa dijaloga, pritisnite SHIFT+TAB kako bi se pomaknuli do prethodnog elementa, pritisnite ENTER kako bi poslali dijalog, pritisnite ESC za gašenje dijaloga. Kada dijalog ima više kartica, listi kartica se može pristupiti pomoću ALT+F10 ili sa TAB. Kada je fokusirana lista kartica, pomaknite se naprijed ili nazad pomoću strelica LIJEVO ili DESNO."},{name:"Kontekstni izbornik",legend:"Pritisnite ${contextMenu} ili APPLICATION tipku za otvaranje kontekstnog izbornika. Pomicanje se vrši TAB ili strelicom kursora prema dolje ili SHIFT+TAB ili strelica kursora prema gore. SPACE ili ENTER odabiru opciju izbornika. Otvorite podizbornik trenutne opcije sa  SPACE, ENTER ili desna strelica kursora. Povratak na prethodni izbornik vrši se sa ESC ili lijevom strelicom kursora. Zatvaranje se vrši pritiskom na tipku ESC."},
 {name:"Lista",legend:"Unutar list-boxa, pomicanje na sljedeću stavku vrši se sa TAB ili strelica kursora prema dolje. Na prethodnu sa SHIFT+TAB ili strelica prema gore. Pritiskom na SPACE ili ENTER odabire se stavka ili ESC za zatvaranje."},{name:"Traka putanje elemenata",legend:"Pritisnite ${elementsPathFocus} za navigaciju po putanji elemenata. Pritisnite TAB ili desnu strelicu kursora za pomicanje na sljedeći element ili SHIFT+TAB ili lijeva strelica kursora za pomicanje na prethodni element. Pritiskom na SPACE ili ENTER vrši se odabir elementa."}]},
-{name:"Naredbe",items:[{name:"Vrati naredbu",legend:"Pritisni ${undo}"},{name:"Ponovi naredbu",legend:"Pritisni ${redo}"},{name:"Bold naredba",legend:"Pritisni ${bold}"},{name:"Italic naredba",legend:"Pritisni ${italic}"},{name:"Underline naredba",legend:"Pritisni ${underline}"},{name:"Link naredba",legend:"Pritisni ${link}"},{name:"Smanji alatnu traku naredba",legend:"Pritisni ${toolbarCollapse}"},{name:"Access previous focus space naredba",legend:"Pritisni ${accessPreviousSpace} za pristup najbližem nedostupnom razmaku prije kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."},
-{name:"Access next focus space naredba",legend:"Pritisni ${accessNextSpace} za pristup najbližem nedostupnom razmaku nakon kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."},{name:"Pomoć za dostupnost",legend:"Pritisni ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",
-rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",
-equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Naredbe",items:[{name:"Vrati naredbu",legend:"Pritisni ${undo}"},{name:"Ponovi naredbu",legend:"Pritisni ${redo}"},{name:"Bold naredba",legend:"Pritisni ${bold}"},{name:"Italic naredba",legend:"Pritisni ${italic}"},{name:"Underline naredba",legend:"Pritisni ${underline}"},{name:"Link naredba",legend:"Pritisni ${link}"},{name:"Smanji alatnu traku naredba",legend:"Pritisni ${toolbarCollapse}"},{name:"Naredba za pristupi prethodnom prostoru fokusa",legend:"Pritisni ${accessPreviousSpace} za pristup najbližem nedostupnom razmaku prije kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."},
+{name:"Naredba za pristup sljedećem prostoru fokusa",legend:"Pritisni ${accessNextSpace} za pristup najbližem nedostupnom razmaku nakon kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."},{name:"Pomoć za dostupnost",legend:"Pritisni ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",
+leftArrow:"Lijev strelica",upArrow:"Strelica gore",rightArrow:"Desna strelica",downArrow:"Strelica dolje",insert:"Insert",leftWindowKey:"Lijeva Windows tipka",rightWindowKey:"Desna Windows tipka",selectKey:"Tipka Select",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"umpad 8",numpad9:"Numpad 9",multiply:"Množenje",add:"Zbrajanje",subtract:"Oduzimanje",decimalPoint:"Decimalna točka",divide:"Dijeljenje",
+f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Točka zarez",equalSign:"Jednako",comma:"Zarez",dash:"Crtica",period:"Točka",forwardSlash:"Kosa crta",graveAccent:"Akcent",openBracket:"Otvorena uglata zagrada",backSlash:"Obrnuta kosa crta",closeBracket:"Zatvorena uglata zagrada",singleQuote:"Jednostruki navodnik"});
\ No newline at end of file
index b547453aef55453f2353a9c837747af332830f6e..fbbba9839da88864d34da8de590afe191a3d3a2d 100644 (file)
@@ -3,9 +3,10 @@
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
 CKEDITOR.plugins.setLang("a11yhelp","hu",{title:"Kisegítő utasítások",contents:"Súgó tartalmak. A párbeszédablak bezárásához nyomjon ESC-et.",legend:[{name:"Általános",items:[{name:"Szerkesztő Eszköztár",legend:"Nyomjon ${toolbarFocus} hogy kijelölje az eszköztárat. A következő és előző eszköztár csoporthoz a TAB és SHIFT+TAB-al juthat el. A következő és előző eszköztár gombhoz a BAL NYÍL vagy JOBB NYÍL gombbal juthat el. Nyomjon SPACE-t vagy ENTER-t hogy aktiválja az eszköztár gombot."},{name:"Szerkesző párbeszéd ablak",
-legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Szerkesztő helyi menü",legend:"Nyomjon ${contextMenu}-t vagy ALKALMAZÁS BILLENTYŰT a helyi menü megnyitásához. Ezután a következő menüpontra léphet a TAB vagy LEFELÉ NYÍLLAL. Az előző opciót a SHIFT+TAB vagy FELFELÉ NYÍLLAL érheti el. Nyomjon SPACE-t vagy ENTER-t a menüpont kiválasztásához. A jelenlegi menüpont almenüjének megnyitásához nyomjon SPACE-t vagy ENTER-t, vagy JOBB NYILAT. A főmenühöz való visszatéréshez nyomjon ESC-et vagy BAL NYILAT. A helyi menü bezárása az ESC billentyűvel lehetséges."},
+legend:"Párbeszédablakban nyomjon TAB-ot a következő párbeszédmezőhöz ugráshoz, nyomjon SHIFT + TAB-ot az előző mezőhöz ugráshoz, nyomjon ENTER-t a párbeszédablak elfogadásához, nyomjon ESC-et a párbeszédablak elvetéséhez. Azokhoz a párbeszédablakokhoz, amik több fület tartalmaznak, nyomjon ALT + F10-et vagy TAB-ot hogy a fülekre ugorjon. Ezután a TAB-al vagy a JOBB NYÍLLAL a következő fülre ugorhat."},{name:"Szerkesztő helyi menü",legend:"Nyomjon ${contextMenu}-t vagy ALKALMAZÁS BILLENTYŰT a helyi menü megnyitásához. Ezután a következő menüpontra léphet a TAB vagy LEFELÉ NYÍLLAL. Az előző opciót a SHIFT+TAB vagy FELFELÉ NYÍLLAL érheti el. Nyomjon SPACE-t vagy ENTER-t a menüpont kiválasztásához. A jelenlegi menüpont almenüjének megnyitásához nyomjon SPACE-t vagy ENTER-t, vagy JOBB NYILAT. A főmenühöz való visszatéréshez nyomjon ESC-et vagy BAL NYILAT. A helyi menü bezárása az ESC billentyűvel lehetséges."},
 {name:"Szerkesztő lista",legend:"A listán belül a következő elemre a TAB vagy LEFELÉ NYÍLLAL mozoghat. Az előző elem kiválasztásához nyomjon SHIFT+TAB-ot vagy FELFELÉ NYILAT. Nyomjon SPACE-t vagy ENTER-t az elem kiválasztásához. Az ESC billentyű megnyomásával bezárhatja a listát."},{name:"Szerkesztő elem utak sáv",legend:"Nyomj ${elementsPathFocus} hogy kijelöld a elemek út sávját. A következő elem gombhoz a TAB-al vagy a JOBB NYÍLLAL juthatsz el. Az előző gombhoz a SHIFT+TAB vagy BAL NYÍLLAL mehetsz. A SPACE vagy ENTER billentyűvel kiválaszthatod az elemet a szerkesztőben."}]},
 {name:"Parancsok",items:[{name:"Parancs visszavonása",legend:"Nyomj ${undo}"},{name:"Parancs megismétlése",legend:"Nyomjon ${redo}"},{name:"Félkövér parancs",legend:"Nyomjon ${bold}"},{name:"Dőlt parancs",legend:"Nyomjon ${italic}"},{name:"Aláhúzott parancs",legend:"Nyomjon ${underline}"},{name:"Link parancs",legend:"Nyomjon ${link}"},{name:"Szerkesztősáv összecsukása parancs",legend:"Nyomjon ${toolbarCollapse}"},{name:"Hozzáférés az előző fókusz helyhez parancs",legend:"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel előtt, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket."},
-{name:"Hozzáférés a következő fókusz helyhez parancs",legend:"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel után, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket."},{name:"Kisegítő súgó",legend:"Nyomjon ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"balra nyíl",upArrow:"felfelé nyíl",rightArrow:"jobbra nyíl",
-downArrow:"lefelé nyíl",insert:"Insert",leftWindowKey:"bal Windows-billentyű",rightWindowKey:"jobb Windows-billentyű",selectKey:"Billentyű választása",numpad0:"Számbillentyűk 0",numpad1:"Számbillentyűk 1",numpad2:"Számbillentyűk 2",numpad3:"Számbillentyűk 3",numpad4:"Számbillentyűk 4",numpad5:"Számbillentyűk 5",numpad6:"Számbillentyűk 6",numpad7:"Számbillentyűk 7",numpad8:"Számbillentyűk 8",numpad9:"Számbillentyűk 9",multiply:"Szorzás",add:"Hozzáadás",subtract:"Kivonás",decimalPoint:"Tizedespont",
-divide:"Osztás",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Pontosvessző",equalSign:"Egyenlőségjel",comma:"Vessző",dash:"Kötőjel",period:"Pont",forwardSlash:"Perjel",graveAccent:"Visszafelé dőlő ékezet",openBracket:"Nyitó szögletes zárójel",backSlash:"fordított perjel",closeBracket:"Záró szögletes zárójel",singleQuote:"szimpla idézőjel"});
\ No newline at end of file
+{name:"Hozzáférés a következő fókusz helyhez parancs",legend:"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel után, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket."},{name:"Kisegítő súgó",legend:"Nyomjon ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",
+pageUp:"Page Up",pageDown:"Page Down",leftArrow:"balra nyíl",upArrow:"felfelé nyíl",rightArrow:"jobbra nyíl",downArrow:"lefelé nyíl",insert:"Insert",leftWindowKey:"bal Windows-billentyű",rightWindowKey:"jobb Windows-billentyű",selectKey:"Billentyű választása",numpad0:"Számbillentyűk 0",numpad1:"Számbillentyűk 1",numpad2:"Számbillentyűk 2",numpad3:"Számbillentyűk 3",numpad4:"Számbillentyűk 4",numpad5:"Számbillentyűk 5",numpad6:"Számbillentyűk 6",numpad7:"Számbillentyűk 7",numpad8:"Számbillentyűk 8",
+numpad9:"Számbillentyűk 9",multiply:"Szorzás",add:"Hozzáadás",subtract:"Kivonás",decimalPoint:"Tizedespont",divide:"Osztás",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Pontosvessző",equalSign:"Egyenlőségjel",comma:"Vessző",dash:"Kötőjel",period:"Pont",forwardSlash:"Perjel",graveAccent:"Visszafelé dőlő ékezet",openBracket:"Nyitó szögletes zárójel",backSlash:"fordított perjel",closeBracket:"Záró szögletes zárójel",
+singleQuote:"szimpla idézőjel"});
\ No newline at end of file
index 8177096a482c3a124e701d36f79c8919e12d392f..ca157b0aeea74b29c30859c9a45018fa8f2b356c 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","id",{title:"Instruksi Accessibility",conten
 legend:"Pada jendela dialog, tekan TAB untuk berpindah pada elemen dialog selanjutnya, tekan SHIFT+TAB untuk berpindah pada elemen dialog sebelumnya, tekan ENTER untuk submit dialog, tekan ESC untuk membatalkan dialog. Pada dialog dengan multi tab, daftar tab dapat diakses dengan ALT+F10 ataupun dengan tombol TAB sesuai urutan tab pada dialog. Jika daftar tab aktif terpilih, untuk berpindah tab dapat menggunakan RIGHT dan LEFT ARROW."},{name:"Context Menu Editor",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},
 {name:"List Box Editor",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},
 {name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",
-rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",
-equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",
+leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",
+f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 882487438e0c605d3edb7ee2538f3244308641de..4887edbe0077ab9175fd1b6c406b30984b9cf283 100644 (file)
@@ -7,7 +7,7 @@ CKEDITOR.plugins.setLang("a11yhelp","it",{title:"Istruzioni di Accessibilità",c
 {name:"Menù contestuale Editor",legend:"Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all'opzione precedente con  MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l'opzione di menu. Apri il sottomenu dell'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC."},
 {name:"Box Lista Editor",legend:"All'interno di un elenco di opzioni, per spostarsi all'elemento successivo premere TAB oppure FRECCIA GIÙ. Per spostarsi all'elemento precedente usare SHIFT+TAB oppure FRECCIA SU. Premere SPAZIO o INVIO per selezionare l'elemento della lista. Premere ESC per chiudere l'elenco di opzioni."},{name:"Barra percorso elementi editor",legend:"Premere ${elementsPathFocus} per passare agli elementi della barra del percorso. Usare TAB o FRECCIA DESTRA per passare al pulsante successivo. Per passare al pulsante precedente premere MAIUSC+TAB o FRECCIA SINISTRA. Premere SPAZIO o INVIO per selezionare l'elemento nell'editor."}]},
 {name:"Comandi",items:[{name:" Annulla comando",legend:"Premi ${undo}"},{name:" Ripeti comando",legend:"Premi ${redo}"},{name:" Comando Grassetto",legend:"Premi ${bold}"},{name:" Comando Corsivo",legend:"Premi ${italic}"},{name:" Comando Sottolineato",legend:"Premi ${underline}"},{name:" Comando Link",legend:"Premi ${link}"},{name:" Comando riduci barra degli strumenti",legend:"Premi ${toolbarCollapse}"},{name:"Comando di accesso al precedente spazio di focus",legend:"Premi ${accessPreviousSpace} per accedere il più vicino spazio di focus non raggiungibile prima del simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."},
-{name:"Comando di accesso al prossimo spazio di focus",legend:"Premi ${accessNextSpace} per accedere il più vicino spazio di focus non raggiungibile dopo il simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."},{name:" Aiuto Accessibilità",legend:"Premi ${a11yHelp}"}]}],tab:"Tab",pause:"Pausa",capslock:"Bloc Maiusc",escape:"Esc",pageUp:"Pagina sù",pageDown:"Pagina giù",leftArrow:"Freccia sinistra",upArrow:"Freccia su",rightArrow:"Freccia destra",
-downArrow:"Freccia giù",insert:"Ins",leftWindowKey:"Tasto di Windows sinistro",rightWindowKey:"Tasto di Windows destro",selectKey:"Tasto di selezione",numpad0:"0 sul tastierino numerico",numpad1:"1 sul tastierino numerico",numpad2:"2 sul tastierino numerico",numpad3:"3 sul tastierino numerico",numpad4:"4 sul tastierino numerico",numpad5:"5 sul tastierino numerico",numpad6:"6 sul tastierino numerico",numpad7:"7 sul tastierino numerico",numpad8:"8 sul tastierino numerico",numpad9:"9 sul tastierino numerico",
-multiply:"Moltiplicazione",add:"Più",subtract:"Sottrazione",decimalPoint:"Punto decimale",divide:"Divisione",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloc Num",scrollLock:"Bloc Scorr",semiColon:"Punto-e-virgola",equalSign:"Segno di uguale",comma:"Virgola",dash:"Trattino",period:"Punto",forwardSlash:"Barra",graveAccent:"Accento grave",openBracket:"Parentesi quadra aperta",backSlash:"Barra rovesciata",closeBracket:"Parentesi quadra chiusa",
-singleQuote:"Apostrofo"});
\ No newline at end of file
+{name:"Comando di accesso al prossimo spazio di focus",legend:"Premi ${accessNextSpace} per accedere il più vicino spazio di focus non raggiungibile dopo il simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."},{name:" Aiuto Accessibilità",legend:"Premi ${a11yHelp}"},{name:"Incolla come testo semplice",legend:"Premi ${pastetext}",legendEdge:"Premi ${pastetext}, seguito da ${paste}"}]}],tab:"Tab",pause:"Pausa",capslock:"Bloc Maiusc",
+escape:"Esc",pageUp:"Pagina sù",pageDown:"Pagina giù",leftArrow:"Freccia sinistra",upArrow:"Freccia su",rightArrow:"Freccia destra",downArrow:"Freccia giù",insert:"Ins",leftWindowKey:"Tasto di Windows sinistro",rightWindowKey:"Tasto di Windows destro",selectKey:"Tasto di selezione",numpad0:"0 sul tastierino numerico",numpad1:"1 sul tastierino numerico",numpad2:"2 sul tastierino numerico",numpad3:"3 sul tastierino numerico",numpad4:"4 sul tastierino numerico",numpad5:"5 sul tastierino numerico",numpad6:"6 sul tastierino numerico",
+numpad7:"7 sul tastierino numerico",numpad8:"8 sul tastierino numerico",numpad9:"9 sul tastierino numerico",multiply:"Moltiplicazione",add:"Più",subtract:"Sottrazione",decimalPoint:"Punto decimale",divide:"Divisione",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloc Num",scrollLock:"Bloc Scorr",semiColon:"Punto-e-virgola",equalSign:"Segno di uguale",comma:"Virgola",dash:"Trattino",period:"Punto",forwardSlash:"Barra",graveAccent:"Accento grave",
+openBracket:"Parentesi quadra aperta",backSlash:"Barra rovesciata",closeBracket:"Parentesi quadra chiusa",singleQuote:"Apostrofo"});
\ No newline at end of file
index abcca247f7af7670781ffbe6bbcb5b84319a36fb..892dca090cf601f4c27bd0d24fd0001d89e9381b 100644 (file)
@@ -4,6 +4,6 @@
 */
 CKEDITOR.plugins.setLang("a11yhelp","ja",{title:"ユーザー補助の説明",contents:"ヘルプ このダイアログを閉じるには ESCを押してください。",legend:[{name:"全般",items:[{name:"エディターツールバー",legend:"${toolbarFocus} を押すとツールバーのオン/オフ操作ができます。カーソルをツールバーのグループで移動させるにはTabかSHIFT+Tabを押します。グループ内でカーソルを移動させるには、右カーソルか左カーソルを押します。スペースキーやエンターを押すとボタンを有効/無効にすることができます。"},{name:"編集ダイアログ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},
 {name:"エディターのメニュー",legend:"${contextMenu} キーかAPPLICATION KEYを押すとコンテキストメニューが開きます。Tabか下カーソルでメニューのオプション選択が下に移動します。戻るには、SHIFT+Tabか上カーソルです。スペースもしくはENTERキーでメニューオプションを決定できます。現在選んでいるオプションのサブメニューを開くには、スペース、もしくは右カーソルを押します。サブメニューから親メニューに戻るには、ESCか左カーソルを押してください。ESCでコンテキストメニュー自体をキャンセルできます。"},{name:"エディターリストボックス",legend:"リストボックス内で移動するには、Tabか下カーソルで次のアイテムへ移動します。SHIFT+Tabで前のアイテムに戻ります。リストのオプションを選択するには、スペースもしくは、ENTERを押してください。リストボックスを閉じるには、ESCを押してください。"},{name:"エディター要素パスバー",legend:"${elementsPathFocus} を押すとエレメントパスバーを操作出来ます。Tabか右カーソルで次のエレメントを選択できます。前のエレメントを選択するには、SHIFT+Tabか左カーソルです。スペースもしくは、ENTERでエディタ内の対象エレメントを選択出来ます。"}]},
-{name:"コマンド",items:[{name:"元に戻す",legend:"${undo} をクリック"},{name:"やり直し",legend:"${redo} をクリック"},{name:"太字",legend:"${bold} をクリック"},{name:"斜体 ",legend:"${italic} をクリック"},{name:"下線",legend:"${underline} をクリック"},{name:"リンク",legend:"${link} をクリック"},{name:"ツールバーを縮める",legend:"${toolbarCollapse} をクリック"},{name:"前のカーソル移動のできないポイントへ",legend:"${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},{name:"次のカーソル移動のできないポイントへ",legend:"${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},
-{name:"ユーザー補助ヘルプ",legend:"${a11yHelp} をクリック"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"左矢印",upArrow:"上矢印",rightArrow:"右矢印",downArrow:"下矢印",insert:"Insert",leftWindowKey:"左Windowキー",rightWindowKey:"右のWindowキー",selectKey:"Select",numpad0:"Num 0",numpad1:"Num 1",numpad2:"Num 2",numpad3:"Num 3",numpad4:"Num 4",numpad5:"Num 5",numpad6:"Num 6",numpad7:"Num 7",numpad8:"Num 8",numpad9:"Num 9",multiply:"掛ける",add:"足す",subtract:"引く",decimalPoint:"小数点",
-divide:"割る",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"セミコロン",equalSign:"イコール記号",comma:"カンマ",dash:"ダッシュ",period:"ピリオド",forwardSlash:"フォワードスラッシュ",graveAccent:"グレイヴアクセント",openBracket:"開きカッコ",backSlash:"バックスラッシュ",closeBracket:"閉じカッコ",singleQuote:"シングルクォート"});
\ No newline at end of file
+{name:"コマンド",items:[{name:"元に戻す",legend:"${undo} をクリック"},{name:"やり直し",legend:"${redo} をクリック"},{name:"太字",legend:"${bold} をクリック"},{name:"斜体 ",legend:"${italic} をクリック"},{name:"下線",legend:"${underline} をクリック"},{name:"リンク",legend:"${link} をクリック"},{name:"ツールバーをたたむ",legend:"${toolbarCollapse} をクリック"},{name:"前のカーソル移動のできないポイントへ",legend:"${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},{name:"次のカーソルポイントへ移動する",legend:"${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},
+{name:"ユーザー補助ヘルプ",legend:"${a11yHelp} をクリック"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"左矢印",upArrow:"上矢印",rightArrow:"右矢印",downArrow:"下矢印",insert:"Insert",leftWindowKey:"左Windowキー",rightWindowKey:"右のWindowキー",selectKey:"Select",numpad0:"Num 0",numpad1:"Num 1",numpad2:"Num 2",numpad3:"Num 3",numpad4:"Num 4",numpad5:"Num 5",
+numpad6:"Num 6",numpad7:"Num 7",numpad8:"Num 8",numpad9:"Num 9",multiply:"掛ける",add:"足す",subtract:"引く",decimalPoint:"小数点",divide:"割る",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"セミコロン",equalSign:"イコール記号",comma:"カンマ",dash:"ダッシュ",period:"ピリオド",forwardSlash:"フォワードスラッシュ",graveAccent:"グレイヴアクセント",openBracket:"開きカッコ",backSlash:"バックスラッシュ",closeBracket:"閉じカッコ",singleQuote:"シングルクォート"});
\ No newline at end of file
index 20355121528d31a88be9a6a05d3210dd23641175..7d28f05b7a1b0c854f40931f9f48d0dc251b5a0a 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","km",{title:"Accessibility Instructions",con
 {name:"ម៉ីនុយបរិបទអ្នកកែសម្រួល",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"ប្រអប់បញ្ជីអ្នកកែសម្រួល",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"ពាក្យបញ្ជា",items:[{name:"ការ​បញ្ជា​មិនធ្វើវិញ",legend:"ចុច ${undo}"},{name:"ការបញ្ជា​ធ្វើវិញ",legend:"ចុច ${redo}"},{name:"ការបញ្ជា​អក្សរ​ដិត",legend:"ចុច ${bold}"},{name:"ការបញ្ជា​អក្សរ​ទ្រេត",legend:"ចុច ${italic}"},{name:"ពាក្យបញ្ជា​បន្ទាត់​ពីក្រោម",
 legend:"ចុច ${underline}"},{name:"ពាក្យបញ្ជា​តំណ",legend:"ចុច ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:"ជំនួយ​ពី​ភាព​ងាយស្រួល",legend:"ជួយ ${a11yHelp}"}]}],tab:"Tab",pause:"ផ្អាក",capslock:"Caps Lock",escape:"ចាកចេញ",pageUp:"ទំព័រ​លើ",pageDown:"ទំព័រ​ក្រោម",leftArrow:"ព្រួញ​ឆ្វេង",upArrow:"ព្រួញ​លើ",rightArrow:"ព្រួញ​ស្ដាំ",downArrow:"ព្រួញ​ក្រោម",insert:"បញ្ចូល",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"ជ្រើស​គ្រាប់​ចុច",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"គុណ",add:"បន្ថែម",subtract:"ដក",decimalPoint:"ចំណុចទសភាគ",divide:"ចែក",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"បិទ​រំកិល",semiColon:"ចុច​ក្បៀស",equalSign:"សញ្ញា​អឺរ៉ូ",comma:"ក្បៀស",dash:"Dash",period:"ចុច",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"តង្កៀប​បើក",backSlash:"Backslash",closeBracket:"តង្កៀប​បិទ",singleQuote:"បន្តក់​មួយ"});
\ No newline at end of file
+{name:"ជំនួយ​ពី​ភាព​ងាយស្រួល",legend:"ជួយ ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"ផ្អាក",capslock:"Caps Lock",escape:"ចាកចេញ",pageUp:"ទំព័រ​លើ",pageDown:"ទំព័រ​ក្រោម",leftArrow:"ព្រួញ​ឆ្វេង",upArrow:"ព្រួញ​លើ",rightArrow:"ព្រួញ​ស្ដាំ",downArrow:"ព្រួញ​ក្រោម",insert:"បញ្ចូល",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"ជ្រើស​គ្រាប់​ចុច",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"គុណ",add:"បន្ថែម",subtract:"ដក",decimalPoint:"ចំណុចទសភាគ",divide:"ចែក",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"បិទ​រំកិល",semiColon:"ចុច​ក្បៀស",equalSign:"សញ្ញា​អឺរ៉ូ",comma:"ក្បៀស",dash:"Dash",period:"ចុច",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",
+openBracket:"តង្កៀប​បើក",backSlash:"Backslash",closeBracket:"តង្កៀប​បិទ",singleQuote:"បន្តក់​មួយ"});
\ No newline at end of file
index f493dc1414767db02eace03a994e014ffdeaec04..e76eabfc82fa972bd490f314e3e2fc0e8c73fea0 100644 (file)
@@ -5,6 +5,6 @@
 CKEDITOR.plugins.setLang("a11yhelp","ko",{title:"접근성 설명",contents:"도움말. 이 창을 닫으시려면 ESC 를 누르세요.",legend:[{name:"일반",items:[{name:"편집기 툴바",legend:"툴바를 탐색하시려면 ${toolbarFocus} 를 투르세요. 이전/다음 툴바 그룹으로 이동하시려면 TAB 키 또는 SHIFT+TAB 키를 누르세요. 이전/다음 툴바 버튼으로 이동하시려면 오른쪽 화살표 키 또는 왼쪽 화살표 키를 누르세요. 툴바 버튼을 활성화 하려면 SPACE 키 또는 ENTER 키를 누르세요."},{name:"편집기 다이얼로그",legend:"TAB 키를 누르면 다음 대화상자로 이동하고, SHIFT+TAB 키를 누르면 이전 대화상자로 이동합니다. 대화상자를 제출하려면 ENTER 키를 누르고, ESC 키를 누르면 대화상자를 취소합니다. 대화상자에 탭이 여러개 있을 때, ALT+F10 키 또는 TAB 키를 누르면 순서에 따라 탭 목록에 도달할 수 있습니다. 탭 목록에 초점이 맞을 때, 오른쪽과 왼쪽 화살표 키를 이용하면 각각 다음과 이전 탭으로 이동할 수 있습니다."},
 {name:"편집기 환경 메뉴",legend:"${contextMenu} 또는 어플리케이션 키를 누르면 환경-메뉴를 열 수 있습니다. 환경-메뉴에서 TAB 키 또는 아래 화살표 키를 누르면 다음 메뉴 옵션으로 이동할 수 있습니다. 이전 옵션으로 이동은 SHIFT+TAB 키 또는 위 화살표 키를 눌러서 할 수 있습니다. 스페이스 키 또는 ENTER 키를 눌러서 메뉴 옵션을 선택할 수 있습니다. 스페이스 키 또는 ENTER 키 또는 오른쪽 화살표 키를 눌러서 하위 메뉴를 열 수 있습니다. 부모 메뉴 항목으로 돌아가려면 ESC 키 또는 왼쪽 화살표 키를 누릅니다. ESC 키를 눌러서 환경-메뉴를 닫습니다."},{name:"편집기 목록 박스",legend:"리스트-박스 내에서, 목록의 다음 항목으로 이동하려면 TAB 키 또는 아래쪽 화살표 키를 누릅니다. 목록의 이전 항목으로 이동하려면 SHIFT+TAB 키 또는 위쪽 화살표 키를 누릅니다. 스페이스 키 또는 ENTER 키를 누르면 목록의 해당 옵션을 선택합니다. ESC 키를 눌러서 리스트-박스를 닫을 수 있습니다."},
 {name:"편집기 요소 경로 막대",legend:"${elementsPathFocus}를 눌러서 요소 경로 막대를 탐색할 수 있습니다. 다음 요소로 이동하려면 TAB 키 또는 오른쪽 화살표 키를 누릅니다. SHIFT+TAB 키 또는 왼쪽 화살표 키를 누르면 이전 버튼으로 이동할 수 있습니다. 스페이스 키나 ENTER 키를 누르면 편집기의 해당 항목을 선택합니다."}]},{name:"명령",items:[{name:" 명령 실행 취소",legend:"${undo} 누르시오"},{name:" 명령 다시 실행",legend:"${redo} 누르시오"},{name:" 굵게 명령",legend:"${bold} 누르시오"},{name:" 기울임 꼴 명령",legend:"${italic} 누르시오"},{name:" 밑줄 명령",legend:"${underline} 누르시오"},{name:" 링크 명령",legend:"${link} 누르시오"},{name:" 툴바 줄이기 명령",legend:"${toolbarCollapse} 누르시오"},
-{name:" 이전 포커스 공간 접근 명령",legend:"탈자 기호(^) 이전에 ${accessPreviousSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다."},{name:"다음 포커스 공간 접근 명령",legend:"탈자 기호(^) 다음에 ${accessNextSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다. "},{name:" 접근성 도움말",legend:"${a11yHelp} 누르시오"}]}],tab:"탭 키",pause:"일시정지 키",capslock:"캡스 록 키",escape:"이스케이프 키",pageUp:"페이지 업 키",pageDown:"페이지 다운 키",leftArrow:"왼쪽 화살표 키",
-upArrow:"위쪽 화살표 키",rightArrow:"오른쪽 화살표 키",downArrow:"아래쪽 화살표 키",insert:"인서트 키",leftWindowKey:"왼쪽 윈도우 키",rightWindowKey:"오른쪽 윈도우 키",selectKey:"셀렉트 키",numpad0:"숫자 패드 0 키",numpad1:"숫자 패드 1 키",numpad2:"숫자 패드 2 키",numpad3:"숫자 패드 3 키",numpad4:"숫자 패드 4 키",numpad5:"숫자 패드 5 키",numpad6:"숫자 패드 6 키",numpad7:"숫자 패드 7 키",numpad8:"숫자 패드 8 키",numpad9:"숫자 패드 9 키",multiply:"곱셈(*) 키",add:"덧셈(+) 키",subtract:"뺄셈(-) 키",decimalPoint:"온점(.) 키",divide:"나눗셈(/) 키",f1:"F1 키",f2:"F2 키",f3:"F3 키",f4:"F4 키",f5:"F5 키",f6:"F6 키",
-f7:"F7 키",f8:"F8 키",f9:"F9 키",f10:"F10 키",f11:"F11 키",f12:"F12 키",numLock:"Num Lock 키",scrollLock:"Scroll Lock 키",semiColon:"세미콜론(;) 키",equalSign:"등호(\x3d) 키",comma:"쉼표(,) 키",dash:"대시(-) 키",period:"온점(.) 키",forwardSlash:"슬래시(/) 키",graveAccent:"억음 악센트(`) 키",openBracket:"브라켓 열기([) 키",backSlash:"역슬래시(\\\\) 키",closeBracket:"브라켓 닫기(]) 키",singleQuote:"외 따옴표(') 키"});
\ No newline at end of file
+{name:" 이전 포커스 공간 접근 명령",legend:"탈자 기호(^) 이전에 ${accessPreviousSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다."},{name:"다음 포커스 공간 접근 명령",legend:"탈자 기호(^) 다음에 ${accessNextSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다. "},{name:" 접근성 도움말",legend:"${a11yHelp} 누르시오"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],
+tab:"탭 키",pause:"일시정지 키",capslock:"캡스 록 키",escape:"이스케이프 키",pageUp:"페이지 업 키",pageDown:"페이지 다운 키",leftArrow:"왼쪽 화살표 키",upArrow:"위쪽 화살표 키",rightArrow:"오른쪽 화살표 키",downArrow:"아래쪽 화살표 키",insert:"인서트 키",leftWindowKey:"왼쪽 윈도우 키",rightWindowKey:"오른쪽 윈도우 키",selectKey:"셀렉트 키",numpad0:"숫자 패드 0 키",numpad1:"숫자 패드 1 키",numpad2:"숫자 패드 2 키",numpad3:"숫자 패드 3 키",numpad4:"숫자 패드 4 키",numpad5:"숫자 패드 5 키",numpad6:"숫자 패드 6 키",numpad7:"숫자 패드 7 키",numpad8:"숫자 패드 8 키",numpad9:"숫자 패드 9 키",multiply:"곱셈(*) 키",add:"덧셈(+) 키",subtract:"뺄셈(-) 키",
+decimalPoint:"온점(.) 키",divide:"나눗셈(/) 키",f1:"F1 키",f2:"F2 키",f3:"F3 키",f4:"F4 키",f5:"F5 키",f6:"F6 키",f7:"F7 키",f8:"F8 키",f9:"F9 키",f10:"F10 키",f11:"F11 키",f12:"F12 키",numLock:"Num Lock 키",scrollLock:"Scroll Lock 키",semiColon:"세미콜론(;) 키",equalSign:"등호(\x3d) 키",comma:"쉼표(,) 키",dash:"대시(-) 키",period:"온점(.) 키",forwardSlash:"슬래시(/) 키",graveAccent:"억음 악센트(`) 키",openBracket:"브라켓 열기([) 키",backSlash:"역슬래시(\\\\) 키",closeBracket:"브라켓 닫기(]) 키",singleQuote:"외 따옴표(') 키"});
\ No newline at end of file
index 9bf5eab7d560400247096305b70bf5da76122440..d0689e1a3a612075af85cd720e9e18343ea06c7f 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","ku",{title:"ڕێنمای لەبەردەست
 legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"پێڕستی سەرنووسەر",legend:"کلیك ${contextMenu} یان دوگمەی لیسته‌(Menu) بۆ کردنەوەی لیستەی دەق. بۆ چوونە هەڵبژاردەیەکی تر له‌ لیسته‌ کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوارەوه‌ بۆ چوون بۆ هەڵبژاردەی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو له‌ سەرەوە. داگرتنی کلیلی SPACE یان ENTER بۆ هەڵبژاردنی هەڵبژاردەی لیسته‌. بۆ کردنەوەی لقی ژێر لیسته‌ لەهەڵبژاردەی لیستە کلیکی کلیلی SPACE یان ENTER یان کلیلی تیری دەستی ڕاست. بۆ گەڕانەوه بۆ سەرەوەی لیسته‌ کلیکی کلیلی ESC یان کلیلی تیری دەستی چەپ. بۆ داخستنی لیستە کلیكی کلیلی ESC بکە."},
 {name:"لیستی سنووقی سەرنووسەر",legend:"لەناو سنوقی لیست, چۆن بۆ هەڵنبژاردەی لیستێکی تر کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوار. چوون بۆ هەڵبژاردەی لیستی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو لەسەرەوه‌. کلیکی کلیلی SPACE یان ENTER بۆ دیاریکردنی ‌هەڵبژاردەی لیست. کلیکی کلیلی ESC بۆ داخستنی سنوقی لیست."},{name:"تووڵامرازی توخم",legend:"کلیك ${elementsPathFocus} بۆ ڕابەری تووڵامرازی توخمەکان. چوون بۆ دوگمەی توخمێکی تر کلیکی کلیلی TAB یان کلیلی تیری دەستی ڕاست. چوون بۆ دوگمەی توخمی پێشوو کلیلی SHIFT+TAB یان کلیکی کلیلی تیری دەستی چەپ. داگرتنی کلیلی SPACE یان ENTER بۆ دیاریکردنی توخمەکه‌ لەسەرنووسه."}]},
 {name:"فەرمانەکان",items:[{name:"پووچکردنەوەی فەرمان",legend:"کلیك ${undo}"},{name:"هەڵگەڕانەوەی فەرمان",legend:"کلیك ${redo}"},{name:"فەرمانی دەقی قەڵەو",legend:"کلیك ${bold}"},{name:"فەرمانی دەقی لار",legend:"کلیك ${italic}"},{name:"فەرمانی ژێرهێڵ",legend:"کلیك ${underline}"},{name:"فەرمانی به‌ستەر",legend:"کلیك ${link}"},{name:"شاردەنەوەی تووڵامراز",legend:"کلیك ${toolbarCollapse}"},{name:"چوونەناو سەرنجدانی پێشوی فەرمانی بۆشایی",legend:"کلیک ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:"چوونەناو سەرنجدانی داهاتووی فەرمانی بۆشایی",legend:"کلیک ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"دەستپێگەیشتنی یارمەتی",legend:"کلیك ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",
-leftWindowKey:"پەنجەرەی چەپ",rightWindowKey:"پەنجەرەی ڕاست",selectKey:"Select",numpad0:"Numpad 0",numpad1:"1",numpad2:"2",numpad3:"3",numpad4:"4",numpad5:"5",numpad6:"6",numpad7:"7",numpad8:"8",numpad9:"9",multiply:"*",add:"+",subtract:"-",decimalPoint:".",divide:"/",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:";",equalSign:"\x3d",comma:",",dash:"-",period:".",forwardSlash:"/",graveAccent:"`",
-openBracket:"[",backSlash:"\\\\",closeBracket:"}",singleQuote:"'"});
\ No newline at end of file
+{name:"چوونەناو سەرنجدانی داهاتووی فەرمانی بۆشایی",legend:"کلیک ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"دەستپێگەیشتنی یارمەتی",legend:"کلیك ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",
+leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"پەنجەرەی چەپ",rightWindowKey:"پەنجەرەی ڕاست",selectKey:"Select",numpad0:"Numpad 0",numpad1:"1",numpad2:"2",numpad3:"3",numpad4:"4",numpad5:"5",numpad6:"6",numpad7:"7",numpad8:"8",numpad9:"9",multiply:"*",add:"+",subtract:"-",decimalPoint:".",divide:"/",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",
+semiColon:";",equalSign:"\x3d",comma:",",dash:"-",period:".",forwardSlash:"/",graveAccent:"`",openBracket:"[",backSlash:"\\\\",closeBracket:"}",singleQuote:"'"});
\ No newline at end of file
index c76623621a8298be3c1bf40ec7988b9f52050bd0..89c90bccd24b8ee13a6459890ce920a366955077 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","lt",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index dddea998701f87cfb593e130d5c3220014d749cc..24e60079a99034abd12233c241f0281e1d72177b 100644 (file)
@@ -7,5 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","lv",{title:"Pieejamības instrukcija",conte
 {name:"Redaktora saraksta lauks",legend:"Saraksta laukā, lai pārvietotos uz nākošo saraksta elementu nospiediet TAB vai pogu Bultiņa uz leju. Lai pārvietotos uz iepriekšējo saraksta elementu nospiediet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvēlētos saraksta opcijas. Nospiediet ESC lai aizvērtu saraksta lauku."},{name:"Redaktora elementa ceļa josla",legend:"Nospiediet ${elementsPathFocus} lai pārvietotos uz elementa ceļa joslu. Lai pārvietotos uz nākošo elementa pogu izmantojiet TAB vai Labo bultiņu. Lai pārvietotos uz iepriekšējo elementa pogu izmantojiet SHIFT+TAB vai Kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvēlētos elementu redaktorā."}]},
 {name:"Komandas",items:[{name:"Komanda atcelt darbību",legend:"Nospiediet ${undo}"},{name:"Komanda atkārtot darbību",legend:"Nospiediet ${redo}"},{name:"Treknraksta komanda",legend:"Nospiediet ${bold}"},{name:"Kursīva komanda",legend:"Nospiediet ${italic}"},{name:"Apakšsvītras komanda ",legend:"Nospiediet ${underline}"},{name:"Hipersaites komanda",legend:"Nospiediet ${link}"},{name:"Rīkjoslas aizvēršanas komanda",legend:"Nospiediet ${toolbarCollapse}"},{name:"Piekļūt iepriekšējai fokusa vietas komandai",
 legend:"Nospiediet ${accessPreviousSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pirms kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."},{name:"Piekļūt nākošā fokusa apgabala komandai",legend:"Nospiediet ${accessNextSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pēc kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."},
-{name:"Pieejamības palīdzība",legend:"Nospiediet ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Pieejamības palīdzība",legend:"Nospiediet ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index f29427135fe97d075a6c92d2fe9958a9f2f1f37e..ec2bdc6262e07dacc89f261c827baee90bae2efe 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","mk",{title:"Инструкции за пр
 legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Контекст-мени на уредувачот",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},
 {name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},
 {name:"Наредби",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Пауза",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Up",leftArrow:"Стрелка лево",upArrow:"Стрелка горе",rightArrow:"Стрелка десно",downArrow:"Стрелка доле",insert:"Insert",
-leftWindowKey:"Лево Windows копче",rightWindowKey:"Десно Windows копче",selectKey:"Select копче",numpad0:"Нум. таст. 0",numpad1:"Нум. таст. 1",numpad2:"Нум. таст. 2",numpad3:"Нум. таст. 3",numpad4:"Нум. таст. 4",numpad5:"Нум. таст. 5",numpad6:"Нум. таст. 6",numpad7:"Нум. таст. 7",numpad8:"Нум. таст. 8",numpad9:"Нум. таст. 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",
-f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Пауза",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Up",
+leftArrow:"Стрелка лево",upArrow:"Стрелка горе",rightArrow:"Стрелка десно",downArrow:"Стрелка доле",insert:"Insert",leftWindowKey:"Лево Windows копче",rightWindowKey:"Десно Windows копче",selectKey:"Select копче",numpad0:"Нум. таст. 0",numpad1:"Нум. таст. 1",numpad2:"Нум. таст. 2",numpad3:"Нум. таст. 3",numpad4:"Нум. таст. 4",numpad5:"Нум. таст. 5",numpad6:"Нум. таст. 6",numpad7:"Нум. таст. 7",numpad8:"Нум. таст. 8",numpad9:"Нум. таст. 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",
+divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 1f1af29ca6819beba16616809d1feb41dffd16e1..09c4bd2b444e915a40995ed685f7883b64278c57 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","mn",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 340d604940e7562e7d8f401c3609e5955f903e6d..e8a2a80d81794b65a48fcb8ca9e0920e81d54cd7 100644 (file)
@@ -6,6 +6,7 @@ CKEDITOR.plugins.setLang("a11yhelp","nb",{title:"Instruksjoner for tilgjengeligh
 legend:"Mens du er i en dialog, trykk TAB for å navigere til neste dialogelement, trykk SHIFT+TAB for å flytte til forrige dialogelement, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. Når en dialog har flere faner, kan fanelisten nås med enten ALT+F10 eller med TAB. Når fanelisten er fokusert, går man til neste og forrige fane med henholdsvis HØYRE og VENSTRE PILTAST."},{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."},
 {name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."},{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]},
 {name:"Hurtigtaster",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"},{name:"Understreking",legend:"Trykk ${underline}"},{name:"Lenke",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},
-{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"}]}],tab:"Tabulator",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Venstre piltast",upArrow:"Opp-piltast",
-rightArrow:"Høyre piltast",downArrow:"Ned-piltast",insert:"Insert",leftWindowKey:"Venstre Windows-tast",rightWindowKey:"Høyre Windows-tast",selectKey:"Velg nøkkel",numpad0:"Numerisk tastatur 0",numpad1:"Numerisk tastatur 1",numpad2:"Numerisk tastatur 2",numpad3:"Numerisk tastatur 3",numpad4:"Numerisk tastatur 4",numpad5:"Numerisk tastatur 5",numpad6:"Numerisk tastatur 6",numpad7:"Numerisk tastatur 7",numpad8:"Numerisk tastatur 8",numpad9:"Numerisk tastatur 9",multiply:"Multipliser",add:"Legg til",
-subtract:"Trekk fra",decimalPoint:"Desimaltegn",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Likhetstegn",comma:"Komma",dash:"Bindestrek",period:"Punktum",forwardSlash:"Forover skråstrek",graveAccent:"Grav aksent",openBracket:"Åpne parentes",backSlash:"Bakover skråstrek",closeBracket:"Lukk parentes",singleQuote:"Enkelt sitattegn"});
\ No newline at end of file
+{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:"Lim inn som ren tekst",legend:"Trykk ${pastetext}",legendEdge:"Trykk ${pastetext}, etterfulgt av ${past}"}]}],tab:"Tabulator",pause:"Pause",capslock:"Caps Lock",
+escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Venstre piltast",upArrow:"Opp-piltast",rightArrow:"Høyre piltast",downArrow:"Ned-piltast",insert:"Insert",leftWindowKey:"Venstre Windows-tast",rightWindowKey:"Høyre Windows-tast",selectKey:"Velg nøkkel",numpad0:"Numerisk tastatur 0",numpad1:"Numerisk tastatur 1",numpad2:"Numerisk tastatur 2",numpad3:"Numerisk tastatur 3",numpad4:"Numerisk tastatur 4",numpad5:"Numerisk tastatur 5",numpad6:"Numerisk tastatur 6",numpad7:"Numerisk tastatur 7",
+numpad8:"Numerisk tastatur 8",numpad9:"Numerisk tastatur 9",multiply:"Multipliser",add:"Legg til",subtract:"Trekk fra",decimalPoint:"Desimaltegn",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Likhetstegn",comma:"Komma",dash:"Bindestrek",period:"Punktum",forwardSlash:"Forover skråstrek",graveAccent:"Grav aksent",openBracket:"Åpne parentes",backSlash:"Bakover skråstrek",
+closeBracket:"Lukk parentes",singleQuote:"Enkelt sitattegn"});
\ No newline at end of file
index 62df667c52213b5a091517db42dea29919659789..0f35b3e2faf3c65f9180d624345c9d7b570d0af5 100644 (file)
@@ -7,6 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","nl",{title:"Toegankelijkheidsinstructies",c
 {name:"Contextmenu tekstverwerker",legend:"Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC."},{name:"Keuzelijst tekstverwerker",legend:"In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten."},
 {name:"Elementenpad werkbalk tekstverwerker",legend:"Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker."}]},{name:"Opdrachten",items:[{name:"Ongedaan maken opdracht",legend:"Druk op ${undo}"},{name:"Opnieuw uitvoeren opdracht",legend:"Druk op ${redo}"},{name:"Vetgedrukt opdracht",
 legend:"Druk op ${bold}"},{name:"Cursief opdracht",legend:"Druk op ${italic}"},{name:"Onderstrepen opdracht",legend:"Druk op ${underline}"},{name:"Link opdracht",legend:"Druk op ${link}"},{name:"Werkbalk inklappen opdracht",legend:"Druk op ${toolbarCollapse}"},{name:"Ga naar vorige focus spatie commando",legend:"Druk ${accessPreviousSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie voor de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken."},
-{name:"Ga naar volgende focus spatie commando",legend:"Druk ${accessNextSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie na de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken."},{name:"Toegankelijkheidshulp",legend:"Druk op ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Pijl naar links",upArrow:"Pijl omhoog",rightArrow:"Pijl naar rechts",
-downArrow:"Pijl naar beneden",insert:"Invoegen",leftWindowKey:"Linker Windows-toets",rightWindowKey:"Rechter Windows-toets",selectKey:"Selecteer toets",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vermenigvuldigen",add:"Toevoegen",subtract:"Aftrekken",decimalPoint:"Decimaalteken",divide:"Delen",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",
-f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puntkomma",equalSign:"Is gelijk-teken",comma:"Komma",dash:"Koppelteken",period:"Punt",forwardSlash:"Slash",graveAccent:"Accent grave",openBracket:"Vierkant haakje openen",backSlash:"Backslash",closeBracket:"Vierkant haakje sluiten",singleQuote:"Apostrof"});
\ No newline at end of file
+{name:"Ga naar volgende focus spatie commando",legend:"Druk ${accessNextSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie na de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken."},{name:"Toegankelijkheidshulp",legend:"Druk op ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",
+escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Pijl naar links",upArrow:"Pijl omhoog",rightArrow:"Pijl naar rechts",downArrow:"Pijl naar beneden",insert:"Invoegen",leftWindowKey:"Linker Windows-toets",rightWindowKey:"Rechter Windows-toets",selectKey:"Selecteer toets",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vermenigvuldigen",
+add:"Toevoegen",subtract:"Aftrekken",decimalPoint:"Decimaalteken",divide:"Delen",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puntkomma",equalSign:"Is gelijk-teken",comma:"Komma",dash:"Koppelteken",period:"Punt",forwardSlash:"Slash",graveAccent:"Accent grave",openBracket:"Vierkant haakje openen",backSlash:"Backslash",closeBracket:"Vierkant haakje sluiten",singleQuote:"Apostrof"});
\ No newline at end of file
index 8aa90a48d84175749e88e0cb62633afacfe95f20..b1e01d42c2b219873559f4cdc7f9548334690f94 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","no",{title:"Instruksjoner for tilgjengeligh
 legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."},
 {name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."},{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]},
 {name:"Kommandoer",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"},{name:"Understreking",legend:"Trykk ${underline}"},{name:"Link",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},
-{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",
-downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",
-f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",
+escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",
+divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index f63c1198b9652cdf9809f0b790e2e9e3b4a1b091..abab681b10df1d77f4da67e16253e33dd700df24 100644 (file)
@@ -7,6 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","oc",{title:"Instruccions d'accessibilitat",
 {name:"Zòna de lista de l'editor",legend:"Dins una lista en menú desenrotlant, se desplaçar cap a l'element seguent de la lista amb las tòcas Tab o Sageta bas. Se desplaçar cap a l'element precedent de la lista amb las tòcas Maj+Tab o Sageta naut. Quichar sus la barra d'espaci o sus Entrada per seleccionar l'opcion dins la lista. Quichar sus Escap per tampar lo menú desenrotlant."},{name:"Barra del camin d'elements de l'editor",legend:"Quichar sus ${elementsPathFocus} per naviguer cap a la barra del fial d'Ariana dels elements. Se desplaçar cap al boton de l'element seguent amb las tòcas Tab o Sageta dreita. Se desplaçar cap al boton precedent amb las tòcas Maj+Tab o Sageta esquèrra. Quichar sus la barra d'espaci o sus Entrada per seleccionar l'element dins l'editor."}]},
 {name:"Comandas",items:[{name:"Anullar la comanda",legend:"Quichar sus ${undo}"},{name:"Comanda restablir",legend:"Quichar sus ${redo}"},{name:" Comanda gras",legend:"Quichar sus ${bold}"},{name:" Comanda italica",legend:"Quichar sus ${italic}"},{name:" Comanda solinhat",legend:"Quichar sus ${underline}"},{name:" Comanda ligam",legend:"Quichar sus ${link}"},{name:"Comanda enrotlar la barra d'aisinas",legend:"Quichar sus ${toolbarCollapse}"},{name:"Comanda d'accès a l'element seleccionable precedent",
 legend:"Quichar sus ${accessNextSpace} per accedir a l'element seleccionable inategnible lo mai pròche abans lo cursor, per exemple : doas linhas orizontalas adjacentas. Repetir la combinason de tòcas per aténher los elements seleccionables precedents."},{name:"Comanda d'accès a l'element seleccionable seguent",legend:"Quichar sus ${accessNextSpace} per accedir a l'element seleccionable inatenhible lo mai pròche aprèp lo cursor, per exemple : doas linhas orizontalas adjacentas. Repetir la combinason de tòcas per aténher los elements seleccionables seguents."},
-{name:" Ajuda sus l'accessibilitat",legend:"Quichar sus ${a11yHelp}"}]}],tab:"Tabulacion",pause:"Pausa",capslock:"Verr. Maj.",escape:"Escap",pageUp:"Pagina superiora",pageDown:"Pagina seguenta",leftArrow:"Sageta esquèrra",upArrow:"Sageta naut",rightArrow:"Sageta dreita",downArrow:"Sageta bassa",insert:"Inser",leftWindowKey:"Tòca Windows esquèrra",rightWindowKey:"Tòca Windows dreita",selectKey:"Tòca Seleccionar",numpad0:"0 del pavat numeric",numpad1:"1 del pavat numeric",numpad2:"2 del pavat numeric",
-numpad3:"3 del pavat numeric",numpad4:"4 del pavat numeric",numpad5:"5 del pavat numeric",numpad6:"6 del pavat numeric",numpad7:"7 del pavat numeric",numpad8:"Pavat numeric 8",numpad9:"9 del pavat numeric",multiply:"Multiplicar",add:"Plus",subtract:"Mens",decimalPoint:"Punt decimal",divide:"Devesir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Verr. Num.",scrollLock:"Arrèst desfil.",semiColon:"Punt-virgula",equalSign:"Signe egal",comma:"Virgula",
-dash:"Jonhent",period:"Punt",forwardSlash:"Barra oblica",graveAccent:"Accent grèu",openBracket:"Parentèsi dobèrta",backSlash:"Barra oblica invèrsa",closeBracket:"Parentèsi tampanta",singleQuote:"Apostròfa"});
\ No newline at end of file
+{name:" Ajuda sus l'accessibilitat",legend:"Quichar sus ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulacion",pause:"Pausa",capslock:"Verr. Maj.",escape:"Escap",pageUp:"Pagina superiora",pageDown:"Pagina seguenta",leftArrow:"Sageta esquèrra",upArrow:"Sageta naut",rightArrow:"Sageta dreita",downArrow:"Sageta bassa",insert:"Inser",leftWindowKey:"Tòca Windows esquèrra",rightWindowKey:"Tòca Windows dreita",selectKey:"Tòca Seleccionar",
+numpad0:"0 del pavat numeric",numpad1:"1 del pavat numeric",numpad2:"2 del pavat numeric",numpad3:"3 del pavat numeric",numpad4:"4 del pavat numeric",numpad5:"5 del pavat numeric",numpad6:"6 del pavat numeric",numpad7:"7 del pavat numeric",numpad8:"Pavat numeric 8",numpad9:"9 del pavat numeric",multiply:"Multiplicar",add:"Plus",subtract:"Mens",decimalPoint:"Punt decimal",divide:"Devesir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Verr. Num.",
+scrollLock:"Arrèst desfil.",semiColon:"Punt-virgula",equalSign:"Signe egal",comma:"Virgula",dash:"Jonhent",period:"Punt",forwardSlash:"Barra oblica",graveAccent:"Accent grèu",openBracket:"Parentèsi dobèrta",backSlash:"Barra oblica invèrsa",closeBracket:"Parentèsi tampanta",singleQuote:"Apostròfa"});
\ No newline at end of file
index da634dd752973d5f933ab12a96031d2781b57a6a..0c59c918199bfd91e55c752136f4aa368d7eac89 100644 (file)
@@ -6,8 +6,8 @@ CKEDITOR.plugins.setLang("a11yhelp","pl",{title:"Instrukcje dotyczące dostępno
 {name:"Okno dialogowe edytora",legend:"Wewnątrz okna dialogowego naciśnij TAB, by przejść do kolejnego elementu tego okna lub SHIFT+TAB, by przejść do poprzedniego elementu okna. Naciśnij ENTER w celu zatwierdzenia opcji okna dialogowego lub ESC w celu anulowania zmian. Jeśli okno dialogowe ma kilka zakładek, do listy zakładek można przejść za pomocą ALT+F10 lub TAB. Gdy lista zakładek jest aktywna, możesz przejść do kolejnej i poprzedniej zakładki za pomocą STRZAŁKI W PRAWO i STRZAŁKI W LEWO."},
 {name:"Menu kontekstowe edytora",legend:"Wciśnij ${contextMenu} lub PRZYCISK APLIKACJI aby otworzyć menu kontekstowe. Przejdź do następnej pozycji menu wciskając TAB lub STRZAŁKĘ W DÓŁ. Przejdź do poprzedniej pozycji menu wciskając SHIFT + TAB lub STRZAŁKĘ W GÓRĘ. Wciśnij SPACJĘ lub ENTER aby wygrać pozycję menu. Otwórz pod-menu obecnej pozycji wciskając SPACJĘ lub ENTER lub STRZAŁKĘ W PRAWO. Wróć do pozycji nadrzędnego menu wciskając ESC lub STRZAŁKĘ W LEWO. Zamknij menu wciskając ESC."},{name:"Lista w edytorze",
 legend:"Wewnątrz listy przejdź do kolejnego elementu listy za pomocą przycisku TAB lub STRZAŁKI W DÓŁ. Przejdź do poprzedniego elementu listy za pomocą SHIFT+TAB lub STRZAŁKI W GÓRĘ. Naciśnij SPACJĘ lub ENTER w celu wybrania opcji z listy. Naciśnij ESC, by zamknąć listę."},{name:"Pasek ścieżki elementów edytora",legend:"Naciśnij ${elementsPathFocus} w celu przejścia do paska ścieżki elementów edytora. W celu przejścia do kolejnego elementu naciśnij klawisz TAB lub STRZAŁKI W PRAWO. W celu przejścia do poprzedniego elementu naciśnij klawisze SHIFT+TAB lub STRZAŁKI W LEWO. By wybrać element w edytorze, użyj klawisza SPACJI lub ENTER."}]},
-{name:"Polecenia",items:[{name:"Polecenie Cofnij",legend:"Naciśnij ${undo}"},{name:"Polecenie Ponów",legend:"Naciśnij ${redo}"},{name:"Polecenie Pogrubienie",legend:"Naciśnij ${bold}"},{name:"Polecenie Kursywa",legend:"Naciśnij ${italic}"},{name:"Polecenie Podkreślenie",legend:"Naciśnij ${underline}"},{name:"Polecenie Wstaw/ edytuj odnośnik",legend:"Naciśnij ${link}"},{name:"Polecenie schowaj pasek narzędzi",legend:"Naciśnij ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Pomoc dotycząca dostępności",legend:"Naciśnij ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Strzałka w lewo",upArrow:"Strzałka w górę",rightArrow:"Strzałka w prawo",downArrow:"Strzałka w dół",
-insert:"Insert",leftWindowKey:"Lewy klawisz Windows",rightWindowKey:"Prawy klawisz Windows",selectKey:"Klawisz wyboru",numpad0:"Klawisz 0 na klawiaturze numerycznej",numpad1:"Klawisz 1 na klawiaturze numerycznej",numpad2:"Klawisz 2 na klawiaturze numerycznej",numpad3:"Klawisz 3 na klawiaturze numerycznej",numpad4:"Klawisz 4 na klawiaturze numerycznej",numpad5:"Klawisz 5 na klawiaturze numerycznej",numpad6:"Klawisz 6 na klawiaturze numerycznej",numpad7:"Klawisz 7 na klawiaturze numerycznej",numpad8:"Klawisz 8 na klawiaturze numerycznej",
-numpad9:"Klawisz 9 na klawiaturze numerycznej",multiply:"Przemnóż",add:"Plus",subtract:"Minus",decimalPoint:"Separator dziesiętny",divide:"Podziel",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Średnik",equalSign:"Znak równości",comma:"Przecinek",dash:"Pauza",period:"Kropka",forwardSlash:"Ukośnik prawy",graveAccent:"Akcent słaby",openBracket:"Nawias kwadratowy otwierający",backSlash:"Ukośnik lewy",
-closeBracket:"Nawias kwadratowy zamykający",singleQuote:"Apostrof"});
\ No newline at end of file
+{name:"Polecenia",items:[{name:"Polecenie Cofnij",legend:"Naciśnij ${undo}"},{name:"Polecenie Ponów",legend:"Naciśnij ${redo}"},{name:"Polecenie Pogrubienie",legend:"Naciśnij ${bold}"},{name:"Polecenie Kursywa",legend:"Naciśnij ${italic}"},{name:"Polecenie Podkreślenie",legend:"Naciśnij ${underline}"},{name:"Polecenie Wstaw/ edytuj odnośnik",legend:"Naciśnij ${link}"},{name:"Polecenie schowaj pasek narzędzi",legend:"Naciśnij ${toolbarCollapse}"},{name:"Przejdź do poprzedniego miejsca, w którym można ustawić focus",
+legend:"Naciśnij ${accessPreviousSpace}, aby przejść do najbliższego niedostępnego miejsca przed kursorem, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc."},{name:"Przejdź do następnego miejsca, w którym można ustawić focus",legend:"Naciśnij ${accessNextSpace}, aby przejść do najbliższego niedostępnego miejsca po kursorze, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc."},
+{name:"Pomoc dotycząca dostępności",legend:"Naciśnij ${a11yHelp}"},{name:"Wklej jako tekst",legend:"Naciśnij ${pastetext}",legendEdge:"Naciśnij ${pastetext}, a następnie ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Strzałka w lewo",upArrow:"Strzałka w górę",rightArrow:"Strzałka w prawo",downArrow:"Strzałka w dół",insert:"Insert",leftWindowKey:"Lewy klawisz Windows",rightWindowKey:"Prawy klawisz Windows",selectKey:"Klawisz wyboru",
+numpad0:"Klawisz 0 na klawiaturze numerycznej",numpad1:"Klawisz 1 na klawiaturze numerycznej",numpad2:"Klawisz 2 na klawiaturze numerycznej",numpad3:"Klawisz 3 na klawiaturze numerycznej",numpad4:"Klawisz 4 na klawiaturze numerycznej",numpad5:"Klawisz 5 na klawiaturze numerycznej",numpad6:"Klawisz 6 na klawiaturze numerycznej",numpad7:"Klawisz 7 na klawiaturze numerycznej",numpad8:"Klawisz 8 na klawiaturze numerycznej",numpad9:"Klawisz 9 na klawiaturze numerycznej",multiply:"Przemnóż",add:"Plus",
+subtract:"Minus",decimalPoint:"Separator dziesiętny",divide:"Podziel",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Średnik",equalSign:"Znak równości",comma:"Przecinek",dash:"Pauza",period:"Kropka",forwardSlash:"Ukośnik prawy",graveAccent:"Akcent słaby",openBracket:"Nawias kwadratowy otwierający",backSlash:"Ukośnik lewy",closeBracket:"Nawias kwadratowy zamykający",singleQuote:"Apostrof"});
\ No newline at end of file
index 5f0735274d41e208d1adccd459bec06879aadd2a..317e571f752892a74414b6c928693cbb0cce70b2 100644 (file)
@@ -7,6 +7,7 @@ CKEDITOR.plugins.setLang("a11yhelp","pt-br",{title:"Instruções de Acessibilida
 {name:"Menu de Contexto do Editor",legend:"Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC."},{name:"Caixa de Lista do Editor",legend:"Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista."},
 {name:"Barra de Caminho do Elementos do Editor",legend:"Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor."}]},{name:"Comandos",items:[{name:" Comando Desfazer",legend:"Pressione ${undo}"},{name:" Comando Refazer",legend:"Pressione ${redo}"},{name:" Comando Negrito",legend:"Pressione ${bold}"},
 {name:" Comando Itálico",legend:"Pressione ${italic}"},{name:" Comando Sublinhado",legend:"Pressione ${underline}"},{name:" Comando Link",legend:"Pressione ${link}"},{name:" Comando Fechar Barra de Ferramentas",legend:"Pressione ${toolbarCollapse}"},{name:"Acessar o comando anterior de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo antes do cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."},
-{name:"Acessar próximo fomando de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo após o cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."},{name:" Ajuda de Acessibilidade",legend:"Pressione ${a11yHelp}"}]}],tab:"Tecla Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Seta à Esquerda",upArrow:"Seta à Cima",rightArrow:"Seta à Direita",
-downArrow:"Seta à Baixo",insert:"Insert",leftWindowKey:"Tecla do Windows Esquerda",rightWindowKey:"Tecla do Windows Direita",selectKey:"Tecla Selecionar",numpad0:"0 do Teclado Numérico",numpad1:"1 do Teclado Numérico",numpad2:"2 do Teclado Numérico",numpad3:"3 do Teclado Numérico",numpad4:"4 do Teclado Numérico",numpad5:"5 do Teclado Numérico",numpad6:"6 do Teclado Numérico",numpad7:"7 do Teclado Numérico",numpad8:"8 do Teclado Numérico",numpad9:"9 do Teclado Numérico",multiply:"Multiplicar",add:"Mais",
-subtract:"Subtrair",decimalPoint:"Ponto",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ponto-e-vírgula",equalSign:"Igual",comma:"Vírgula",dash:"Hífen",period:"Ponto",forwardSlash:"Barra",graveAccent:"Acento Grave",openBracket:"Abrir Conchetes",backSlash:"Contra-barra",closeBracket:"Fechar Colchetes",singleQuote:"Aspas Simples"});
\ No newline at end of file
+{name:"Acessar próximo fomando de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo após o cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."},{name:" Ajuda de Acessibilidade",legend:"Pressione ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tecla Tab",pause:"Pause",capslock:"Caps Lock",
+escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Seta à Esquerda",upArrow:"Seta à Cima",rightArrow:"Seta à Direita",downArrow:"Seta à Baixo",insert:"Insert",leftWindowKey:"Tecla do Windows Esquerda",rightWindowKey:"Tecla do Windows Direita",selectKey:"Tecla Selecionar",numpad0:"0 do Teclado Numérico",numpad1:"1 do Teclado Numérico",numpad2:"2 do Teclado Numérico",numpad3:"3 do Teclado Numérico",numpad4:"4 do Teclado Numérico",numpad5:"5 do Teclado Numérico",numpad6:"6 do Teclado Numérico",
+numpad7:"7 do Teclado Numérico",numpad8:"8 do Teclado Numérico",numpad9:"9 do Teclado Numérico",multiply:"Multiplicar",add:"Mais",subtract:"Subtrair",decimalPoint:"Ponto",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ponto-e-vírgula",equalSign:"Igual",comma:"Vírgula",dash:"Hífen",period:"Ponto",forwardSlash:"Barra",graveAccent:"Acento Grave",openBracket:"Abrir Conchetes",
+backSlash:"Contra-barra",closeBracket:"Fechar Colchetes",singleQuote:"Aspas Simples"});
\ No newline at end of file
index 9d3a27e40ba02a0b31cf109c88d162a5ad79f857..a8c788dfb4c034310c3f66cbba1fc54a1c049a75 100644 (file)
@@ -3,10 +3,10 @@
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
 CKEDITOR.plugins.setLang("a11yhelp","pt",{title:"Instruções de acessibilidade",contents:"Conteúdo de ajuda. Use a tecla ESC para fechar esta janela.",legend:[{name:"Geral",items:[{name:"Barra de ferramentas do editor",legend:"Clique em ${toolbarFocus} para navegar na barra de ferramentas. Para navegar entre o grupo da barra de ferramentas anterior e seguinte use TAB e SHIFT+TAB. Para navegar entre o botão da barra de ferramentas seguinte e anterior use a SETA DIREITA ou SETA ESQUERDA. Carregue em ESPAÇO ou ENTER para ativar o botão da barra de ferramentas."},
-{name:"Janela do editor",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu de contexto do editor",legend:"Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com  SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu.  Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. GVá para o item do menu parente  com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC."},
+{name:"Janela do editor",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu de contexto do editor",legend:"Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com  SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu.  Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. Vá para o item do menu contentor com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC."},
 {name:"Editor de caixa em lista",legend:"Dentro de uma lista, para navegar para o item seguinte da lista use TAB ou SETA PARA BAIXO. Para o item anterior da lista use SHIFT+TAB ou SETA PARA BAIXO. Carregue em ESPAÇO ou ENTER para selecionar a opção lista. Carregue em ESC para fechar a caixa da lista."},{name:"Editor da barra de caminho dos elementos",legend:"Clique em ${elementsPathFocus} para navegar na barra de caminho dos elementos. Para o botão do elemento seguinte use TAB ou SETA DIREITA. para o botão anterior use SHIFT+TAB ou SETA ESQUERDA. Carregue em ESPAÇO ou ENTER para selecionar o elemento no editor."}]},
 {name:"Comandos",items:[{name:"Comando de anular",legend:"Carregar ${undo}"},{name:"Comando de refazer",legend:"Clique ${redo}"},{name:"Comando de negrito",legend:"Pressione ${bold}"},{name:"Comando de itálico",legend:"Pressione ${italic}"},{name:"Comando de sublinhado",legend:"Pressione ${underline}"},{name:"Comando de hiperligação",legend:"Pressione ${link}"},{name:"Comando de ocultar barra de ferramentas",legend:"Pressione ${toolbarCollapse}"},{name:"Aceder ao comando espaço de foco anterior",
 legend:"Clique em ${accessPreviousSpace} para aceder ao espaço do focos inalcançável mais perto antes do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes."},{name:"Acesso comando do espaço focus seguinte",legend:"Pressione ${accessNextSpace} para aceder ao espaço do focos inalcançável mais perto depois do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes."},
-{name:"Ajuda a acessibilidade",legend:"Pressione ${a11yHelp}"}]}],tab:"Tab",pause:"Pausa",capslock:"Maiúsculas",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Seta esquerda",upArrow:"Seta para cima",rightArrow:"Seta direita",downArrow:"Seta para baixo",insert:"Inserir",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",
-numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiplicar",add:"Adicionar",subtract:"Subtrair",decimalPoint:"Decimal Point",divide:"Separar",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Vírgula",dash:"Cardinal",period:"Ponto",forwardSlash:"Forward Slash",graveAccent:"Acento grave",openBracket:"Open Bracket",backSlash:"Backslash",
-closeBracket:"Close Bracket",singleQuote:"Plica"});
\ No newline at end of file
+{name:"Ajuda a acessibilidade",legend:"Pressione ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Separador",pause:"Pausa",capslock:"Maiúsculas",escape:"Esc",pageUp:"Subir página",pageDown:"Descer página",leftArrow:"Seta esquerda",upArrow:"Seta para cima",rightArrow:"Seta direita",downArrow:"Seta para baixo",insert:"Inserir",leftWindowKey:"Tecla esquerda Windows",rightWindowKey:"Tecla direita Windows",selectKey:"Selecionar tecla",
+numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiplicar",add:"Adicionar",subtract:"Subtrair",decimalPoint:"Ponto decimal",divide:"Separar",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ponto e vírgula",equalSign:"Sinald e igual",comma:"Vírgula",
+dash:"Cardinal",period:"Ponto",forwardSlash:"Forward Slash",graveAccent:"Acento grave",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Plica"});
\ No newline at end of file
index 7a916d29bf03a2830d2d83d946cc2c440a94bce4..72f91d4667628cc56f771e6459bc2c93c43cec7f 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","ro",{title:"Instrucțiuni de accesibilitate
 {name:"Dialog editor",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor meniu contextual",legend:"Apasă ${contextMenu} sau TASTA MENIU pentru a deschide meniul contextual. Treci la următoarea opțiune din meniu cu TAB sau SĂGEATĂ JOS. Treci la opțiunea anterioară cu  SHIFT+TAB sau SĂGEATĂ SUS. Apasă SPAȚIU sau ENTER pentru a selecta opțiunea din meniu. Deschide sub-meniul opțiunii curente cu SPAȚIU sau ENTER sau SĂGEATĂ DREAPTA. Revino la elementul din meniul părinte cu ESC sau SĂGEATĂ STÂNGA. Închide meniul de context cu ESC."},
 {name:"Editor Casetă Listă",legend:"În interiorul unei liste, treci la următorull element cu TAB sau SĂGEATĂ JOS. Treci la elementul anterior din listă cu SHIFT+TAB sau SĂGEATĂ SUS. Apasă SPAȚIU sau ENTER pentru a selecta opțiunea din listă. Apasă ESC pentru a închide lista."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},
 {name:"Comenzi",items:[{name:" Undo command",legend:"Apasă ${undo}"},{name:"Comanda precedentă",legend:"Apasă ${redo}"},{name:"Comanda Îngroșat",legend:"Apasă ${bold}"},{name:"Comanda Inclinat",legend:"Apasă ${italic}"},{name:"Comanda Subliniere",legend:"Apasă ${underline}"},{name:"Comanda Legatură",legend:"Apasă ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",
-rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",
-equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",
+leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",
+f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 34f5cea9e09223ef754b8639b28398b0a510bd6b..6381aaee061b16772928059c71c1469dbd44d29c 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","ru",{title:"Горячие клавиши",
 {name:"Контекстное меню",legend:'Нажмите ${contextMenu} или клавишу APPLICATION, чтобы открыть контекстное меню. Затем перейдите к следующему пункту меню с помощью TAB или стрелкой "ВНИЗ". Переход к предыдущей опции - SHIFT+TAB или стрелкой "ВВЕРХ". Нажмите SPACE, или ENTER, чтобы задействовать опцию меню. Открыть подменю текущей опции - SPACE или ENTER или стрелкой "ВПРАВО". Возврат к родительскому пункту меню - ESC или стрелкой "ВЛЕВО". Закрытие контекстного меню - ESC.'},{name:"Редактор списка",
 legend:'Внутри окна списка, переход к следующему пункту списка - TAB или стрелкой "ВНИЗ". Переход к предыдущему пункту списка - SHIFT+TAB или стрелкой "ВВЕРХ". Нажмите SPACE, или ENTER, чтобы задействовать опцию списка. Нажмите ESC, чтобы закрыть окно списка.'},{name:"Путь к элементу",legend:'Нажмите ${elementsPathFocus}, чтобы перейти к панели пути элементов. Переход к следующей кнопке элемента - TAB или стрелкой "ВПРАВО". Переход к предыдущей кнопку - SHIFT+TAB или стрелкой "ВЛЕВО". Нажмите SPACE, или ENTER, чтобы выбрать элемент в редакторе.'}]},
 {name:"Команды",items:[{name:"Отменить",legend:"Нажмите ${undo}"},{name:"Повторить",legend:"Нажмите ${redo}"},{name:"Полужирный",legend:"Нажмите ${bold}"},{name:"Курсив",legend:"Нажмите ${italic}"},{name:"Подчеркнутый",legend:"Нажмите ${underline}"},{name:"Гиперссылка",legend:"Нажмите ${link}"},{name:"Свернуть панель инструментов",legend:"Нажмите ${toolbarCollapse}"},{name:"Команды доступа к предыдущему фокусному пространству",legend:'Нажмите ${accessPreviousSpace}, чтобы обратиться к ближайшему недостижимому фокусному пространству перед символом "^", например: два смежных HR элемента. Повторите комбинацию клавиш, чтобы достичь отдаленных фокусных пространств.'},
-{name:"Команды доступа к следующему фокусному пространству",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Справка по горячим клавишам",legend:"Нажмите ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Стрелка влево",upArrow:"Стрелка вверх",rightArrow:"Стрелка вправо",downArrow:"Стрелка вниз",
-insert:"Insert",leftWindowKey:"Левая клавиша Windows",rightWindowKey:"Правая клавиша Windows",selectKey:"Выбрать",numpad0:"Цифра 0",numpad1:"Цифра 1",numpad2:"Цифра 2",numpad3:"Цифра 3",numpad4:"Цифра 4",numpad5:"Цифра 5",numpad6:"Цифра 6",numpad7:"Цифра 7",numpad8:"Цифра 8",numpad9:"Цифра 9",multiply:"Умножить",add:"Плюс",subtract:"Вычесть",decimalPoint:"Десятичная точка",divide:"Делить",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",
-scrollLock:"Scroll Lock",semiColon:"Точка с запятой",equalSign:"Равно",comma:"Запятая",dash:"Тире",period:"Точка",forwardSlash:"Наклонная черта",graveAccent:"Апостроф",openBracket:"Открыть скобку",backSlash:"Обратная наклонная черта",closeBracket:"Закрыть скобку",singleQuote:"Одинарная кавычка"});
\ No newline at end of file
+{name:"Команды доступа к следующему фокусному пространству",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Справка по горячим клавишам",legend:"Нажмите ${a11yHelp}"},{name:"Вставить только текст",legend:"Нажмите ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",
+pageDown:"Page Down",leftArrow:"Стрелка влево",upArrow:"Стрелка вверх",rightArrow:"Стрелка вправо",downArrow:"Стрелка вниз",insert:"Insert",leftWindowKey:"Левая клавиша Windows",rightWindowKey:"Правая клавиша Windows",selectKey:"Выбрать",numpad0:"Цифра 0",numpad1:"Цифра 1",numpad2:"Цифра 2",numpad3:"Цифра 3",numpad4:"Цифра 4",numpad5:"Цифра 5",numpad6:"Цифра 6",numpad7:"Цифра 7",numpad8:"Цифра 8",numpad9:"Цифра 9",multiply:"Умножить",add:"Плюс",subtract:"Вычесть",decimalPoint:"Десятичная точка",divide:"Делить",
+f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Точка с запятой",equalSign:"Равно",comma:"Запятая",dash:"Тире",period:"Точка",forwardSlash:"Наклонная черта",graveAccent:"Апостроф",openBracket:"Открыть скобку",backSlash:"Обратная наклонная черта",closeBracket:"Закрыть скобку",singleQuote:"Одинарная кавычка"});
\ No newline at end of file
index 7ca73410c32da0eb8230b5a0ad4e49c8991af98b..0f21a5fb2f1f0c326756685c1ad3ed7e5e414371 100644 (file)
@@ -5,6 +5,6 @@
 CKEDITOR.plugins.setLang("a11yhelp","si",{title:"ළඟා වියහැකි ",contents:"උදව් සඳහා අන්තර්ගතය.නික්මයෙමට ESC බොත්තම ඔබන්න",legend:[{name:"පොදු කරුණු",items:[{name:"සංස්කරණ මෙවලම් ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."},{name:"සංස්කරණ ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},
 {name:"සංස්කරණ අඩංගුවට ",legend:"ඔබන්න ${අන්තර්ගත මෙනුව} හෝ  APPLICATION KEY  අන්තර්ගත-මෙනුව විවුරතකිරීමට. ඊළඟ මෙනුව-ව්කල්පයන්ට යෑමට TAB හෝ DOWN ARROW බොත්තම ද, පෙර විකල්පයන්ටයෑමට SHIFT+TAB හෝ  UP ARROW බොත්තම ද, මෙනුව-ව්කල්පයන් තේරීමට SPACE හෝ ENTER බොත්තම ද,  දැනට විවුර්තව ඇති උප-මෙනුවක වීකල්ප තේරීමට SPACE හෝ ENTER හෝ RIGHT ARROW ද, නැවත පෙර ප්‍රධාන මෙනුවට යෑමට  ESC හෝ LEFT ARROW බොත්තම ද.  අන්තර්ගත-මෙනුව වැසීමට  ESC බොත්තම ද ඔබන්න."},{name:"සංස්කරණ තේරුම් ",legend:"තේරුම් කොටුව තුළ , ඊළඟ අයිතමයට යෑමට TAB හෝ DOWN ARROW , පෙර අයිතමයට යෑමට SHIFT+TAB හෝ UP ARROW . අයිතම විකල්පයන් තේරීමට SPACE හෝ ENTER ,තේරුම් කොටුව වැසීමට ESC බොත්තම් ද ඔබන්න."},
 {name:"සංස්කරණ අංග සහිත ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."}]},{name:"විධාන",items:[{name:"විධානය වෙනස් ",legend:"ඔබන්න ${වෙනස් කිරීම}"},{name:"විධාන නැවත් පෙර පරිදිම වෙනස්කර ගැනීම.",legend:"ඔබන්න ${නැවත් පෙර පරිදිම වෙනස්කර ගැනීම}"},{name:"තද අකුරින් විධාන",legend:"ඔබන්න ${තද }"},
-{name:"බැධී අකුරු විධාන",legend:"ඔබන්න ${බැධී අකුරු }"},{name:"යටින් ඉරි ඇද ඇති විධාන.",legend:"ඔබන්න ${යටින් ඉරි ඇද ඇති}"},{name:"සම්බන්ධිත විධාන",legend:"ඔබන්න ${සම්බන්ධ }"},{name:"මෙවලම් තීරු හැකුලුම් විධාන",legend:"ඔබන්න ${මෙවලම් තීරු හැකුලුම් }"},{name:"යොමුවීමට පෙර  වැදගත්  විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"යොමුවීමට ඊළග වැදගත්  විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"ප්‍රවේශ ",legend:"ඔබන්න  ${a11y }"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",
-pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"බැධී අකුරු විධාන",legend:"ඔබන්න ${බැධී අකුරු }"},{name:"යටින් ඉරි ඇද ඇති විධාන.",legend:"ඔබන්න ${යටින් ඉරි ඇද ඇති}"},{name:"සම්බන්ධිත විධාන",legend:"ඔබන්න ${සම්බන්ධ }"},{name:"මෙවලම් තීරු හැකුලුම් විධාන",legend:"ඔබන්න ${මෙවලම් තීරු හැකුලුම් }"},{name:"යොමුවීමට පෙර  වැදගත්  විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"යොමුවීමට ඊළග වැදගත්  විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"ප්‍රවේශ ",legend:"ඔබන්න  ${a11y }"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],
+tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",
+add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index f637562a43bb11cec463a3a999359bf5abc59b30..dc59887d6c1a1ab7f2b575413dcf6668d1e2342c 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sk",{title:"Inštrukcie prístupnosti",cont
 {name:"Editorový dialóg",legend:"V dialógovom okne stlačte TAB pre presun na ďalší prvok, SHIFT+TAB pre presun na predchádzajúci prvok, ENTER pre odoslanie, ESC pre zrušenie. Keď má dialógové okno viacero kariet, zoznam kariet dosiahnete buď stlačením ALT+F10 alebo s TAB v príslušnom poradí kariet. So zameraným zoznamom kariet sa pohybujte k ďalšej alebo predchádzajúcej karte cez PRAVÚ a ĽAVÚ ŠÍPKU."},{name:"Editorové kontextové menu",legend:"Stlačte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ďalšie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodičovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC."},
 {name:"Editorov box zoznamu",legend:"V boxe zoznamu, presuňte sa na ďalšiu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti zoznamu. Stlačte ESC pre zatvorenie boxu zoznamu."},{name:"Editorove pásmo cesty prvku",legend:"Stlačte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlačidlo ďalšieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlačidlu s SHIFT+TAB alebo ľavou šípkou. Stlačte medzerník alebo ENTER pre výber prvku v editore."}]},
 {name:"Príkazy",items:[{name:"Vrátiť príkazy",legend:"Stlačte ${undo}"},{name:"Nanovo vrátiť príkaz",legend:"Stlačte ${redo}"},{name:"Príkaz na stučnenie",legend:"Stlačte ${bold}"},{name:"Príkaz na kurzívu",legend:"Stlačte ${italic}"},{name:"Príkaz na podčiarknutie",legend:"Stlačte ${underline}"},{name:"Príkaz na odkaz",legend:"Stlačte ${link}"},{name:"Príkaz na zbalenie lišty nástrojov",legend:"Stlačte ${toolbarCollapse}"},{name:"Prejsť na predchádzajúcu zamerateľnú medzeru príkazu",legend:"Stlačte ${accessPreviousSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery pred vsuvkuo. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."},
-{name:"Prejsť na ďalší ",legend:"Stlačte ${accessNextSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery po vsuvke. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."},{name:"Pomoc prístupnosti",legend:"Stlačte ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Stránka hore",pageDown:"Stránka dole",leftArrow:"Šípka naľavo",upArrow:"Šípka hore",rightArrow:"Šípka napravo",
-downArrow:"Šípka dole",insert:"Insert",leftWindowKey:"Ľavé Windows tlačidlo",rightWindowKey:"Pravé Windows tlačidlo",selectKey:"Tlačidlo Select",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Násobenie",add:"Sčítanie",subtract:"Odčítanie",decimalPoint:"Desatinná čiarka",divide:"Delenie",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",
-f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Bodkočiarka",equalSign:"Rovná sa",comma:"Čiarka",dash:"Pomĺčka",period:"Bodka",forwardSlash:"Lomítko",graveAccent:"Zdôrazňovanie prízvuku",openBracket:"Hranatá zátvorka otváracia",backSlash:"Backslash",closeBracket:"Hranatá zátvorka zatváracia",singleQuote:"Jednoduché úvodzovky"});
\ No newline at end of file
+{name:"Prejsť na ďalší ",legend:"Stlačte ${accessNextSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery po vsuvke. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."},{name:"Pomoc prístupnosti",legend:"Stlačte ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Stránka hore",
+pageDown:"Stránka dole",leftArrow:"Šípka naľavo",upArrow:"Šípka hore",rightArrow:"Šípka napravo",downArrow:"Šípka dole",insert:"Insert",leftWindowKey:"Ľavé Windows tlačidlo",rightWindowKey:"Pravé Windows tlačidlo",selectKey:"Tlačidlo Select",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Násobenie",add:"Sčítanie",subtract:"Odčítanie",decimalPoint:"Desatinná čiarka",
+divide:"Delenie",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Bodkočiarka",equalSign:"Rovná sa",comma:"Čiarka",dash:"Pomĺčka",period:"Bodka",forwardSlash:"Lomítko",graveAccent:"Zdôrazňovanie prízvuku",openBracket:"Hranatá zátvorka otváracia",backSlash:"Backslash",closeBracket:"Hranatá zátvorka zatváracia",singleQuote:"Jednoduché úvodzovky"});
\ No newline at end of file
index 01cfc7fd96de7c7c35a159a5eea4683b6d662a2d..2df296aa084b71b919b9a85107bc0f8c9516bfad 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sl",{title:"Navodila za dostopnost",content
 {name:"Urejevalno Pogovorno Okno",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstni meni urejevalnika",legend:"Pritisnite ${contextMenu} ali APPLICATION KEY, da odprete kontekstni meni. Nato se premaknite na naslednjo možnost menija s tipko TAB ali PUŠČICA DOL. Premakniti se na prejšnjo možnost z SHIFT + TAB ali PUŠČICA GOR. Pritisnite SPACE ali ENTER za izbiro možnosti menija. Odprite podmeni trenutne možnosti menija s tipko SPACE ali ENTER ali DESNA PUŠČICA. Vrnite se na matični element menija s tipko ESC ali LEVA PUŠČICA. Zaprite kontekstni meni z ESC."},
 {name:"Urejevalno Seznamsko Polje",legend:"Znotraj seznama, se premaknete na naslednji element seznama s tipko TAB ali PUŠČICO DOL. Z SHIFT+TAB ali PUŠČICO GOR se premaknete na prejšnji element seznama. Pritisnite tipko SPACE ali ENTER za izbiro elementa. Pritisnite tipko ESC, da zaprete seznam."},{name:"Urejevalna vrstica poti elementa",legend:"Pritisnite ${elementsPathFocus} za pomikanje po vrstici elementnih poti. S TAB ali DESNA PUŠČICA se premaknete na naslednji gumb elementa. Z SHIFT+TAB ali LEVO PUŠČICO se premaknete na prejšnji gumb elementa. Pritisnite SPACE ali ENTER za izbiro elementa v urejevalniku."}]},
 {name:"Ukazi",items:[{name:"Razveljavi ukaz",legend:"Pritisnite ${undo}"},{name:"Ponovi ukaz",legend:"Pritisnite ${redo}"},{name:"Krepki ukaz",legend:"Pritisnite ${bold}"},{name:"Ležeči ukaz",legend:"Pritisnite ${italic}"},{name:"Poudarni ukaz",legend:"Pritisnite ${underline}"},{name:"Ukaz povezave",legend:"Pritisnite ${link}"},{name:"Skrči Orodno Vrstico Ukaz",legend:"Pritisnite ${toolbarCollapse}"},{name:"Dostop do prejšnjega ukaza ostrenja",legend:"Pritisnite ${accessPreviousSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora pred strešico, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."},
-{name:"Dostop do naslednjega ukaza ostrenja",legend:"Pritisnite ${accessNextSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora po strešici, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."},{name:"Pomoč dostopnosti",legend:"Pritisnite ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Puščica levo",upArrow:"Puščica gor",rightArrow:"Puščica desno",
-downArrow:"Puščica dol",insert:"Insert",leftWindowKey:"Leva tipka Windows",rightWindowKey:"Desna tipka Windows",selectKey:"Select tipka",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Zmnoži",add:"Dodaj",subtract:"Odštej",decimalPoint:"Decimalna vejica",divide:"Deli",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",
-f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Podpičje",equalSign:"Enačaj",comma:"Vejica",dash:"Vezaj",period:"Pika",forwardSlash:"Desna poševnica",graveAccent:"Krativec",openBracket:"Oklepaj",backSlash:"Leva poševnica",closeBracket:"Zaklepaj",singleQuote:"Opuščaj"});
\ No newline at end of file
+{name:"Dostop do naslednjega ukaza ostrenja",legend:"Pritisnite ${accessNextSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora po strešici, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."},{name:"Pomoč dostopnosti",legend:"Pritisnite ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",
+pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Puščica levo",upArrow:"Puščica gor",rightArrow:"Puščica desno",downArrow:"Puščica dol",insert:"Insert",leftWindowKey:"Leva tipka Windows",rightWindowKey:"Desna tipka Windows",selectKey:"Select tipka",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Zmnoži",add:"Dodaj",subtract:"Odštej",decimalPoint:"Decimalna vejica",
+divide:"Deli",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Podpičje",equalSign:"Enačaj",comma:"Vejica",dash:"Vezaj",period:"Pika",forwardSlash:"Desna poševnica",graveAccent:"Krativec",openBracket:"Oklepaj",backSlash:"Leva poševnica",closeBracket:"Zaklepaj",singleQuote:"Opuščaj"});
\ No newline at end of file
index 247e9faaa7f4a3437e11cb246ebdc8f3c865c2b4..77db830b5f567b85a76c161d3b970f3c30da1e62 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sq",{title:"Udhëzimet e Qasjes",contents:"
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Komandat",items:[{name:"Rikthe komandën",legend:"Shtyp ${undo}"},{name:"Ribëj komandën",legend:"Shtyp ${redo}"},{name:"Komanda e trashjes së tekstit",legend:"Shtyp ${bold}"},{name:"Komanda kursive",legend:"Shtyp ${italic}"},
 {name:"Komanda e nënvijëzimit",legend:"Shtyp ${underline}"},{name:"Komanda e Nyjes",legend:"Shtyp ${link}"},{name:" Toolbar Collapse command",legend:"Shtyp ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:"Ndihmë Qasjeje",legend:"Shtyp ${a11yHelp}"}]}],tab:"Fletë",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Shenja majtas",upArrow:"Shenja sipër",rightArrow:"Shenja djathtas",downArrow:"Shenja poshtë",insert:"Shto",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Shto",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Presje",dash:"vizë",period:"Pikë",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Hape kllapën",backSlash:"Backslash",closeBracket:"Mbylle kllapën",
-singleQuote:"Single Quote"});
\ No newline at end of file
+{name:"Ndihmë Qasjeje",legend:"Shtyp ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Fletë",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Shenja majtas",upArrow:"Shenja sipër",rightArrow:"Shenja djathtas",downArrow:"Shenja poshtë",insert:"Shto",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Shto",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Presje",dash:"vizë",period:"Pikë",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Hape kllapën",backSlash:"Backslash",closeBracket:"Mbylle kllapën",singleQuote:"Single Quote"});
\ No newline at end of file
index da29ebdfbe34e03662b69d48acf179a0b5fa70b9..da9a17f3f40dc8b5bce518205c2f2f0020714987 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sr-latn",{title:"Accessibility Instructions
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 02ebb1c359eaba4ca5d1756a5093cd729359adbe..7d7c87d84b2884f3ae8a1a639eb22dd34c5bff6f 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sr",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
 legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 720193fb832ef1d7d35bbd718ad6d34aa24d3650..8180336f390a53864e1db5d1e0b51480e6353eb0 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","sv",{title:"Hjälpmedelsinstruktioner",cont
 {name:"Dialogeditor",legend:"Inuti en dialogruta, tryck TAB för att navigera till nästa fält i dialogrutan, tryck SKIFT+TAB för att flytta till föregående fält, tryck ENTER för att skicka. Du avbryter och stänger dialogen med ESC. För dialogrutor som har flera flikar, tryck ALT+F10 eller TAB för att navigera till fliklistan. med fliklistan vald flytta till nästa och föregående flik med HÖGER- eller VÄNSTERPIL."},{name:"Editor för innehållsmeny",legend:"Tryck på $ {contextMenu} eller PROGRAMTANGENTEN för att öppna snabbmenyn. Flytta sedan till nästa menyalternativ med TAB eller NEDPIL. Flytta till föregående alternativ med SHIFT + TABB eller UPPIL. Tryck Space eller ENTER för att välja menyalternativ. Öppna undermeny av nuvarande alternativ med SPACE eller ENTER eller HÖGERPIL. Gå tillbaka till överordnade menyalternativ med ESC eller VÄNSTERPIL. Stäng snabbmenyn med ESC."},
 {name:"Editor för list-box",legend:"Inuti en list-box, gå till nästa listobjekt med TAB eller NEDPIL. Flytta till föregående listobjekt med SHIFT+TAB eller UPPIL. Tryck SPACE eller ENTER för att välja listan alternativet. Tryck ESC för att stänga list-boxen."},{name:"Editor för elementens sökväg",legend:"Tryck på ${elementsPathFocus} för att navigera till verktygsfältet för elementens sökvägar. Flytta till nästa elementknapp med TAB eller HÖGERPIL. Flytta till föregående knapp med SKIFT+TAB eller VÄNSTERPIL. Tryck SPACE eller ENTER för att välja element i redigeraren."}]},
 {name:"Kommandon",items:[{name:"Ångra kommando",legend:"Tryck på ${undo}"},{name:"Gör om kommando",legend:"Tryck på ${redo}"},{name:"Kommandot fet stil",legend:"Tryck på ${bold}"},{name:"Kommandot kursiv",legend:"Tryck på ${italic}"},{name:"Kommandot understruken",legend:"Tryck på ${underline}"},{name:"Kommandot länk",legend:"Tryck på ${link}"},{name:"Verktygsfält Dölj kommandot",legend:"Tryck på ${toolbarCollapse}"},{name:"Gå till föregående fokus plats",legend:"Tryck på ${accessPreviousSpace} för att gå till närmast onåbara utrymme före markören, exempel: två intilliggande HR element. Repetera tangentkombinationen för att gå till nästa."},
-{name:"Tillgå nästa fokuskommandots utrymme",legend:"Tryck ${accessNextSpace} på för att komma åt den närmaste onåbar fokus utrymme efter cirkumflex, till exempel: två intilliggande HR element. Upprepa tangentkombinationen för att nå avlägsna fokus utrymmen."},{name:"Hjälp om tillgänglighet",legend:"Tryck ${a11yHelp}"}]}],tab:"Tab",pause:"Paus",capslock:"Caps lock",escape:"Escape",pageUp:"Sida Up",pageDown:"Sida Ned",leftArrow:"Vänsterpil",upArrow:"Uppil",rightArrow:"Högerpil",downArrow:"Nedåtpil",
-insert:"Infoga",leftWindowKey:"Vänster Windowstangent",rightWindowKey:"Höger Windowstangent",selectKey:"Välj tangent",numpad0:"Nummer 0",numpad1:"Nummer 1",numpad2:"Nummer 2",numpad3:"Nummer 3",numpad4:"Nummer 4",numpad5:"Nummer 5",numpad6:"Nummer 6",numpad7:"Nummer 7",numpad8:"Nummer 8",numpad9:"Nummer 9",multiply:"Multiplicera",add:"Addera",subtract:"Minus",decimalPoint:"Decimalpunkt",divide:"Dividera",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",
-numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Lika med tecken",comma:"Komma",dash:"Minus",period:"Punkt",forwardSlash:"Snedstreck framåt",graveAccent:"Accent",openBracket:"Öppningsparentes",backSlash:"Snedstreck bakåt",closeBracket:"Slutparentes",singleQuote:"Enkelt Citattecken"});
\ No newline at end of file
+{name:"Tillgå nästa fokuskommandots utrymme",legend:"Tryck ${accessNextSpace} på för att komma åt den närmaste onåbar fokus utrymme efter cirkumflex, till exempel: två intilliggande HR element. Upprepa tangentkombinationen för att nå avlägsna fokus utrymmen."},{name:"Hjälp om tillgänglighet",legend:"Tryck ${a11yHelp}"},{name:"Klistra in som vanlig text",legend:"Tryck ${pastetext}",legendEdge:"Tryck ${pastetext}, följt av ${paste}"}]}],tab:"Tab",pause:"Paus",capslock:"Caps lock",escape:"Escape",pageUp:"Sida Up",
+pageDown:"Sida Ned",leftArrow:"Vänsterpil",upArrow:"Uppil",rightArrow:"Högerpil",downArrow:"Nedåtpil",insert:"Infoga",leftWindowKey:"Vänster Windowstangent",rightWindowKey:"Höger Windowstangent",selectKey:"Välj tangent",numpad0:"Nummer 0",numpad1:"Nummer 1",numpad2:"Nummer 2",numpad3:"Nummer 3",numpad4:"Nummer 4",numpad5:"Nummer 5",numpad6:"Nummer 6",numpad7:"Nummer 7",numpad8:"Nummer 8",numpad9:"Nummer 9",multiply:"Multiplicera",add:"Addera",subtract:"Minus",decimalPoint:"Decimalpunkt",divide:"Dividera",
+f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Lika med tecken",comma:"Komma",dash:"Minus",period:"Punkt",forwardSlash:"Snedstreck framåt",graveAccent:"Accent",openBracket:"Öppningsparentes",backSlash:"Snedstreck bakåt",closeBracket:"Slutparentes",singleQuote:"Enkelt Citattecken"});
\ No newline at end of file
index a61d6cf7ba02a32865348026cf12d89ecef38d90..c2df8db66041d65756fdaf4270aadefdf6e13ae3 100644 (file)
@@ -6,5 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","th",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"คำสั่ง",items:[{name:"เลิกทำคำสั่ง",legend:"วาง ${undo}"},{name:"คำสั่งสำหรับทำซ้ำ",legend:"วาง ${redo}"},{name:"คำสั่งสำหรับตัวหนา",legend:"วาง ${bold}"},{name:"คำสั่งสำหรับตัวเอียง",legend:"วาง ${italic}"},{name:"คำสั่งสำหรับขีดเส้นใต้",
 legend:"วาง ${underline}"},{name:"คำสั่งสำหรับลิงก์",legend:"วาง ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",
-numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
+numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
+graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
\ No newline at end of file
index 87769c2c2a55f71345618e6b2ae2d5b140cb0b05..699f0db0a034c0546ed7e214d4a2e86c4a2611b2 100644 (file)
@@ -7,6 +7,6 @@ CKEDITOR.plugins.setLang("a11yhelp","tr",{title:"Erişilebilirlik Talimatları",
 {name:"İçerik Menü Editörü",legend:"İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın."},{name:"Liste Kutusu Editörü",legend:"Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT+TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın."},
 {name:"Element Yol Çubuğu Editörü",legend:"Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT+TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın."}]},{name:"Komutlar",items:[{name:"Komutu geri al",legend:"$(undo)'ya basın"},{name:"Komutu geri al",legend:"${redo} basın"},{name:" Kalın komut",legend:"${bold} basın"},{name:" İtalik komutu",legend:"${italic} basın"},
 {name:" Alttan çizgi komutu",legend:"${underline} basın"},{name:" Bağlantı komutu",legend:"${link} basın"},{name:" Araç çubuğu Toplama komutu",legend:"${toolbarCollapse} basın"},{name:"Önceki komut alanına odaklan",legend:"Düzeltme imleçinden önce, en yakın uzaktaki alana erişmek için ${accessPreviousSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın."},{name:"Sonraki komut alanına odaklan",legend:"Düzeltme imleçinden sonra, en yakın uzaktaki alana erişmek için ${accessNextSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın."},
-{name:"Erişilebilirlik Yardımı",legend:"${a11yHelp}'e basın"}]}],tab:"Sekme tuşu",pause:"Durdurma tuşu",capslock:"Büyük harf tuşu",escape:"Vazgeç tuşu",pageUp:"Sayfa Yukarı",pageDown:"Sayfa Aşağı",leftArrow:"Sol ok",upArrow:"Yukarı ok",rightArrow:"Sağ ok",downArrow:"Aşağı ok",insert:"Araya gir",leftWindowKey:"Sol windows tuşu",rightWindowKey:"Sağ windows tuşu",selectKey:"Seçme tuşu",numpad0:"Nümerik 0",numpad1:"Nümerik 1",numpad2:"Nümerik 2",numpad3:"Nümerik 3",numpad4:"Nümerik 4",numpad5:"Nümerik 5",
-numpad6:"Nümerik 6",numpad7:"Nümerik 7",numpad8:"Nümerik 8",numpad9:"Nümerik 9",multiply:"Çarpma",add:"Toplama",subtract:"Çıkarma",decimalPoint:"Ondalık işareti",divide:"Bölme",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lk",scrollLock:"Scr Lk",semiColon:"Noktalı virgül",equalSign:"Eşittir",comma:"Virgül",dash:"Eksi",period:"Nokta",forwardSlash:"İleri eğik çizgi",graveAccent:"Üst tırnak",openBracket:"Parantez aç",backSlash:"Ters eğik çizgi",
-closeBracket:"Parantez kapa",singleQuote:"Tek tırnak"});
\ No newline at end of file
+{name:"Erişilebilirlik Yardımı",legend:"${a11yHelp}'e basın"},{name:"Düz Metin Olarak Yapıştır",legend:"${pastetext} basın",legendEdge:"Önce ${pastetext} ardından${paste} basın"}]}],tab:"Sekme tuşu",pause:"Durdurma tuşu",capslock:"Büyük harf tuşu",escape:"Vazgeç tuşu",pageUp:"Sayfa Yukarı",pageDown:"Sayfa Aşağı",leftArrow:"Sol ok",upArrow:"Yukarı ok",rightArrow:"Sağ ok",downArrow:"Aşağı ok",insert:"Araya gir",leftWindowKey:"Sol windows tuşu",rightWindowKey:"Sağ windows tuşu",selectKey:"Seçme tuşu",
+numpad0:"Nümerik 0",numpad1:"Nümerik 1",numpad2:"Nümerik 2",numpad3:"Nümerik 3",numpad4:"Nümerik 4",numpad5:"Nümerik 5",numpad6:"Nümerik 6",numpad7:"Nümerik 7",numpad8:"Nümerik 8",numpad9:"Nümerik 9",multiply:"Çarpma",add:"Toplama",subtract:"Çıkarma",decimalPoint:"Ondalık işareti",divide:"Bölme",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lk",scrollLock:"Scr Lk",semiColon:"Noktalı virgül",equalSign:"Eşittir",comma:"Virgül",dash:"Eksi",
+period:"Nokta",forwardSlash:"İleri eğik çizgi",graveAccent:"Üst tırnak",openBracket:"Parantez aç",backSlash:"Ters eğik çizgi",closeBracket:"Parantez kapa",singleQuote:"Tek tırnak"});
\ No newline at end of file
index 665dd37caa54d6dfa66ac676270b2c3342742688..ff239fdc661de5c767fbd39ab074c3597a1e4678 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","tt",{title:"Accessibility Instructions",con
 {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
 {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Командалар",items:[{name:"Кайтару",legend:"${undo} басыгыз"},{name:"Кабатлау",legend:"${redo} басыгыз"},{name:"Калын",legend:"${bold} басыгыз"},{name:"Курсив",legend:"${italic} басыгыз"},{name:"Астына сызылган",legend:"${underline} басыгыз"},
 {name:"Сылталама",legend:"${link} басыгыз"},{name:" Toolbar Collapse command",legend:"${toolbarCollapse} басыгыз"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
-{name:" Accessibility Help",legend:"${a11yHelp} басыгыз"}]}],tab:"Tab",pause:"Тыныш",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Сул якка ук",upArrow:"Өскә таба ук",rightArrow:"Уң якка ук",downArrow:"Аска таба ук",insert:"Өстәү",leftWindowKey:"Сул Windows төймəсе",rightWindowKey:"Уң Windows төймəсе",selectKey:"Select төймəсе",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",
-numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Тапкырлау",add:"Кушу",subtract:"Алу",decimalPoint:"Унарлы нокта",divide:"Бүлү",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Нокталы өтер",equalSign:"Тигезлек билгесе",comma:"Өтер",dash:"Сызык",period:"Дәрәҗә",forwardSlash:"Кыек сызык",graveAccent:"Гравис",openBracket:"Җәя ачу",backSlash:"Кире кыек сызык",closeBracket:"Җәя ябу",
-singleQuote:"Бер иңле куштырнаклар"});
\ No newline at end of file
+{name:" Accessibility Help",legend:"${a11yHelp} басыгыз"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Тыныш",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Сул якка ук",upArrow:"Өскә таба ук",rightArrow:"Уң якка ук",downArrow:"Аска таба ук",insert:"Өстәү",leftWindowKey:"Сул Windows төймəсе",rightWindowKey:"Уң Windows төймəсе",selectKey:"Select төймəсе",numpad0:"Numpad 0",
+numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Тапкырлау",add:"Кушу",subtract:"Алу",decimalPoint:"Унарлы нокта",divide:"Бүлү",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Нокталы өтер",equalSign:"Тигезлек билгесе",comma:"Өтер",dash:"Сызык",period:"Дәрәҗә",
+forwardSlash:"Кыек сызык",graveAccent:"Гравис",openBracket:"Җәя ачу",backSlash:"Кире кыек сызык",closeBracket:"Җәя ябу",singleQuote:"Бер иңле куштырнаклар"});
\ No newline at end of file
index fb74e518cada8cdfca8ac4894a1ed393183e15c7..cf81a703946b7095a0273d11955f511b19849331 100644 (file)
@@ -6,6 +6,7 @@ CKEDITOR.plugins.setLang("a11yhelp","ug",{title:"قوشۇمچە چۈشەندۈر
 {name:"تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى",legend:"${contextMenu} ياكى ئەپ كۇنۇپكىسىدا تىل مۇھىت تىزىملىكىنى ئاچىدۇ. ئاندىن TAB ياكى ئاستى يا ئوق كۇنۇپكىسىدا كېيىنكى تىزىملىك تۈرىگە يۆتكەيدۇ؛ SHIFT+TAB ياكى ئۈستى يا ئوق كۇنۇپكىسىدا ئالدىنقى تىزىملىك تۈرىگە يۆتكەيدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىملىك تۈرىنى تاللايدۇ. بوشلۇق، ENTER ياكى ئوڭ يا ئوق كۇنۇپكىسىدا تارماق تىزىملىكنى ئاچىدۇ. قايتىش تىزىملىكىگە ESC ياكى سول يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ESC كۇنۇپكىسىدا تىل مۇھىت تىزىملىكى تاقىلىدۇ."},{name:"تەھرىرلىگۈچ تىزىمى",
 legend:"تىزىم قۇتىسىدا، كېيىنكى تىزىم تۈرىگە يۆتكەشتە TAB ياكى ئاستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ئالدىنقى تىزىم تۈرىگە يۆتكەشتە SHIFT+TAB ياكى ئۈستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىم تۈرىنى تاللايدۇ.ESC كۇنۇپكىسىدا تىزىم قۇتىسىنى يىغىدۇ."},{name:"تەھرىرلىگۈچ ئېلېمېنت يول بالداق",legend:"${elementsPathFocus} بېسىلسا ئېلېمېنت يول بالداققا يېتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا كېيىنكى ئېلېمېنت تاللىنىدۇ، SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئېلېمېنت تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئېلېمېنت تاللىنىدۇ."}]},
 {name:"بۇيرۇق",items:[{name:"بۇيرۇقتىن يېنىۋال",legend:"${undo} نى بېسىڭ"},{name:"قايتىلاش بۇيرۇقى",legend:"${redo} نى بېسىڭ"},{name:"توملىتىش بۇيرۇقى",legend:"${bold} نى بېسىڭ"},{name:"يانتۇ بۇيرۇقى",legend:"${italic} نى بېسىڭ"},{name:"ئاستى سىزىق بۇيرۇقى",legend:"${underline} نى بېسىڭ"},{name:"ئۇلانما بۇيرۇقى",legend:"${link} نى بېسىڭ"},{name:"قورال بالداق قاتلاش بۇيرۇقى",legend:"${toolbarCollapse} نى بېسىڭ"},{name:"ئالدىنقى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق",legend:"${accessPreviousSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ ئالدىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ."},
-{name:"كېيىنكى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق",legend:"${accessNextSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ كەينىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ."},{name:"توسالغۇسىز لايىھە چۈشەندۈرۈشى",legend:"${a11yHelp} نى بېسىڭ"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"سول يا ئوق",
-upArrow:"ئۈستى يا ئوق",rightArrow:"ئوڭ يا ئوق",downArrow:"ئاستى يا ئوق",insert:"قىستۇر",leftWindowKey:"سول Windows كۇنۇپكىسى",rightWindowKey:"ئوڭ Windows كۇنۇپكىسى",selectKey:"تاللاش كۇنۇپكىسى",numpad0:"سان تاختا 0",numpad1:"سان تاختا 1",numpad2:"سان تاختا 2",numpad3:"سان تاختا 3",numpad4:"سان تاختا 4",numpad5:"سان تاختا 5",numpad6:"سان تاختا 6",numpad7:"سان تاختا 7",numpad8:"سان تاختا 8",numpad9:"سان تاختا 9",multiply:"يۇلتۇز كۇنۇپكىسى",add:"قوشۇش",subtract:"ئېلىش",decimalPoint:"كەسىر چېكىت",divide:"بۆلۈش",
-f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"سان قۇلۇپ كۇنۇپكىسى",scrollLock:"سۈرگۈچ قۇلۇپ كۇنۇپكىسى",semiColon:"چېكىتلىك پەش",equalSign:"تەڭلىك بەلگىسى",comma:"پەش",dash:"سىزىقچە",period:"چېكىت",forwardSlash:"سولغا يانتۇ سىزىق",graveAccent:"ئۇرغۇ بەلگىسى",openBracket:"ئېچىلغان تىرناق",backSlash:"ئوڭغا يانتۇ سىزىق",closeBracket:"يېپىلغان تىرناق",singleQuote:"يالاڭ پەش"});
\ No newline at end of file
+{name:"كېيىنكى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق",legend:"${accessNextSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ كەينىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ."},{name:"توسالغۇسىز لايىھە چۈشەندۈرۈشى",legend:"${a11yHelp} نى بېسىڭ"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",
+pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"سول يا ئوق",upArrow:"ئۈستى يا ئوق",rightArrow:"ئوڭ يا ئوق",downArrow:"ئاستى يا ئوق",insert:"قىستۇر",leftWindowKey:"سول Windows كۇنۇپكىسى",rightWindowKey:"ئوڭ Windows كۇنۇپكىسى",selectKey:"تاللاش كۇنۇپكىسى",numpad0:"سان تاختا 0",numpad1:"سان تاختا 1",numpad2:"سان تاختا 2",numpad3:"سان تاختا 3",numpad4:"سان تاختا 4",numpad5:"سان تاختا 5",numpad6:"سان تاختا 6",numpad7:"سان تاختا 7",numpad8:"سان تاختا 8",
+numpad9:"سان تاختا 9",multiply:"يۇلتۇز كۇنۇپكىسى",add:"قوشۇش",subtract:"ئېلىش",decimalPoint:"كەسىر چېكىت",divide:"بۆلۈش",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"سان قۇلۇپ كۇنۇپكىسى",scrollLock:"سۈرگۈچ قۇلۇپ كۇنۇپكىسى",semiColon:"چېكىتلىك پەش",equalSign:"تەڭلىك بەلگىسى",comma:"پەش",dash:"سىزىقچە",period:"چېكىت",forwardSlash:"سولغا يانتۇ سىزىق",graveAccent:"ئۇرغۇ بەلگىسى",openBracket:"ئېچىلغان تىرناق",backSlash:"ئوڭغا يانتۇ سىزىق",
+closeBracket:"يېپىلغان تىرناق",singleQuote:"يالاڭ پەش"});
\ No newline at end of file
index 4aff22c8c88076e80cb97d2087a7bd25f2dbeedd..1bed30b7e523e22e70a4edb2f4fe8bed130f1e78 100644 (file)
@@ -7,6 +7,6 @@ legend:'Усередині діалогу, натисніть TAB щоб пер
 {name:"Контекстне Меню Редактора",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Потім перейдіть до наступного пункту меню за допомогою TAB або СТРІЛКИ ВНИЗ. Натисніть ПРОПУСК або ENTER для вибору параметру меню. Відкрийте підменю поточного параметру, натиснувши ПРОПУСК або ENTER або СТРІЛКУ ВПРАВО. Перейдіть до батьківського елемента меню, натиснувши ESC або СТРІЛКУ ВЛІВО. Закрийте контекстне меню, натиснувши ESC."},{name:"Скринька Списків Редактора",legend:"Усередині списку, перехід до наступного пункту списку виконується клавішею TAB або СТРІЛКА ВНИЗ. Перехід до попереднього елемента списку клавішею SHIFT+TAB або СТРІЛКА ВГОРУ. Натисніть ПРОПУСК або ENTER, щоб вибрати параметр списку. Натисніть клавішу ESC, щоб закрити список."},
 {name:"Шлях до елемента редактора",legend:"Натисніть ${elementsPathFocus} для навігації між елементами панелі. Перейдіть до наступного елемента кнопкою TAB або СТРІЛКА ВПРАВО. Перейдіть до попереднього елемента кнопкою SHIFT+TAB або СТРІЛКА ВЛІВО. Натисніть ПРОПУСК або ENTER для вибору елемента в редакторі."}]},{name:"Команди",items:[{name:"Відмінити команду",legend:"Натисніть ${undo}"},{name:"Повторити",legend:"Натисніть ${redo}"},{name:"Жирний",legend:"Натисніть ${bold}"},{name:"Курсив",legend:"Натисніть ${italic}"},
 {name:"Підкреслений",legend:"Натисніть ${underline}"},{name:"Посилання",legend:"Натисніть ${link}"},{name:"Згорнути панель інструментів",legend:"Натисніть ${toolbarCollapse}"},{name:"Доступ до попереднього місця фокусування",legend:"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування перед кареткою, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування."},{name:"Доступ до наступного місця фокусування",legend:"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування після каретки, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування."},
-{name:"Допомога з доступності",legend:"Натисніть ${a11yHelp}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Ліва стрілка",upArrow:"Стрілка вгору",rightArrow:"Права стрілка",downArrow:"Стрілка вниз",insert:"Вставити",leftWindowKey:"Ліва клавіша Windows",rightWindowKey:"Права клавіша Windows",selectKey:"Виберіть клавішу",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",
-numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Множення",add:"Додати",subtract:"Віднімання",decimalPoint:"Десяткова кома",divide:"Ділення",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Крапка з комою",equalSign:"Знак рівності",comma:"Кома",dash:"Тире",period:"Період",forwardSlash:"Коса риска",graveAccent:"Гравіс",openBracket:"Відкрити дужку",backSlash:"Зворотна коса риска",
-closeBracket:"Закрити дужку",singleQuote:"Одинарні лапки"});
\ No newline at end of file
+{name:"Допомога з доступності",legend:"Натисніть ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Ліва стрілка",upArrow:"Стрілка вгору",rightArrow:"Права стрілка",downArrow:"Стрілка вниз",insert:"Вставити",leftWindowKey:"Ліва клавіша Windows",rightWindowKey:"Права клавіша Windows",selectKey:"Виберіть клавішу",numpad0:"Numpad 0",
+numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Множення",add:"Додати",subtract:"Віднімання",decimalPoint:"Десяткова кома",divide:"Ділення",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Крапка з комою",equalSign:"Знак рівності",comma:"Кома",dash:"Тире",period:"Період",
+forwardSlash:"Коса риска",graveAccent:"Гравіс",openBracket:"Відкрити дужку",backSlash:"Зворотна коса риска",closeBracket:"Закрити дужку",singleQuote:"Одинарні лапки"});
\ No newline at end of file
index 616286be5b578140b5cbadd35fdeb76f1089e064..de188615bf3e615de5cea908e108182da83a47ff 100644 (file)
@@ -6,6 +6,6 @@ CKEDITOR.plugins.setLang("a11yhelp","vi",{title:"Hướng dẫn trợ năng",con
 {name:"Trình đơn Ngữ cảnh cBộ soạn thảo",legend:"Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh."},
 {name:"Hộp danh sách trình biên tập",legend:"Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím TAB hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím SHIFT+TAB hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím ENTER để chọn các tùy chọn trong danh sách. Nhấn phím ESC để đóng lại danh sách chọn."},{name:"Thanh đường dẫn các đối tượng",legend:"Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím TAB hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím SHIFT+TAB hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc ENTER để chọn đối tượng trong trình soạn thảo."}]},
 {name:"Lệnh",items:[{name:"Làm lại lện",legend:"Ấn ${undo}"},{name:"Làm lại lệnh",legend:"Ấn ${redo}"},{name:"Lệnh in đậm",legend:"Ấn ${bold}"},{name:"Lệnh in nghiêng",legend:"Ấn ${italic}"},{name:"Lệnh gạch dưới",legend:"Ấn ${underline}"},{name:"Lệnh liên kết",legend:"Nhấn ${link}"},{name:"Lệnh hiển thị thanh công cụ",legend:"Nhấn${toolbarCollapse}"},{name:"Truy cập đến lệnh tập trung vào khoảng cách trước đó",legend:"Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."},
-{name:"Truy cập phần đối tượng lệnh khoảng trống",legend:"Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."},{name:"Trợ giúp liên quan",legend:"Nhấn ${a11yHelp}"}]}],tab:"Phím Tab",pause:"Phím Pause",capslock:"Phím Caps Lock",escape:"Phím Escape",pageUp:"Phím Page Up",pageDown:"Phím Page Down",leftArrow:"Phím Left Arrow",
-upArrow:"Phím Up Arrow",rightArrow:"Phím Right Arrow",downArrow:"Phím Down Arrow",insert:"Chèn",leftWindowKey:"Phím Left Windows",rightWindowKey:"Phím Right Windows ",selectKey:"Chọn phím",numpad0:"Phím 0",numpad1:"Phím 1",numpad2:"Phím 2",numpad3:"Phím 3",numpad4:"Phím 4",numpad5:"Phím 5",numpad6:"Phím 6",numpad7:"Phím 7",numpad8:"Phím 8",numpad9:"Phím 9",multiply:"Nhân",add:"Thêm",subtract:"Trừ",decimalPoint:"Điểm số thập phân",divide:"Chia",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",
-f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Dấu chấm phẩy",equalSign:"Đăng nhập bằng",comma:"Dấu phẩy",dash:"Dấu gạch ngang",period:"Phím .",forwardSlash:"Phím /",graveAccent:"Phím `",openBracket:"Open Bracket",backSlash:"Dấu gạch chéo ngược",closeBracket:"Gần giá đỡ",singleQuote:"Trích dẫn"});
\ No newline at end of file
+{name:"Truy cập phần đối tượng lệnh khoảng trống",legend:"Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."},{name:"Trợ giúp liên quan",legend:"Nhấn ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Phím Tab",pause:"Phím Pause",capslock:"Phím Caps Lock",
+escape:"Phím Escape",pageUp:"Phím Page Up",pageDown:"Phím Page Down",leftArrow:"Phím Left Arrow",upArrow:"Phím Up Arrow",rightArrow:"Phím Right Arrow",downArrow:"Phím Down Arrow",insert:"Chèn",leftWindowKey:"Phím Left Windows",rightWindowKey:"Phím Right Windows ",selectKey:"Chọn phím",numpad0:"Phím 0",numpad1:"Phím 1",numpad2:"Phím 2",numpad3:"Phím 3",numpad4:"Phím 4",numpad5:"Phím 5",numpad6:"Phím 6",numpad7:"Phím 7",numpad8:"Phím 8",numpad9:"Phím 9",multiply:"Nhân",add:"Thêm",subtract:"Trừ",decimalPoint:"Điểm số thập phân",
+divide:"Chia",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Dấu chấm phẩy",equalSign:"Đăng nhập bằng",comma:"Dấu phẩy",dash:"Dấu gạch ngang",period:"Phím .",forwardSlash:"Phím /",graveAccent:"Phím `",openBracket:"Open Bracket",backSlash:"Dấu gạch chéo ngược",closeBracket:"Gần giá đỡ",singleQuote:"Trích dẫn"});
\ No newline at end of file
index 6c16130b3de97a08c598c415117a3cc889eeabf5..5c78983304ac24e3a990c226c6100f5f7504f686 100644 (file)
@@ -4,6 +4,6 @@
 */
 CKEDITOR.plugins.setLang("a11yhelp","zh-cn",{title:"辅助功能说明",contents:"帮助内容。要关闭此对话框请按 ESC 键。",legend:[{name:"常规",items:[{name:"编辑器工具栏",legend:"按 ${toolbarFocus} 切换到工具栏,使用 TAB 键和 SHIFT+TAB 组合键移动到上一个和下一个工具栏组。使用左右箭头键移动到上一个或下一个工具栏按钮。按空格键或回车键以选中工具栏按钮。"},{name:"编辑器对话框",legend:"在对话框内,按 TAB 键移动到下一个字段,按 SHIFT + TAB 组合键移动到上一个字段,按 ENTER 键提交对话框,按 ESC 键取消对话框。对于有多选项卡的对话框,可以按 ALT + F10 直接切换到或者按 TAB 键逐步移到选项卡列表,当焦点移到选项卡列表时可以用左右箭头键来移动到前后的选项卡。"},{name:"编辑器上下文菜单",legend:"用 ${contextMenu} 或者“应用程序键”打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。"},
 {name:"编辑器列表框",legend:"在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT+TAB 组合键或者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。"},{name:"编辑器元素路径栏",legend:"按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。"}]},{name:"命令",items:[{name:" 撤消命令",legend:"按 ${undo}"},{name:" 重做命令",legend:"按 ${redo}"},{name:" 加粗命令",legend:"按 ${bold}"},{name:" 倾斜命令",legend:"按 ${italic}"},{name:" 下划线命令",legend:"按 ${underline}"},{name:" 链接命令",legend:"按 ${link}"},{name:" 工具栏折叠命令",legend:"按 ${toolbarCollapse}"},
-{name:"访问前一个焦点区域的命令",legend:"按 ${accessPreviousSpace} 访问^符号前最近的不可访问的焦点区域,例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"访问下一个焦点区域命令",legend:"按 ${accessNextSpace} 以访问^符号后最近的不可访问的焦点区域。例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"辅助功能帮助",legend:"按 ${a11yHelp}"}]}],tab:"Tab 键",pause:"暂停键",capslock:"大写锁定键",escape:"Esc 键",pageUp:"上翻页键",pageDown:"下翻页键",leftArrow:"向左箭头键",upArrow:"向上箭头键",rightArrow:"向右箭头键",downArrow:"向下箭头键",insert:"插入键",leftWindowKey:"左 WIN 键",rightWindowKey:"右 WIN 键",selectKey:"选择键",numpad0:"小键盘 0 键",
-numpad1:"小键盘 1 键",numpad2:"小键盘 2 键",numpad3:"小键盘 3 键",numpad4:"小键盘 4 键",numpad5:"小键盘 5 键",numpad6:"小键盘 6 键",numpad7:"小键盘 7 键",numpad8:"小键盘 8 键",numpad9:"小键盘 9 键",multiply:"星号键",add:"加号键",subtract:"减号键",decimalPoint:"小数点键",divide:"除号键",f1:"F1 键",f2:"F2 键",f3:"F3 键",f4:"F4 键",f5:"F5 键",f6:"F6 键",f7:"F7 键",f8:"F8 键",f9:"F9 键",f10:"F10 键",f11:"F11 键",f12:"F12 键",numLock:"数字锁定键",scrollLock:"滚动锁定键",semiColon:"分号键",equalSign:"等号键",comma:"逗号键",dash:"短划线键",period:"句号键",forwardSlash:"斜杠键",graveAccent:"重音符键",
-openBracket:"左中括号键",backSlash:"反斜杠键",closeBracket:"右中括号键",singleQuote:"单引号键"});
\ No newline at end of file
+{name:"访问前一个焦点区域的命令",legend:"按 ${accessPreviousSpace} 访问^符号前最近的不可访问的焦点区域,例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"访问下一个焦点区域命令",legend:"按 ${accessNextSpace} 以访问^符号后最近的不可访问的焦点区域。例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"辅助功能帮助",legend:"按 ${a11yHelp}"},{name:"粘贴为纯文本",legend:"按 ${pastetext}",legendEdge:"按 ${pastetext},然后再按 ${paste}"}]}],tab:"Tab 键",pause:"暂停键",capslock:"大写锁定键",escape:"Esc 键",pageUp:"上翻页键",pageDown:"下翻页键",leftArrow:"向左箭头键",upArrow:"向上箭头键",rightArrow:"向右箭头键",downArrow:"向下箭头键",insert:"插入键",
+leftWindowKey:"左 WIN 键",rightWindowKey:"右 WIN 键",selectKey:"选择键",numpad0:"小键盘 0 键",numpad1:"小键盘 1 键",numpad2:"小键盘 2 键",numpad3:"小键盘 3 键",numpad4:"小键盘 4 键",numpad5:"小键盘 5 键",numpad6:"小键盘 6 键",numpad7:"小键盘 7 键",numpad8:"小键盘 8 键",numpad9:"小键盘 9 键",multiply:"星号键",add:"加号键",subtract:"减号键",decimalPoint:"小数点键",divide:"除号键",f1:"F1 键",f2:"F2 键",f3:"F3 键",f4:"F4 键",f5:"F5 键",f6:"F6 键",f7:"F7 键",f8:"F8 键",f9:"F9 键",f10:"F10 键",f11:"F11 键",f12:"F12 键",numLock:"数字锁定键",scrollLock:"滚动锁定键",semiColon:"分号键",equalSign:"等号键",
+comma:"逗号键",dash:"短划线键",period:"句号键",forwardSlash:"斜杠键",graveAccent:"重音符键",openBracket:"左中括号键",backSlash:"反斜杠键",closeBracket:"右中括号键",singleQuote:"单引号键"});
\ No newline at end of file
index a43d47a6d0da6a2bf021e9812a0780539220554a..10bf41c0ab564580f0ab6dc5334acebf3963aa68 100644 (file)
@@ -4,6 +4,6 @@
 */
 CKEDITOR.plugins.setLang("a11yhelp","zh",{title:"輔助工具指南",contents:"說明內容。若要關閉此對話框請按「ESC」。",legend:[{name:"一般",items:[{name:"編輯器工具列",legend:"請按 ${toolbarFocus} 以導覽到工具列。利用 TAB 或 SHIFT+TAB 以便移動到下一個及前一個工具列群組。利用右方向鍵或左方向鍵以便移動到下一個及上一個工具列按鈕。按下空白鍵或 ENTER 鍵啟用工具列按鈕。"},{name:"編輯器對話方塊",legend:"在對話框中,按下 TAB 鍵以導覽到下一個對話框元素,按下 SHIFT+TAB 以移動到上一個對話框元素,按下 ENTER 以遞交對話框,按下 ESC 以取消對話框。當對話框有多個分頁時,可以使用 ALT+F10 或是在對話框分頁順序中的一部份按下 TAB 以使用分頁列表。焦點在分頁列表上時,分別使用右方向鍵及左方向鍵移動到下一個及上一個分頁。"},{name:"編輯器內容功能表",legend:"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。"},
 {name:"編輯器清單方塊",legend:"在清單方塊中,使用 TAB 或下方向鍵移動到下一個列表項目。使用 SHIFT+TAB 或上方向鍵移動到上一個列表項目。按下空白鍵或 ENTER 以選取列表選項。按下 ESC 以關閉清單方塊。"},{name:"編輯器元件路徑工具列",legend:"請按 ${elementsPathFocus} 以瀏覽元素路徑列。利用 TAB 或右方向鍵以便移動到下一個元素按鈕。利用 SHIFT 或左方向鍵以便移動到上一個按鈕。按下空白鍵或 ENTER 鍵來選取在編輯器中的元素。"}]},{name:"命令",items:[{name:"復原命令",legend:"請按下「${undo}」"},{name:"重複命令",legend:"請按下「 ${redo}」"},{name:"粗體命令",legend:"請按下「${bold}」"},{name:"斜體",legend:"請按下「${italic}」"},{name:"底線命令",legend:"請按下「${underline}」"},{name:"連結",legend:"請按下「${link}」"},
-{name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"向左箭號",upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入",leftWindowKey:"左方 Windows 鍵",
-rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",
-period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"});
\ No newline at end of file
+{name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",
+pageDown:"Page Down",leftArrow:"向左箭號",upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入",leftWindowKey:"左方 Windows 鍵",rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",
+f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"});
\ No newline at end of file
diff --git a/release/plugins/clipboard/dialogs/paste.js b/release/plugins/clipboard/dialogs/paste.js
deleted file mode 100644 (file)
index 927b942..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
- For licensing, see LICENSE.md or http://ckeditor.com/license
-*/
-CKEDITOR.dialog.add("paste",function(c){function k(a){var b=new CKEDITOR.dom.document(a.document),g=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();g.setAttribute("contenteditable",!0);g.on(e.mainPasteEvent,function(a){a=e.initPasteDataTransfer(a);f?a!=f&&(f=e.initPasteDataTransfer()):f=a});if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){a=a.data;var b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+
-9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire("ariaWidget",new CKEDITOR.dom.element(a.frameElement));b.getWindow().getFrame().removeCustomData("pendingFocus")&&g.focus()}var h=c.lang.clipboard,e=CKEDITOR.plugins.clipboard,f;c.on("pasteDialogCommit",function(a){a.data&&c.fire("paste",{type:"auto",dataValue:a.data.dataValue,method:"paste",dataTransfer:a.data.dataTransfer||e.initPasteDataTransfer()})},null,null,1E3);return{title:h.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:
-350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this.parts.title.setHtml(this.customTitle||h.title);this.customTitle=null},onLoad:function(){(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&"rtl"==c.lang.dir&&this.parts.contents.setStyle("overflow","hidden")},onOk:function(){this.commitContent()},contents:[{id:"general",label:c.lang.common.generalTab,elements:[{type:"html",id:"securityMsg",html:'\x3cdiv style\x3d"white-space:normal;width:340px"\x3e'+
-h.securityMsg+"\x3c/div\x3e"},{type:"html",id:"pasteMsg",html:'\x3cdiv style\x3d"white-space:normal;width:340px"\x3e'+h.pasteMsg+"\x3c/div\x3e"},{type:"html",id:"editing_area",style:"width:100%;height:100%",html:"",focus:function(){var a=this.getInputElement(),b=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData("pendingFocus",1):b.focus()},setup:function(){var a=this.getDialog(),b='\x3chtml dir\x3d"'+c.config.contentsLangDirection+'" lang\x3d"'+(c.config.contentsLanguage||c.langCode)+
-'"\x3e\x3chead\x3e\x3cstyle\x3ebody{margin:3px;height:95%;word-break:break-all;}\x3c/style\x3e\x3c/head\x3e\x3cbody\x3e\x3cscript id\x3d"cke_actscrpt" type\x3d"text/javascript"\x3ewindow.parent.CKEDITOR.tools.callFunction('+CKEDITOR.tools.addFunction(k,a)+",this);\x3c/script\x3e\x3c/body\x3e\x3c/html\x3e",g=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie&&!CKEDITOR.env.edge?"javascript:void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+
-'})())"':"",d=CKEDITOR.dom.element.createFromHtml('\x3ciframe class\x3d"cke_pasteframe" frameborder\x3d"0"  allowTransparency\x3d"true" src\x3d"'+g+'" aria-label\x3d"'+h.pasteArea+'" aria-describedby\x3d"'+a.getContentElement("general","pasteMsg").domId+'"\x3e\x3c/iframe\x3e');f=null;d.on("load",function(a){a.removeListener();a=d.getFrameDocument();a.write(b);c.focusManager.add(a.getBody());CKEDITOR.env.air&&k.call(this,a.getWindow().$)},a);d.setCustomData("dialog",a);a=this.getElement();a.setHtml("");
-a.append(d);if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){var e=CKEDITOR.dom.element.createFromHtml('\x3cspan tabindex\x3d"-1" style\x3d"position:absolute" role\x3d"presentation"\x3e\x3c/span\x3e');e.on("focus",function(){setTimeout(function(){d.$.contentWindow.focus()})});a.append(e);this.focus=function(){e.focus();this.fire("focus")}}this.getInputElement=function(){return d};CKEDITOR.env.ie&&(a.setStyle("display","block"),a.setStyle("height",d.$.offsetHeight+2+"px"))},commit:function(){var a=this.getDialog().getParentEditor(),
-b=this.getInputElement().getFrameDocument().getBody(),c=b.getBogus(),d;c&&c.remove();d=b.getHtml();setTimeout(function(){a.fire("pasteDialogCommit",{dataValue:d,dataTransfer:f||e.initPasteDataTransfer()})},0)}}]}]}});
\ No newline at end of file
index b22af9e719d8a14ab3ae21a7a46e51482f342c32..dea42660bf0f5a053d57aa6206d4a428bea9845d 100644 (file)
@@ -5,5 +5,5 @@ label:a.lang.common.cssClass,"default":""}]}]},{id:"advanced",label:a.lang.commo
 "default":"",commit:function(a){a.setAttribute("style",this.getValue())}}]},{type:"hbox",children:[{type:"text",id:"title",requiredContent:"div[title]",style:"width: 100%;",label:a.lang.common.advisoryTitle,"default":""}]},{type:"select",id:"dir",requiredContent:"div[dir]",style:"width: 100%;",label:a.lang.common.langDir,"default":"",items:[[a.lang.common.notSet,""],[a.lang.common.langDirLtr,"ltr"],[a.lang.common.langDirRtl,"rtl"]]}]}]}],onLoad:function(){r.call(this);var f=this,c=this.getContentElement("info",
 "elementStyle");a.getStylesSet(function(g){var b,k;if(g)for(var e=0;e<g.length;e++)k=g[e],k.element&&"div"==k.element&&(b=k.name,n[b]=k=new CKEDITOR.style(k),a.filter.check(k)&&(c.items.push([b,b]),c.add(b,b)));c[1<c.items.length?"enable":"disable"]();setTimeout(function(){f._element&&c.setup(f._element)},0)})},onShow:function(){"editdiv"==m&&this.setupContent(this._element=CKEDITOR.plugins.div.getSurroundDiv(a))},onOk:function(){if("editdiv"==m)p=[this._element];else{var f=[],c={},g=[],b,k=a.getSelection(),
 e=k.getRanges(),n=k.createBookmarks(),h,l;for(h=0;h<e.length;h++)for(l=e[h].createIterator();b=l.getNextParagraph();)if(b.getName()in q&&!b.isReadOnly()){var d=b.getChildren();for(b=0;b<d.count();b++)t(g,d.getItem(b),c)}else{for(;!u[b.getName()]&&!b.equals(e[h].root);)b=b.getParent();t(g,b,c)}CKEDITOR.dom.element.clearAllMarkers(c);e=[];h=null;for(l=0;l<g.length;l++)b=g[l],d=a.elementPath(b).blockLimit,d.isReadOnly()&&(d=d.getParent()),a.config.div_wrapTable&&d.is(["td","th"])&&(d=a.elementPath(d.getParent()).blockLimit),
-d.equals(h)||(h=d,e.push([])),e[e.length-1].push(b);for(h=0;h<e.length;h++){d=e[h][0];g=d.getParent();for(b=1;b<e[h].length;b++)g=g.getCommonAncestor(e[h][b]);l=new CKEDITOR.dom.element("div",a.document);for(b=0;b<e[h].length;b++){for(d=e[h][b];!d.getParent().equals(g);)d=d.getParent();e[h][b]=d}for(b=0;b<e[h].length;b++)d=e[h][b],d.getCustomData&&d.getCustomData("block_processed")||(d.is&&CKEDITOR.dom.element.setMarker(c,d,"block_processed",!0),b||l.insertBefore(d),l.append(d));CKEDITOR.dom.element.clearAllMarkers(c);
-f.push(l)}k.selectBookmarks(n);p=f}f=p.length;for(c=0;c<f;c++)this.commitContent(p[c]),!p[c].getAttribute("style")&&p[c].removeAttribute("style");this.hide()},onHide:function(){"editdiv"==m&&this._element.removeCustomData("elementStyle");delete this._element}}}CKEDITOR.dialog.add("creatediv",function(a){return q(a,"creatediv")});CKEDITOR.dialog.add("editdiv",function(a){return q(a,"editdiv")})})();
\ No newline at end of file
+d.equals(h)||(h=d,e.push([])),b.getParent()&&e[e.length-1].push(b);for(h=0;h<e.length;h++)if(e[h].length){d=e[h][0];g=d.getParent();for(b=1;b<e[h].length;b++)g=g.getCommonAncestor(e[h][b]);g||(g=a.editable());l=new CKEDITOR.dom.element("div",a.document);for(b=0;b<e[h].length;b++){for(d=e[h][b];d.getParent()&&!d.getParent().equals(g);)d=d.getParent();e[h][b]=d}for(b=0;b<e[h].length;b++)d=e[h][b],d.getCustomData&&d.getCustomData("block_processed")||(d.is&&CKEDITOR.dom.element.setMarker(c,d,"block_processed",
+!0),b||l.insertBefore(d),l.append(d));CKEDITOR.dom.element.clearAllMarkers(c);f.push(l)}k.selectBookmarks(n);p=f}f=p.length;for(c=0;c<f;c++)this.commitContent(p[c]),!p[c].getAttribute("style")&&p[c].removeAttribute("style");this.hide()},onHide:function(){"editdiv"==m&&this._element.removeCustomData("elementStyle");delete this._element}}}CKEDITOR.dialog.add("creatediv",function(a){return q(a,"creatediv")});CKEDITOR.dialog.add("editdiv",function(a){return q(a,"editdiv")})})();
\ No newline at end of file
index cfb01e97fcfb84912bc5550cdac2928c3ca26e82..fb2efe0e044bd755c44bc845790c4ed61f069f66 100644 (file)
@@ -1,4 +1,4 @@
 CKEDITOR.dialog.add("html5audio",function(a){return{title:a.lang.html5audio.title,minWidth:500,minHeight:100,contents:[{id:"info",label:a.lang.html5audio.infoLabel,elements:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["365px","110px"],align:"right",children:[{type:"text",id:"url",label:a.lang.common.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(a.lang.html5audio.urlMissing),setup:function(a){this.setValue(a.data.src)},commit:function(a){a.setData("src",this.getValue())}},{type:"button",
 id:"browse",style:"display:inline-block;margin-top:14px;",align:"center",label:a.lang.common.browseServer,hidden:!0,filebrowser:"info:url"}]}]},{type:"hbox",id:"alignment",children:[{type:"radio",id:"align",label:a.lang.common.align,items:[[a.lang.common.alignCenter,"center"],[a.lang.common.alignLeft,"left"],[a.lang.common.alignRight,"right"],[a.lang.common.alignNone,"none"]],"default":"center",setup:function(a){a.data.align&&this.setValue(a.data.align)},commit:function(a){a.setData("align",this.getValue())}}]}]},
 {id:"Upload",hidden:!0,filebrowser:"uploadButton",label:a.lang.html5audio.upload,elements:[{type:"file",id:"upload",label:a.lang.html5audio.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:url",label:a.lang.html5audio.btnUpload,"for":["Upload","upload"]}]},{id:"advanced",label:a.lang.html5audio.advanced,elements:[{type:"vbox",padding:0,children:[{type:"hbox",children:[{type:"radio",id:"autoplay",label:a.lang.html5audio.autoplay,items:[[a.lang.html5audio.yes,
-"yes"],[a.lang.html5audio.no,"no"]],"default":"no",setup:function(a){a.data.autoplay&&this.setValue(a.data.autoplay)},commit:function(a){a.setData("autoplay",this.getValue())}}]}]}]}]}});
\ No newline at end of file
+"yes"],[a.lang.html5audio.no,"no"]],"default":"no",setup:function(a){a.data.autoplay&&this.setValue(a.data.autoplay)},commit:function(a){a.setData("autoplay",this.getValue())}},{type:"radio",id:"allowdownload",label:a.lang.html5audio.allowdownload,items:[[a.lang.html5audio.yes,"yes"],[a.lang.html5audio.no,"no"]],"default":"no",setup:function(a){a.data.allowdownload&&this.setValue(a.data.allowdownload)},commit:function(a){a.setData("allowdownload",this.getValue())}}]}]}]}]}});
\ No newline at end of file
index 85a889967f074414fecfe75f038ebc769bfa6499..dd3247125d1d2eef0367bf19a773a1a3b15e9d20 100644 (file)
@@ -1,5 +1,5 @@
 CKEDITOR.dialog.add("html5video",function(b){return{title:b.lang.html5video.title,minWidth:500,minHeight:100,contents:[{id:"info",label:b.lang.html5video.infoLabel,elements:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["365px","110px"],align:"right",children:[{type:"text",id:"url",label:b.lang.html5video.allowed,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(b.lang.html5video.urlMissing),setup:function(a){this.setValue(a.data.src)},commit:function(a){a.setData("src",this.getValue())}},
-{type:"button",id:"browse",style:"display:inline-block;margin-top:14px;",align:"center",label:b.lang.common.browseServer,hidden:!0,filebrowser:"info:url"}]}]},{type:"hbox",id:"size",children:[{type:"text",id:"width",label:b.lang.common.width,"default":400,setup:function(a){a.data.width&&this.setValue(a.data.width)},commit:function(a){a.setData("width",this.getValue())}},{type:"text",id:"height",label:b.lang.common.height,"default":300,setup:function(a){a.data.height&&this.setValue(a.data.height)},
-commit:function(a){a.setData("height",this.getValue())}}]},{type:"hbox",id:"alignment",children:[{type:"radio",id:"align",label:b.lang.common.align,items:[[b.lang.common.alignCenter,"center"],[b.lang.common.alignLeft,"left"],[b.lang.common.alignRight,"right"],[b.lang.common.alignNone,"none"]],"default":"center",setup:function(a){a.data.align&&this.setValue(a.data.align)},commit:function(a){a.setData("align",this.getValue())}}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:b.lang.html5video.upload,
-elements:[{type:"file",id:"upload",label:b.lang.html5video.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:url",label:b.lang.html5video.btnUpload,"for":["Upload","upload"]}]},{id:"advanced",label:b.lang.html5video.advanced,elements:[{type:"vbox",padding:0,children:[{type:"hbox",children:[{type:"radio",id:"autoplay",label:b.lang.html5video.autoplay,items:[[b.lang.html5video.yes,"yes"],[b.lang.html5video.no,"no"]],"default":"no",setup:function(a){a.data.autoplay&&
-this.setValue(a.data.autoplay)},commit:function(a){a.setData("autoplay",this.getValue())}}]}]}]}]}});
\ No newline at end of file
+{type:"button",id:"browse",style:"display:inline-block;margin-top:14px;",align:"center",label:b.lang.common.browseServer,hidden:!0,filebrowser:"info:url"}]}]},{type:"checkbox",id:"responsive",label:b.lang.html5video.responsive,setup:function(a){this.setValue(a.data.responsive)},commit:function(a){a.setData("responsive",this.getValue()?"true":"")}},{type:"hbox",id:"size",children:[{type:"text",id:"width",label:b.lang.common.width,setup:function(a){a.data.width&&this.setValue(a.data.width)},commit:function(a){a.setData("width",
+this.getValue())}},{type:"text",id:"height",label:b.lang.common.height,setup:function(a){a.data.height&&this.setValue(a.data.height)},commit:function(a){a.setData("height",this.getValue())}}]},{type:"hbox",id:"alignment",children:[{type:"radio",id:"align",label:b.lang.common.align,items:[[b.lang.common.alignCenter,"center"],[b.lang.common.alignLeft,"left"],[b.lang.common.alignRight,"right"],[b.lang.common.alignNone,"none"]],"default":"center",setup:function(a){a.data.align&&this.setValue(a.data.align)},
+commit:function(a){a.setData("align",this.getValue())}}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:b.lang.html5video.upload,elements:[{type:"file",id:"upload",label:b.lang.html5video.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:url",label:b.lang.html5video.btnUpload,"for":["Upload","upload"]}]},{id:"advanced",label:b.lang.html5video.advanced,elements:[{type:"vbox",padding:0,children:[{type:"hbox",children:[{type:"radio",id:"autoplay",
+label:b.lang.html5video.autoplay,items:[[b.lang.html5video.yes,"yes"],[b.lang.html5video.no,"no"]],"default":"no",setup:function(a){a.data.autoplay&&this.setValue(a.data.autoplay)},commit:function(a){a.setData("autoplay",this.getValue())}}]}]}]}]}});
\ No newline at end of file
index 255d60c12c3e28082101253ccdccf1d8bdfc0768..50677e167e3f92b6d86b802fb53a6c124378ff37 100644 (file)
@@ -2,6 +2,7 @@
  Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-CKEDITOR.dialog.add("anchor",function(c){function d(a,b){return a.createFakeElement(a.document.createElement("a",{attributes:b}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var a=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:a,name:a,"data-cke-saved-name":a};if(this._.selectedElement)this._.selectedElement.data("cke-realelement")?(a=d(c,a),a.replace(this._.selectedElement),CKEDITOR.env.ie&&c.getSelection().selectElement(a)):
-this._.selectedElement.setAttributes(a);else{var b=c.getSelection(),b=b&&b.getRanges()[0];b.collapsed?(a=d(c,a),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement(),d=b&&b.data("cke-realelement"),e=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b):CKEDITOR.plugins.link.getSelectedLink(c);
-if(e){this._.selectedElement=e;var f=e.data("cke-saved-name");this.setValueOf("info","txtName",f||"");!d&&a.selectElement(e);b&&(this._.selectedElement=b)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()?!0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}});
\ No newline at end of file
+CKEDITOR.dialog.add("anchor",function(c){function e(b,a){return b.createFakeElement(b.document.createElement("a",{attributes:a}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var b=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:b,name:b,"data-cke-saved-name":b};this._.selectedElement?this._.selectedElement.data("cke-realelement")?(b=e(c,a),b.replace(this._.selectedElement),CKEDITOR.env.ie&&c.getSelection().selectElement(b)):this._.selectedElement.setAttributes(a):
+(b=(b=c.getSelection())&&b.getRanges()[0],b.collapsed?(a=e(c,a),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,a.applyToRange(b)))},onHide:function(){delete this._.selectedElement},onShow:function(){var b=c.getSelection(),a;a=b.getRanges()[0];var d=b.getSelectedElement();a.shrink(CKEDITOR.SHRINK_ELEMENT);a=(d=a.getEnclosedNode())&&d.type===CKEDITOR.NODE_ELEMENT&&("anchor"===d.data("cke-real-element-type")||
+d.is("a"))?d:void 0;var f=(d=a&&a.data("cke-realelement"))?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a):CKEDITOR.plugins.link.getSelectedLink(c);if(f){this._.selectedElement=f;var e=f.data("cke-saved-name");this.setValueOf("info","txtName",e||"");!d&&b.selectElement(f);a&&(this._.selectedElement=a)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()?
+!0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}});
\ No newline at end of file
index bd837a2210c520befcc29ee99e0016bb8d8a7dc2..e8581a779a65f7ef78a6e54ebfb7136002c9e8f1 100644 (file)
@@ -2,27 +2,27 @@
  Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-(function(){CKEDITOR.dialog.add("link",function(e){var m=CKEDITOR.plugins.link,p,q=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),n=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),n){case "frame":a.setLabel(e.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(e.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(n),a.getElement().hide()}},
-h=function(a){a.target&&this.setValue(a.target[this.id]||"")},f=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},k=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},l=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},c=e.lang.common,b=e.lang.link,g;return{title:b.title,minWidth:"moono-lisa"==(CKEDITOR.skinName||e.config.skin)?450:350,minHeight:240,contents:[{id:"info",label:b.info,title:b.info,elements:[{type:"text",id:"linkDisplayText",
-label:b.displayText,setup:function(){this.enable();this.setValue(e.getSelection().getSelectedText());p=this.getValue()},commit:function(a){a.linkText=this.isEnabled()?this.getValue():""}},{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],n=this.getValue(),d=a.definition.getContents("upload"),d=d&&d.hidden;"url"==n?(e.config.linkShowTargetTab&&
-a.showPage("target"),d||a.showPage("upload")):(a.hidePage("target"),d||a.hidePage("upload"));for(d=0;d<b.length;d++){var c=a.getContentElement("info",b[d]);c&&(c=c.getElement().getParent().getParent(),b[d]==n+"Options"?c.show():c.hide())}a.layout()},setup:function(a){this.setValue(a.type||"url")},commit:function(a){a.type=this.getValue()}},{type:"vbox",id:"urlOptions",children:[{type:"hbox",widths:["25%","75%"],children:[{id:"protocol",type:"select",label:c.protocol,"default":"http://",items:[["http://‎",
-"http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]],setup:function(a){a.url&&this.setValue(a.url.protocol||"")},commit:function(a){a.url||(a.url={});a.url.protocol=this.getValue()}},{type:"text",id:"url",label:c.url,required:!0,onLoad:function(){this.allowOnChange=!0},onKeyUp:function(){this.allowOnChange=!1;var a=this.getDialog().getContentElement("info","protocol"),b=this.getValue(),c=/^((javascript:)|[#\/\.\?])/i,d=/^(http|https|ftp|news):\/\/(?=.)/i.exec(b);
-d?(this.setValue(b.substr(d[0].length)),a.setValue(d[0].toLowerCase())):c.test(b)&&a.setValue("");this.allowOnChange=!0},onChange:function(){if(this.allowOnChange)this.onKeyUp()},validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"url"!=a.getValueOf("info","linkType")?!0:!e.config.linkJavaScriptLinksAllowed&&/javascript\:/.test(this.getValue())?(alert(c.invalidValue),!1):this.getDialog().fakeObj?!0:CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)},setup:function(a){this.allowOnChange=
-!1;a.url&&this.setValue(a.url.url);this.allowOnChange=!0},commit:function(a){this.onChange();a.url||(a.url={});a.url.url=this.getValue();this.allowOnChange=!1}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().show()}},{type:"button",id:"browse",hidden:"true",filebrowser:"info:url",label:c.browseServer}]},{type:"vbox",id:"anchorOptions",width:260,align:"center",padding:0,children:[{type:"fieldset",id:"selectAnchorText",label:b.selectAnchor,setup:function(){g=
-m.getEditorAnchors(e);this.getElement()[g&&g.length?"show":"hide"]()},children:[{type:"hbox",id:"selectAnchor",children:[{type:"select",id:"anchorName","default":"",label:b.anchorName,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(g)for(var b=0;b<g.length;b++)g[b].name&&this.add(g[b].name);a.anchor&&this.setValue(a.anchor.name);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.focus()},commit:function(a){a.anchor||(a.anchor={});
-a.anchor.name=this.getValue()}},{type:"select",id:"anchorId","default":"",label:b.anchorId,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(g)for(var b=0;b<g.length;b++)g[b].id&&this.add(g[b].id);a.anchor&&this.setValue(a.anchor.id)},commit:function(a){a.anchor||(a.anchor={});a.anchor.id=this.getValue()}}],setup:function(){this.getElement()[g&&g.length?"show":"hide"]()}}]},{type:"html",id:"noAnchors",style:"text-align: center;",html:'\x3cdiv role\x3d"note" tabIndex\x3d"-1"\x3e'+
-CKEDITOR.tools.htmlEncode(b.noAnchors)+"\x3c/div\x3e",focus:!0,setup:function(){this.getElement()[g&&g.length?"hide":"show"]()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",id:"emailAddress",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"email"==a.getValueOf("info","linkType")?CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this):
+(function(){CKEDITOR.dialog.add("link",function(c){function t(a,b){var c=a.createRange();c.setStartBefore(b);c.setEndAfter(b);return c}var n=CKEDITOR.plugins.link,q,r=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),p=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),p){case "frame":a.setLabel(c.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(c.lang.link.targetPopupName);
+a.getElement().show();break;default:a.setValue(p),a.getElement().hide()}},l=function(a){a.target&&this.setValue(a.target[this.id]||"")},e=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},k=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},m=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},g=c.lang.common,b=c.lang.link,d;return{title:b.title,minWidth:"moono-lisa"==(CKEDITOR.skinName||c.config.skin)?450:350,minHeight:240,contents:[{id:"info",
+label:b.info,title:b.info,elements:[{type:"text",id:"linkDisplayText",label:b.displayText,setup:function(){this.enable();this.setValue(c.getSelection().getSelectedText());q=this.getValue()},commit:function(a){a.linkText=this.isEnabled()?this.getValue():""}},{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],p=this.getValue(),f=a.definition.getContents("upload"),
+f=f&&f.hidden;"url"==p?(c.config.linkShowTargetTab&&a.showPage("target"),f||a.showPage("upload")):(a.hidePage("target"),f||a.hidePage("upload"));for(f=0;f<b.length;f++){var h=a.getContentElement("info",b[f]);h&&(h=h.getElement().getParent().getParent(),b[f]==p+"Options"?h.show():h.hide())}a.layout()},setup:function(a){this.setValue(a.type||"url")},commit:function(a){a.type=this.getValue()}},{type:"vbox",id:"urlOptions",children:[{type:"hbox",widths:["25%","75%"],children:[{id:"protocol",type:"select",
+label:g.protocol,"default":"http://",items:[["http://‎","http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]],setup:function(a){a.url&&this.setValue(a.url.protocol||"")},commit:function(a){a.url||(a.url={});a.url.protocol=this.getValue()}},{type:"text",id:"url",label:g.url,required:!0,onLoad:function(){this.allowOnChange=!0},onKeyUp:function(){this.allowOnChange=!1;var a=this.getDialog().getContentElement("info","protocol"),b=this.getValue(),c=/^((javascript:)|[#\/\.\?])/i,
+f=/^(http|https|ftp|news):\/\/(?=.)/i.exec(b);f?(this.setValue(b.substr(f[0].length)),a.setValue(f[0].toLowerCase())):c.test(b)&&a.setValue("");this.allowOnChange=!0},onChange:function(){if(this.allowOnChange)this.onKeyUp()},validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"url"!=a.getValueOf("info","linkType")?!0:!c.config.linkJavaScriptLinksAllowed&&/javascript\:/.test(this.getValue())?(alert(g.invalidValue),!1):this.getDialog().fakeObj?!0:CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)},
+setup:function(a){this.allowOnChange=!1;a.url&&this.setValue(a.url.url);this.allowOnChange=!0},commit:function(a){this.onChange();a.url||(a.url={});a.url.url=this.getValue();this.allowOnChange=!1}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().show()}},{type:"button",id:"browse",hidden:"true",filebrowser:"info:url",label:g.browseServer}]},{type:"vbox",id:"anchorOptions",width:260,align:"center",padding:0,children:[{type:"fieldset",id:"selectAnchorText",
+label:b.selectAnchor,setup:function(){d=n.getEditorAnchors(c);this.getElement()[d&&d.length?"show":"hide"]()},children:[{type:"hbox",id:"selectAnchor",children:[{type:"select",id:"anchorName","default":"",label:b.anchorName,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(d)for(var b=0;b<d.length;b++)d[b].name&&this.add(d[b].name);a.anchor&&this.setValue(a.anchor.name);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.focus()},commit:function(a){a.anchor||
+(a.anchor={});a.anchor.name=this.getValue()}},{type:"select",id:"anchorId","default":"",label:b.anchorId,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(d)for(var b=0;b<d.length;b++)d[b].id&&this.add(d[b].id);a.anchor&&this.setValue(a.anchor.id)},commit:function(a){a.anchor||(a.anchor={});a.anchor.id=this.getValue()}}],setup:function(){this.getElement()[d&&d.length?"show":"hide"]()}}]},{type:"html",id:"noAnchors",style:"text-align: center;",html:'\x3cdiv role\x3d"note" tabIndex\x3d"-1"\x3e'+
+CKEDITOR.tools.htmlEncode(b.noAnchors)+"\x3c/div\x3e",focus:!0,setup:function(){this.getElement()[d&&d.length?"hide":"show"]()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",id:"emailAddress",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"email"==a.getValueOf("info","linkType")?CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this):
 !0},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.select()},commit:function(a){a.email||(a.email={});a.email.address=this.getValue()}},{type:"text",id:"emailSubject",label:b.emailSubject,setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){a.email||(a.email={});a.email.subject=this.getValue()}},{type:"textarea",id:"emailBody",label:b.emailBody,rows:3,"default":"",setup:function(a){a.email&&
-this.setValue(a.email.body)},commit:function(a){a.email||(a.email={});a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,title:b.target,elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:c.target,"default":"notSet",style:"width : 100%;",items:[[c.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[c.targetNew,
-"_blank"],[c.targetTop,"_top"],[c.targetSelf,"_self"],[c.targetParent,"_parent"]],onChange:q,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");q.call(this)},commit:function(a){a.target||(a.target={});a.target.type=this.getValue()}},{type:"text",id:"linkTargetName",label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/([^\x00-\x7F]|\s)/gi,"")}}]},{type:"vbox",
-width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable,setup:h,commit:k},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:h,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:h,commit:k},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:h,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",
-label:b.popupMenuBar,setup:h,commit:k},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:h,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars,setup:h,commit:k},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:h,commit:k}]},{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:c.width,id:"width",setup:h,commit:k},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left",
-setup:h,commit:k}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:c.height,id:"height",setup:h,commit:k},{type:"text",labelLayout:"horizontal",label:b.popupTop,widths:["50%","50%"],id:"top",setup:h,commit:k}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,hidden:!0,filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:c.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:c.uploadSubmit,filebrowser:"info:url","for":["upload",
-"upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]",label:b.id,setup:f,commit:l},{type:"select",id:"advLangDir",requiredContent:"a[dir]",label:b.langDir,"default":"",style:"width:110px",items:[[c.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:f,commit:l},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey,
-maxLength:1,setup:f,commit:l}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:f,commit:l},{type:"text",label:b.langCode,id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:f,commit:l},{type:"text",label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:f,commit:l}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle,
-requiredContent:"a[title]","default":"",id:"advTitle",setup:f,commit:l},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:f,commit:l}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:f,commit:l},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:f,commit:l}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",
-label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:f,commit:l},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(e.lang.common.invalidInlineStyle),setup:f,commit:l}]},{type:"hbox",widths:["45%","55%"],children:[{type:"checkbox",id:"download",requiredContent:"a[download]",label:b.download,setup:function(a){void 0!==a.download&&this.setValue("checked","checked")},commit:function(a){this.getValue()&&(a.download=
-this.getValue())}}]}]}]}],onShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement(),d=this.getContentElement("info","linkDisplayText").getElement().getParent().getParent(),e=null;(e=m.getSelectedLink(a))&&e.hasAttribute("href")?c||(b.selectElement(e),c=e):e=null;m.showDisplayTextForElement(c,a)?d.show():d.hide();a=m.parseLinkAttributes(a,e);this._.selectedElement=e;this.setupContent(a)},onOk:function(){var a={};this.commitContent(a);var b=e.getSelection(),c=m.getLinkAttributes(e,
-a);if(this._.selectedElement){var d=this._.selectedElement,g=d.data("cke-saved-href"),h=d.getHtml(),f;d.setAttributes(c.set);d.removeAttributes(c.removed);if(a.linkText&&p!=a.linkText)f=a.linkText;else if(g==h||"email"==a.type&&-1!=h.indexOf("@"))f="email"==a.type?a.email.address:c.set["data-cke-saved-href"];f&&(d.setText(f),b.selectElement(d));delete this._.selectedElement}else{b=b.getRanges()[0];b.collapsed?(a=new CKEDITOR.dom.text(a.linkText||("email"==a.type?a.email.address:c.set["data-cke-saved-href"]),
-e.document),b.insertNode(a),b.selectNodeContents(a)):p!==a.linkText&&(a=new CKEDITOR.dom.text(a.linkText,e.document),b.shrink(CKEDITOR.SHRINK_TEXT),e.editable().extractHtmlFromRange(b),b.insertNode(a));a=b._find("a");for(d=0;d<a.length;d++)a[d].remove(!0);c=new CKEDITOR.style({element:"a",attributes:c.set});c.type=CKEDITOR.STYLE_INLINE;c.applyToRange(b,e);b.select()}},onLoad:function(){e.config.linkShowAdvancedTab||this.hidePage("advanced");e.config.linkShowTargetTab||this.hidePage("target")},onFocus:function(){var a=
-this.getContentElement("info","linkType");a&&"url"==a.getValue()&&(a=this.getContentElement("info","url"),a.select())}}})})();
\ No newline at end of file
+this.setValue(a.email.body)},commit:function(a){a.email||(a.email={});a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,title:b.target,elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:g.target,"default":"notSet",style:"width : 100%;",items:[[g.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[g.targetNew,
+"_blank"],[g.targetTop,"_top"],[g.targetSelf,"_self"],[g.targetParent,"_parent"]],onChange:r,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");r.call(this)},commit:function(a){a.target||(a.target={});a.target.type=this.getValue()}},{type:"text",id:"linkTargetName",label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/([^\x00-\x7F]|\s)/gi,"")}}]},{type:"vbox",
+width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable,setup:l,commit:k},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:l,commit:k},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",
+label:b.popupMenuBar,setup:l,commit:k},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars,setup:l,commit:k},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:l,commit:k}]},{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:g.width,id:"width",setup:l,commit:k},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left",
+setup:l,commit:k}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:g.height,id:"height",setup:l,commit:k},{type:"text",labelLayout:"horizontal",label:b.popupTop,widths:["50%","50%"],id:"top",setup:l,commit:k}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,hidden:!0,filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:g.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:g.uploadSubmit,filebrowser:"info:url","for":["upload",
+"upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]",label:b.id,setup:e,commit:m},{type:"select",id:"advLangDir",requiredContent:"a[dir]",label:b.langDir,"default":"",style:"width:110px",items:[[g.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:e,commit:m},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey,
+maxLength:1,setup:e,commit:m}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:e,commit:m},{type:"text",label:b.langCode,id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:e,commit:m},{type:"text",label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:e,commit:m}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle,
+requiredContent:"a[title]","default":"",id:"advTitle",setup:e,commit:m},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:e,commit:m},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",
+label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:e,commit:m},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(c.lang.common.invalidInlineStyle),setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"checkbox",id:"download",requiredContent:"a[download]",label:b.download,setup:function(a){void 0!==a.download&&this.setValue("checked","checked")},commit:function(a){this.getValue()&&(a.download=
+this.getValue())}}]}]}]}],onShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=this.getContentElement("info","linkDisplayText").getElement().getParent().getParent(),f=n.getSelectedLink(a,!0),h=f[0]||null;h&&h.hasAttribute("href")&&(b.getSelectedElement()||b.isInTable()||b.selectElement(h));b=n.parseLinkAttributes(a,h);1>=f.length&&n.showDisplayTextForElement(h,a)?c.show():c.hide();this._.selectedElements=f;this.setupContent(b)},onOk:function(){var a={};this.commitContent(a);if(this._.selectedElements.length){var b=
+this._.selectedElements,g=n.getLinkAttributes(c,a),f=[],h,d,l,e,k;for(k=0;k<b.length;k++){h=b[k];d=h.data("cke-saved-href");l=h.getHtml();h.setAttributes(g.set);h.removeAttributes(g.removed);if(a.linkText&&q!=a.linkText)e=a.linkText;else if(d==l||"email"==a.type&&-1!=l.indexOf("@"))e="email"==a.type?a.email.address:g.set["data-cke-saved-href"];e&&h.setText(e);f.push(t(c,h))}c.getSelection().selectRanges(f);delete this._.selectedElements}else{b=n.getLinkAttributes(c,a);g=c.getSelection().getRanges();
+f=new CKEDITOR.style({element:"a",attributes:b.set});h=[];f.type=CKEDITOR.STYLE_INLINE;for(l=0;l<g.length;l++){d=g[l];d.collapsed?(e=new CKEDITOR.dom.text(a.linkText||("email"==a.type?a.email.address:b.set["data-cke-saved-href"]),c.document),d.insertNode(e),d.selectNodeContents(e)):q!==a.linkText&&(e=new CKEDITOR.dom.text(a.linkText,c.document),d.shrink(CKEDITOR.SHRINK_TEXT),c.editable().extractHtmlFromRange(d),d.insertNode(e));e=d._find("a");for(k=0;k<e.length;k++)e[k].remove(!0);f.applyToRange(d,
+c);h.push(d)}c.getSelection().selectRanges(h)}},onLoad:function(){c.config.linkShowAdvancedTab||this.hidePage("advanced");c.config.linkShowTargetTab||this.hidePage("target")},onFocus:function(){var a=this.getContentElement("info","linkType");a&&"url"==a.getValue()&&(a=this.getContentElement("info","url"),a.select())}}})})();
\ No newline at end of file
index 3fe896013a0e4e85fb3db5e356c2dc7129c2bd9b..663fc179847490a1c8f8bca5718e335022a92e85 100644 (file)
@@ -18,7 +18,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
        <div class="grid-container">\r
                <ul class="navigation-a-left grid-width-70">\r
                        <li><a href="http://ckeditor.com">Project Homepage</a></li>\r
-                       <li><a href="http://dev.ckeditor.com/">I found a bug</a></li>\r
+                       <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li>\r
                        <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li>\r
                </ul>\r
                <ul class="navigation-a-right grid-width-30">\r
index df904e182a641b46b8d964eeab664184af002870..3208ff4c5e5115d8ff08520f26c6ced6c445b385 100644 (file)
@@ -2,6 +2,6 @@
  Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",az:"Azerbaijani",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German","de-ch":"German (Switzerland)",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician",gu:"Gujarati",he:"Hebrew",
-hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",oc:"Occitan",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)",sv:"Swedish",th:"Thai",
-tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name<b.name?-1:1});return b}();
\ No newline at end of file
+var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",az:"Azerbaijani",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German","de-ch":"German (Switzerland)",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish","es-mx":"Spanish (Mexico)",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician",
+gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",oc:"Occitan",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)",
+sv:"Swedish",th:"Thai",tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name<b.name?-1:1});return b}();
\ No newline at end of file
index 1dac0b4b6caf72d1a7ed99bf3f6a5c5d666c5730..5c06a0fbea4d5835627c5b94e2e1b980de44f017 100644 (file)
@@ -26,7 +26,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
        <div class="grid-container">\r
                <ul class="navigation-a-left grid-width-70">\r
                        <li><a href="http://ckeditor.com">Project Homepage</a></li>\r
-                       <li><a href="http://dev.ckeditor.com/">I found a bug</a></li>\r
+                       <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li>\r
                        <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li>\r
                </ul>\r
                <ul class="navigation-a-right grid-width-30">\r
index 5aa358bba799a09d3e4424a91fe488423cf289fb..349036af7c7cecc31d96ad53f87d89f0eeb20ef9 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index c07aa7ec516aa8f9bb56ab215e3f4c4e6cd7aa02..9c9d9fcfe673fa55f8b862815a2938638d9bb3b1 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index 536d92c5dd95b7a8ed4bfd953fd80170fd77bf82..9defb7d9d6ec114369723c9a154e54dcea8a6e89 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index 07652e8c5f12a7fbba274ce9ebc2f1e499136c0c..c2ea5cda7ea01d71498b2cfbb4b52ccfb20bb157 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index 0660831029624d31a039e4c1013743b97df4849a..a969465c9cbe50cca62d2c068331e48295288d8d 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index a332d9b17862e0f1ad26e66ab93081927117ddaf..dcea5d2d6809909be13352faa62ee268a753b7fd 100644 (file)
@@ -2,4 +2,4 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
-.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__bold_icon {background: url(icons.png?t=20af917) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=20af917) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=20af917) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=20af917) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=20af917) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=20af917) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=20af917) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=20af917) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=20af917) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=20af917) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=20af917) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=20af917) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=20af917) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=20af917) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=20af917) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=20af917) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=20af917) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=20af917) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=20af917) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=20af917) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=20af917) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=20af917) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=20af917) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=20af917) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=20af917) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=20af917) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=20af917) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=20af917) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=20af917) no-repeat 0 -1920px !important;}
\ No newline at end of file
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;border-radius:2px 2px 0 0;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:linear-gradient(to bottom,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}a.cke_button_on{box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:linear-gradient(to bottom,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;border-radius:3px;text-align:center;opacity:.95;filter:alpha(opacity = 95);box-shadow:2px 2px 3px 0 rgba(50,50,50,0.3);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__bold_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_button__italic_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -24px !important;}.cke_button__strike_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_button__subscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -72px !important;}.cke_button__superscript_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_button__underline_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -120px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -168px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -216px !important;}.cke_button__iframe_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_button__image_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -264px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -312px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -360px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -408px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -696px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -744px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -792px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -840px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -888px !important;}.cke_button__oembed_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_button__html5audio_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -936px !important;}.cke_button__html5video_icon {background: url(icons.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -0px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -48px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -96px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -144px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -192px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -240px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -288px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -336px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -384px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -432px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -480px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -528px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -576px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -624px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -672px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -720px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -768px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -816px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -864px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -960px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1008px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1056px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1104px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1152px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1200px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1248px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1296px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1344px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1392px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1440px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1488px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1536px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1584px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1632px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1680px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1728px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1776px !important;}.cke_hidpi .cke_button__oembed_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__html5audio_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1872px !important;}.cke_hidpi .cke_button__html5video_icon {background: url(icons_hidpi.png?t=dee99e2) no-repeat 0 -1920px !important;}
\ No newline at end of file
index 287e633230bdacb093943b5886f5787111b4b659..025715e998b9eb9fc333b3cd5b7cda47b7f6879e 100644 (file)
@@ -126,7 +126,7 @@ CKEDITOR.stylesSet.add( 'default', [
        { name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' },\r
 \r
        // Adding space after the style name is an intended workaround. For now, there\r
-       // is no option to create two styles with the same name for different widget types. See #16664.\r
+       // is no option to create two styles with the same name for different widget types. See http://dev.ckeditor.com/ticket/16664.\r
        { name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' },\r
        { name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' },\r
        { name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' },\r
index 1419e5588a7ab4df84b45b4360d3e25324d5b9fa..31a6299caf13c5620ede94083cceeed8e299180d 100644 (file)
@@ -1,6 +1,145 @@
 CKEditor 4 Changelog
 ====================
 
+## CKEditor 4.7.3
+
+New Features:
+
+* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-disallowedContent) property.
+
+Fixed Issues:
+
+* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)!
+* [#566](https://github.com/ckeditor/ckeditor-dev/issues/566): Fixed: The CSS `border` shorthand property with zero width (`border: 0px solid #000;`) causes the table to have the border attribute set to 1.
+* [#779](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/addon/language) plugin.
+* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is set to `CKEDITOR.ENTER_BR`.
+* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/addon/image2) plugin can be resized when the editor is in [read-only mode](https://docs.ckeditor.com/#!/guide/dev_readonly).
+* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/addon/tabletools) plugin throws an error when trying to delete columns.
+* [#867](https://github.com/ckeditor/ckeditor-dev/issues/867): Fixed: Typing into a selected table throws an error.
+* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/addon/sourcearea).
+
+Other Changes:
+
+* Updated the [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin:
+       * [#40](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/40): Fixed: IE10 throws an error when spell checking is started.
+* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-isCollapsed) method which is a simpler way to check if the selection is collapsed.
+* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://docs.ckeditor.com/#!/api/CKEDITOR.dialogCommand).
+
+## CKEditor 4.7.2
+
+New Features:
+
+* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with the [Justify](http://ckeditor.com/addon/justify) plugin.
+
+Fixed Issues:
+
+* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error.
+* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](http://ckeditor.com/addon/tableselection) plugin:
+  * [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell.
+  * [#460](https://github.com/ckeditor/ckeditor-dev/issues/460): Fixed: Editor gone after pasting into an editor within a table.
+* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](http://ckeditor.com/addon/table) dialog.
+* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/addon/selectall) button in [Source Mode](http://ckeditor.com/addon/sourcearea).
+* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)!
+* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the [Notification](http://ckeditor.com/addon/notification) plugin.
+* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without any selection.
+* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](http://ckeditor.com/addon/link) plugin.
+* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error.
+* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error.
+* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element.
+* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected.
+* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`.
+
+Other Changes:
+
+* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) plugin:
+       * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it.
+* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList).
+
+## CKEditor 4.7.1
+
+New Features:
+
+* Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)!
+* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) instructions.
+
+Fixed Issues:
+
+* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](http://ckeditor.com/addon/tableselection) plugin is loaded.
+* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down.
+* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: <kbd>Enter</kbd> key breaks the table structure when pressed in a table selection.
+* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection.
+* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed:  Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin when pressing <kbd>Enter</kbd> with no selection.
+* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent List](http://ckeditor.com/addon/indentlist) plugins when pressing <kbd>Tab</kbd> with no selection in inline editor.
+* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed selection cannot be edited.
+* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error when used with a table with only header or footer rows.
+* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke.
+* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in Quirks Mode.
+* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property.
+
+## CKEditor 4.7
+
+**Important Notes:**
+
+* [#13793](http://dev.ckeditor.com/ticket/13793): The [`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is no longer preset by default.
+* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used).
+
+New Features:
+
+* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table Selection](http://ckeditor.com/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column).
+* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel.
+* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)!
+* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](http://ckeditor.com/addon/tabletools) plugin.
+* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](http://ckeditor.com/addon/contextmenu).
+* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument.
+* [#17010](http://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus `<br>` elements.
+
+Fixed Issues:
+
+* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error.
+* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor.
+* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: <kbd>Ctrl+Shift+V</kbd> blocked by [Copy Formatting](http://ckeditor.com/addon/copyformatting).
+* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled.
+* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin.
+* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor.
+* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work.
+* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor.
+* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](http://ckeditor.com/addon/pastefromword).
+* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `<span>` elements with `height` style stacked when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into lists with some corrupted data.
+* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click.
+* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link.
+* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `<div>` elements with a `<div>`.
+* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](http://ckeditor.com/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles.
+* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](http://ckeditor.com/addon/tableresize) on table header and footer.
+* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](http://ckeditor.com/addon/tableresize) plugin is active.
+* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop widgets into the editor.
+* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened.
+* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) plugin.
+* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar.
+* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited.
+* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)!
+* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct dependency.
+* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)!
+* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object.
+* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `<iframe>` element in a CKEditor setup with ACF turned off and without the [Iframe Dialog](http://ckeditor.com/addon/iframe) plugin. The issue was originally reported as a security issue by [Sriramk21](https://twitter.com/sriramk21) from Pegasystems and was later downgraded by the security team into a normal issue due to the requirement of having ACF turned off. Disabling [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) is against [security best practices](http://docs.ckeditor.com/#!/guide/dev_best_practices-section-security), so the problem described above has not been considered a security issue as such.
+
+Other Changes:
+
+* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](http://ckeditor.com/addon/wsc) plugins:
+       * Fixed: DOM Exception after clicking "Remove Language" on a selected word with enabled [Language](http://ckeditor.com/addon/language) plugin in SCAYT.
+* [#16958](http://dev.ckeditor.com/ticket/16958): Switched the default MathJax CDN provider for the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin from `cdn.mathjax.org` to [cdnjs](https://cdnjs.com/), due to closing of `cdn.mathjax.org` scheduled for April 30, 2017.
+* [#16954](http://dev.ckeditor.com/ticket/16954): Removed the paste dialog.
+* [#16982](http://dev.ckeditor.com/ticket/16982): Latest Safari now supports enhanced Clipboard API introduced in CKEditor 4.5.0.
+* [#17025](http://dev.ckeditor.com/ticket/17025): Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.4.2.
+
 ## CKEditor 4.6.2
 
 New Features:
@@ -428,7 +567,7 @@ New Features:
 * Notification system:
   * [#11580](http://dev.ckeditor.com/ticket/11580): Introduced the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification).
   * [#12810](http://dev.ckeditor.com/ticket/12810): Introduced a [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) for the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification) which simplifies displaying progress of many concurrent tasks.
-* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.deleteSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml).
+* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.extractSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-extractSelectedHtml).
 * [#12416](http://dev.ckeditor.com/ticket/12416): Added the [`widget.definition.upcastPriority`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority) property which gives more control over widget upcasting order to the widget author.
 * [#12036](http://dev.ckeditor.com/ticket/12036): Initialize the editor in [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) mode when the `<textarea>` element has a `readonly` attribute.
 * [#11905](http://dev.ckeditor.com/ticket/11905): The [`resize` event](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-resize) passes the current dimensions in its data.
index 62eb40784ba893930ed8c77f4a757ff3e5a13787..ee644205855c4513eea4c593207350f5b5484052 100644 (file)
@@ -7,7 +7,7 @@ CKEDITOR.editorConfig = function( config ) {
        \r
        // %REMOVE_START%\r
        // The configuration options below are needed when running CKEditor from source files.\r
-       config.plugins = 'dialogui,dialog,a11yhelp,dialogadvtab,basicstyles,button,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,floatingspace,listblock,richcombo,font,format,horizontalrule,htmlwriter,fakeobjects,iframe,wysiwygarea,image,indent,indentblock,indentlist,justify,link,list,liststyle,magicline,maximize,removeformat,showborders,sourcearea,tab,lineutils,clipboard,widgetselection,widget,oembed,brclear,html5audio,html5video';\r
+       config.plugins = 'dialogui,dialog,a11yhelp,dialogadvtab,basicstyles,button,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,floatingspace,listblock,richcombo,font,format,horizontalrule,htmlwriter,fakeobjects,iframe,wysiwygarea,image,indent,indentblock,indentlist,justify,link,list,liststyle,magicline,maximize,removeformat,showborders,sourcearea,tab,lineutils,notification,clipboard,widgetselection,widget,oembed,brclear,html5audio,html5video';\r
        config.skin = 'moonocolor';\r
        // %REMOVE_END%\r
 \r
index 0163912e1fd71b8a9fbda2b7b464b05d77ced0f4..cc7fb38b1c71f51ccf2b408614e4eb32881ea800 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 ( function() {
-       // Disable HC detection in WebKit. (#5429)
+       // Disable HC detection in WebKit. (http://dev.ckeditor.com/ticket/5429)
        if ( CKEDITOR.env.webkit )
                CKEDITOR.env.hc = false;
        else {
                hcDetect.appendTo( CKEDITOR.document.getHead() );
 
                // Update CKEDITOR.env.
-               // Catch exception needed sometimes for FF. (#4230)
+               // Catch exception needed sometimes for FF. (http://dev.ckeditor.com/ticket/4230)
                try {
                        var top = hcDetect.getComputedStyle( 'border-top-color' ),
                                right = hcDetect.getComputedStyle( 'border-right-color' );
 
                        // We need to check if getComputedStyle returned any value, because on FF
-                       // it returnes empty string if CKEditor is loaded in hidden iframe. (#11121)
+                       // it returnes empty string if CKEditor is loaded in hidden iframe. (http://dev.ckeditor.com/ticket/11121)
                        CKEDITOR.env.hc = !!( top && top == right );
                } catch ( e ) {
                        CKEDITOR.env.hc = false;
index 2756204464aeac4a81bf5898e61355ddc0022e44..95dd67ac0c74d715b18455cfb9e73b448368c02b 100644 (file)
@@ -126,7 +126,7 @@ CKEDITOR.remove = function( editor ) {
        };
 
        /**
-        * Returns a string will all CSS rules passed to the {@link CKEDITOR#addCss} method.
+        * Returns a string with all CSS rules passed to the {@link CKEDITOR#addCss} method.
         *
         * @returns {String} A string containing CSS rules.
         */
index 0446d24558cf699b8d556ecbd2f238f076f50ba5..128cea426c7a33442ce7b372e8895e67b91c8ef3 100644 (file)
@@ -47,7 +47,7 @@ CKEDITOR.command = function( editor, commandDefinition ) {
                if ( this.state == CKEDITOR.TRISTATE_DISABLED || !this.checkAllowed() )
                        return false;
 
-               if ( this.editorFocus ) // Give editor focus if necessary (#4355).
+               if ( this.editorFocus ) // Give editor focus if necessary (http://dev.ckeditor.com/ticket/4355).
                        editor.focus();
 
                if ( this.fire( 'exec' ) === false )
index 04927d060bfc5ca819386ff5133ca0812f890024..4e7a93e350add63d493bed7d34084143064ce611 100644 (file)
@@ -280,10 +280,10 @@ CKEDITOR.replaceClass = 'ckeditor';
                        outer = container;
                }
 
-               // Set as border box width. (#5353)
+               // Set as border box width. (http://dev.ckeditor.com/ticket/5353)
                outer.setSize( 'width', width, true );
 
-               // WebKit needs to refresh the iframe size to avoid rendering issues. (1/2) (#8348)
+               // WebKit needs to refresh the iframe size to avoid rendering issues. (1/2) (http://dev.ckeditor.com/ticket/8348)
                contentsFrame && ( contentsFrame.style.width = '1%' );
 
                // Get the height delta between the outer table and the content area.
@@ -295,7 +295,7 @@ CKEDITOR.replaceClass = 'ckeditor';
 
                contents.setStyle( 'height', resultContentsHeight + 'px' );
 
-               // WebKit needs to refresh the iframe size to avoid rendering issues. (2/2) (#8348)
+               // WebKit needs to refresh the iframe size to avoid rendering issues. (2/2) (http://dev.ckeditor.com/ticket/8348)
                contentsFrame && ( contentsFrame.style.width = '100%' );
 
                // Emit a resize event.
@@ -337,7 +337,7 @@ CKEDITOR.replaceClass = 'ckeditor';
                        // replacement will be done later in the editor creation lifecycle.
                        element.setStyle( 'visibility', 'hidden' );
 
-                       // #8031 Remember if textarea was required and remove the attribute.
+                       // http://dev.ckeditor.com/ticket/8031 Remember if textarea was required and remove the attribute.
                        editor._.required = element.hasAttribute( 'required' );
                        element.removeAttribute( 'required' );
                }
@@ -422,7 +422,7 @@ CKEDITOR.replaceClass = 'ckeditor';
                        topHtml: topHtml ? '<span id="' + editor.ui.spaceId( 'top' ) + '" class="cke_top cke_reset_all" role="presentation" style="height:auto">' + topHtml + '</span>' : '',
                        contentId: editor.ui.spaceId( 'contents' ),
                        bottomHtml: bottomHtml ? '<span id="' + editor.ui.spaceId( 'bottom' ) + '" class="cke_bottom cke_reset_all" role="presentation">' + bottomHtml + '</span>' : '',
-                       outerEl: CKEDITOR.env.ie ? 'span' : 'div'       // #9571
+                       outerEl: CKEDITOR.env.ie ? 'span' : 'div'       // http://dev.ckeditor.com/ticket/9571
                } ) );
 
                if ( elementMode == CKEDITOR.ELEMENT_MODE_REPLACE ) {
@@ -451,7 +451,7 @@ CKEDITOR.replaceClass = 'ckeditor';
                // Disable browser context menu for editor's chrome.
                container.disableContextMenu();
 
-               // Redirect the focus into editor for webkit. (#5713)
+               // Redirect the focus into editor for webkit. (http://dev.ckeditor.com/ticket/5713)
                CKEDITOR.env.webkit && container.on( 'focus', function() {
                        editor.focus();
                } );
index 51c5b19b913df1bc5b1350fbbdbc654b8b6a0c9f..ebf0babb98c0aed485c6a08dcd3d8594df232ebe 100644 (file)
@@ -262,7 +262,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.document.prototype, {
         * @param {String} html The HTML defining the document content.
         */
        write: function( html ) {
-               // Don't leave any history log in IE. (#5657)
+               // Don't leave any history log in IE. (http://dev.ckeditor.com/ticket/5657)
                this.$.open( 'text/html', 'replace' );
 
                // Support for custom document.domain in IE.
index 4c593ff8ffbad1a08dfe25c025c8266b4f93c15f..f4e258ae18b62241361889acdc0504f8b3f1050e 100644 (file)
@@ -41,7 +41,7 @@ CKEDITOR.dom.domObject.prototype = ( function() {
                        return function( domEvent ) {
                                // In FF, when reloading the page with the editor focused, it may
                                // throw an error because the CKEDITOR global is not anymore
-                               // available. So, we check it here first. (#2923)
+                               // available. So, we check it here first. (http://dev.ckeditor.com/ticket/2923)
                                if ( typeof CKEDITOR != 'undefined' )
                                        domObject.fire( eventName, new CKEDITOR.dom.event( domEvent ) );
                        };
@@ -138,7 +138,7 @@ CKEDITOR.dom.domObject.prototype = ( function() {
                        }
 
                        // Remove events from events object so fire() method will not call
-                       // listeners (#11400).
+                       // listeners (http://dev.ckeditor.com/ticket/11400).
                        CKEDITOR.event.prototype.removeAllListeners.call( this );
                }
        };
index e02ff179f8eaa27b96e7c715b75c7db3bc60baa7..31451f9b123064b6919038f3b5988d12b7d56c48 100644 (file)
@@ -308,7 +308,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                 */
                appendText: function( text ) {
                        // On IE8 it is impossible to append node to script tag, so we use its text.
-                       // On the contrary, on Safari the text property is unpredictable in links. (#13232)
+                       // On the contrary, on Safari the text property is unpredictable in links. (http://dev.ckeditor.com/ticket/13232)
                        if ( this.$.text != null && CKEDITOR.env.ie && CKEDITOR.env.version < 9 )
                                this.$.text += text;
                        else
@@ -377,7 +377,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
 
                        // In case of Internet Explorer, we must check if there is no background-color
                        // added to the element. In such case, we have to overwrite it to prevent "switching it off"
-                       // by a browser (#14667).
+                       // by a browser (http://dev.ckeditor.com/ticket/14667).
                        if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) {
                                tmpElement = new CKEDITOR.dom.element( 'div' );
 
@@ -452,7 +452,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                 */
                getHtml: function() {
                        var retval = this.$.innerHTML;
-                       // Strip <?xml:namespace> tags in IE. (#3341).
+                       // Strip <?xml:namespace> tags in IE. (http://dev.ckeditor.com/ticket/3341).
                        return CKEDITOR.env.ie ? retval.replace( /<\?[^>]*>/g, '' ) : retval;
                },
 
@@ -467,7 +467,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                getOuterHtml: function() {
                        if ( this.$.outerHTML ) {
                                // IE includes the <?xml:namespace> tag in the outerHTML of
-                               // namespaced element. So, we must strip it here. (#3341)
+                               // namespaced element. So, we must strip it here. (http://dev.ckeditor.com/ticket/3341)
                                return this.$.outerHTML.replace( /<\?[^>]*>/, '' );
                        }
 
@@ -618,7 +618,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                                        return this.$[ name ];
 
                                                case 'style':
-                                                       // IE does not return inline styles via getAttribute(). See #2947.
+                                                       // IE does not return inline styles via getAttribute(). See http://dev.ckeditor.com/ticket/2947.
                                                        return this.$.style.cssText;
 
                                                case 'contenteditable':
@@ -679,7 +679,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                function( propertyName ) {
                                        var style = this.getWindow().$.getComputedStyle( this.$, null );
 
-                                       // Firefox may return null if we call the above on a hidden iframe. (#9117)
+                                       // Firefox may return null if we call the above on a hidden iframe. (http://dev.ckeditor.com/ticket/9117)
                                        return style ? style.getPropertyValue( propertyName ) : '';
                                } : function( propertyName ) {
                                        return this.$.currentStyle[ CKEDITOR.tools.cssStyleToDomStyle( propertyName ) ];
@@ -972,7 +972,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                elementWindow, elementWindowFrame;
 
                        // Webkit and Opera report non-zero offsetHeight despite that
-                       // element is inside an invisible iframe. (#4542)
+                       // element is inside an invisible iframe. (http://dev.ckeditor.com/ticket/4542)
                        if ( isVisible && CKEDITOR.env.webkit ) {
                                elementWindow = this.getWindow();
 
@@ -1033,7 +1033,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                                        // attribute, which will be marked as "specified", even if the
                                                        // outerHTML of the element is not displaying the class attribute.
                                                        // Note : I was not able to reproduce it outside the editor,
-                                                       // but I've faced it while working on the TC of #1391.
+                                                       // but I've faced it while working on the TC of http://dev.ckeditor.com/ticket/1391.
                                                        if ( this.getAttribute( 'class' ) ) {
                                                                return true;
                                                        }
@@ -1057,7 +1057,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                var attrs = this.$.attributes,
                                        attrsNum = attrs.length;
 
-                               // The _moz_dirty attribute might get into the element after pasting (#5455)
+                               // The _moz_dirty attribute might get into the element after pasting (http://dev.ckeditor.com/ticket/5455)
                                var execludeAttrs = { 'data-cke-expando': 1, _moz_dirty: 1 };
 
                                return attrsNum > 0 && ( attrsNum > 2 || !execludeAttrs[ attrs[ 0 ].nodeName ] || ( attrsNum == 2 && !execludeAttrs[ attrs[ 1 ].nodeName ] ) );
@@ -1164,7 +1164,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                        function mergeElements( element, sibling, isNext ) {
                                if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT ) {
                                        // Jumping over bookmark nodes and empty inline elements, e.g. <b><i></i></b>,
-                                       // queuing them to be moved later. (#5567)
+                                       // queuing them to be moved later. (http://dev.ckeditor.com/ticket/5567)
                                        var pendingNodes = [];
 
                                        while ( sibling.data( 'cke-bookmark' ) || sibling.isEmptyInlineRemoveable() ) {
@@ -1194,7 +1194,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                        }
 
                        return function( inlineOnly ) {
-                               // Merge empty links and anchors also. (#5567)
+                               // Merge empty links and anchors also. (http://dev.ckeditor.com/ticket/5567)
                                if ( !( inlineOnly === false || CKEDITOR.dtd.$removeEmpty[ this.getName() ] || this.is( 'a' ) ) ) {
                                        return;
                                }
@@ -1253,7 +1253,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                };
                        } else if ( CKEDITOR.env.ie8Compat && CKEDITOR.env.secure ) {
                                return function( name, value ) {
-                                       // IE8 throws error when setting src attribute to non-ssl value. (#7847)
+                                       // IE8 throws error when setting src attribute to non-ssl value. (http://dev.ckeditor.com/ticket/7847)
                                        if ( name == 'src' && value.match( /^http:\/\// ) ) {
                                                try {
                                                        standard.apply( this, arguments );
@@ -1501,7 +1501,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                        clientLeft = $docElem.clientLeft || body.$.clientLeft || 0,
                                        needAdjustScrollAndBorders = true;
 
-                               // #3804: getBoundingClientRect() works differently on IE and non-IE
+                               // http://dev.ckeditor.com/ticket/3804: getBoundingClientRect() works differently on IE and non-IE
                                // browsers, regarding scroll positions.
                                //
                                // On IE, the top position of the <html> element is always 0, no matter
@@ -1516,12 +1516,12 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                        needAdjustScrollAndBorders = ( quirks && inBody ) || ( !quirks && inDocElem );
                                }
 
-                               // #12747.
+                               // http://dev.ckeditor.com/ticket/12747.
                                if ( needAdjustScrollAndBorders ) {
                                        var scrollRelativeLeft,
                                                scrollRelativeTop;
 
-                                       // See #12758 to know more about document.(documentElement|body).scroll(Left|Top) in Webkit.
+                                       // See http://dev.ckeditor.com/ticket/12758 to know more about document.(documentElement|body).scroll(Left|Top) in Webkit.
                                        if ( CKEDITOR.env.webkit || ( CKEDITOR.env.ie && CKEDITOR.env.version >= 12 ) ) {
                                                scrollRelativeLeft = body.$.scrollLeft || $docElem.scrollLeft;
                                                scrollRelativeTop = body.$.scrollTop || $docElem.scrollTop;
@@ -1603,7 +1603,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                                        parent.$.clientHeight && parent.$.clientHeight < parent.$.scrollHeight;
 
                                // Skip body element, which will report wrong clientHeight when containing
-                               // floated content. (#9523)
+                               // floated content. (http://dev.ckeditor.com/ticket/9523)
                                if ( overflowed && !parent.is( 'body' ) )
                                        this.scrollIntoParent( parent, alignToTop, 1 );
 
@@ -1677,7 +1677,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                        }
 
                        // [WebKit] Reset stored scrollTop value to not break scrollIntoView() method flow.
-                       // Scrolling breaks when range.select() is used right after element.scrollIntoView(). (#14659)
+                       // Scrolling breaks when range.select() is used right after element.scrollIntoView(). (http://dev.ckeditor.com/ticket/14659)
                        if ( CKEDITOR.env.webkit ) {
                                var editor = this.getEditor( false );
 
@@ -1857,7 +1857,7 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab
                        this.getParent( true ) && this.$.parentNode.replaceChild( newNode.$, this.$ );
                        newNode.$[ 'data-cke-expando' ] = this.$[ 'data-cke-expando' ];
                        this.$ = newNode.$;
-                       // Bust getName's cache. (#8663)
+                       // Bust getName's cache. (http://dev.ckeditor.com/ticket/8663)
                        delete this.getName;
                },
 
index 1a3aed0924335c00b3e8faded9f832962e2e8974..dd50f103b50f5de54a9192b1ef48395f17702419 100644 (file)
                // Backward compact.
                root = root || startNode.getDocument().getBody();
 
+               // Assign root value if startNode is null (#424)(https://dev.ckeditor.com/ticket/17028).
+               if ( !e ) {
+                       e = root;
+               }
+
                do {
                        if ( e.type == CKEDITOR.NODE_ELEMENT ) {
                                elements.push( e );
@@ -84,7 +89,7 @@
                                                block = e;
 
                                        if ( pathBlockLimitElements[ elementName ] ) {
-                                               // End level DIV is considered as the block, if no block is available. (#525)
+                                               // End level DIV is considered as the block, if no block is available. (http://dev.ckeditor.com/ticket/525)
                                                // But it must NOT be the root element (checked above).
                                                if ( !block && elementName == 'div' && !checkHasBlock( e ) )
                                                        block = e;
@@ -181,7 +186,9 @@ CKEDITOR.dom.elementPath.prototype = {
         * @returns {CKEDITOR.dom.element} The first matched dom element or `null`.
         */
        contains: function( query, excludeRoot, fromTop ) {
-               var evaluator;
+               var i = 0,
+                       evaluator;
+
                if ( typeof query == 'string' )
                        evaluator = function( node ) {
                                return node.getName() == query;
@@ -203,14 +210,21 @@ CKEDITOR.dom.elementPath.prototype = {
 
                var elements = this.elements,
                        length = elements.length;
-               excludeRoot && length--;
+
+               if ( excludeRoot ) {
+                       if ( !fromTop ) {
+                               length -= 1;
+                       } else {
+                               i += 1;
+                       }
+               }
 
                if ( fromTop ) {
                        elements = Array.prototype.slice.call( elements, 0 );
                        elements.reverse();
                }
 
-               for ( var i = 0; i < length; i++ ) {
+               for ( ; i < length; i++ ) {
                        if ( evaluator( elements[ i ] ) )
                                return elements[ i ];
                }
index 50056ec9e17cd467150793d3f6b04fdeec2d85e4..9176e332171c446fcc65ec87f2bd8c29be2021ce 100644 (file)
@@ -45,7 +45,7 @@
                 */
                this.forceBrBreak = 0;
 
-               // (#3730).
+               // (http://dev.ckeditor.com/ticket/3730).
                /**
                 * Whether to include `<br>` elements in the enlarged range. Should be
                 * set to `false` when using the iterator in the {@link CKEDITOR#ENTER_BR} mode.
@@ -85,7 +85,7 @@
         */
 
        var beginWhitespaceRegex = /^[\r\n\t ]+$/,
-               // Ignore bookmark nodes.(#3783)
+               // Ignore bookmark nodes.(http://dev.ckeditor.com/ticket/3783)
                bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true ),
                whitespacesGuard = CKEDITOR.dom.walker.whitespaces( true ),
                skipGuard = function( node ) {
                                                }
 
                                                // The range must finish right before the boundary,
-                                               // including possibly skipped empty spaces. (#1603)
+                                               // including possibly skipped empty spaces. (http://dev.ckeditor.com/ticket/1603)
                                                if ( range ) {
                                                        range.setEndAt( currentNode, CKEDITOR.POSITION_BEFORE_START );
 
                                                        // The found boundary must be set as the next one at this
-                                                       // point. (#1717)
+                                                       // point. (http://dev.ckeditor.com/ticket/1717)
                                                        if ( nodeName != 'br' ) {
                                                                this._.nextNode = currentNode;
                                                        }
                                                        closeRange = 1;
                                                        includeNode = 0;
                                                        isLast = isLast || ( parentNode.equals( lastNode ) );
-                                                       // Make sure range includes bookmarks at the end of the block. (#7359)
+                                                       // Make sure range includes bookmarks at the end of the block. (http://dev.ckeditor.com/ticket/7359)
                                                        range.setEndAt( parentNode, CKEDITOR.POSITION_BEFORE_END );
                                                        break;
                                                }
                        // Here we are checking in guard function whether current element
                        // reach lastNode(default behaviour) and root node to prevent against
                        // getting out of editor instance root DOM object.
-                       // #12484
+                       // http://dev.ckeditor.com/ticket/12484
                        function guardFunction( node ) {
                                return !( node.equals( lastNode ) || node.equals( rootNode ) );
                        }
                        // Indicate at least one of the range boundaries is inside a preformat block.
                        touchPre,
 
-                       // (#12178)
+                       // (http://dev.ckeditor.com/ticket/12178)
                        // Remember if following situation takes place:
                        // * startAtInnerBoundary: <p>foo[</p>...
                        // * endAtInnerBoundary: ...<p>]bar</p>
                        // Note that we test only if path block exist, because we must properly shrink
                        // range containing table and/or table cells.
                        // Note: When range is collapsed there's no way it can be shrinked.
-                       // By checking if range is collapsed we also prevent #12308.
+                       // By checking if range is collapsed we also prevent http://dev.ckeditor.com/ticket/12308.
                        startPath = range.startPath(),
                        endPath = range.endPath(),
                        startAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, startPath.block ),
                        endAtInnerBoundary = !range.collapsed && rangeAtInnerBlockBoundary( range, endPath.block, 1 );
 
-               // Shrink the range to exclude harmful "noises" (#4087, #4450, #5435).
+               // Shrink the range to exclude harmful "noises" (http://dev.ckeditor.com/ticket/4087, http://dev.ckeditor.com/ticket/4450, http://dev.ckeditor.com/ticket/5435).
                range.shrink( CKEDITOR.SHRINK_ELEMENT, true );
 
                if ( startAtInnerBoundary )
 
                        // We may have an empty text node at the end of block due to [3770].
                        // If that node is the lastNode, it would cause our logic to leak to the
-                       // next block.(#3887)
+                       // next block.(http://dev.ckeditor.com/ticket/3887)
                        if ( this._.lastNode && this._.lastNode.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( this._.lastNode.getText() ) && this._.lastNode.getParent().isBlockBoundary() ) {
                                var testRange = this.range.clone();
                                testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END );
index 51bba1899d690b1cf680e05be76524871b19e612..69b223e68622305d9076211ee6916cfd1dd0b10b 100644 (file)
@@ -200,7 +200,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, {
                }
 
                // IE8 rename HTML5 nodes by adding `:` at the begging of the tag name when the node is cloned,
-               // so `<figure>` will be `<:figure>` after 'cloneNode'. We need to fix it (#13101).
+               // so `<figure>` will be `<:figure>` after 'cloneNode'. We need to fix it (http://dev.ckeditor.com/ticket/13101).
                function renameNodes( node ) {
                        if ( node.type != CKEDITOR.NODE_ELEMENT && node.type != CKEDITOR.NODE_DOCUMENT_FRAGMENT )
                                return;
@@ -804,7 +804,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, {
                                } else if ( trimmed.length < originalLength ) {
                                        child.split( originalLength - trimmed.length );
 
-                                       // IE BUG: child.remove() may raise JavaScript errors here. (#81)
+                                       // IE BUG: child.remove() may raise JavaScript errors here. (http://dev.ckeditor.com/ticket/81)
                                        this.$.removeChild( this.$.firstChild );
                                }
                        }
@@ -829,7 +829,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, {
                                        child.split( trimmed.length );
 
                                        // IE BUG: child.getNext().remove() may raise JavaScript errors here.
-                                       // (#81)
+                                       // (http://dev.ckeditor.com/ticket/81)
                                        this.$.lastChild.parentNode.removeChild( this.$.lastChild );
                                }
                        }
@@ -840,7 +840,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, {
                        child = this.$.lastChild;
 
                        if ( child && child.type == 1 && child.nodeName.toLowerCase() == 'br' ) {
-                               // Use "eChildNode.parentNode" instead of "node" to avoid IE bug (#324).
+                               // Use "eChildNode.parentNode" instead of "node" to avoid IE bug (http://dev.ckeditor.com/ticket/324).
                                child.parentNode.removeChild( child );
                        }
                }
@@ -874,7 +874,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, {
                if ( this.type != CKEDITOR.NODE_ELEMENT )
                        element = this.getParent();
 
-               // Prevent Edge crash (#13609, #13919).
+               // Prevent Edge crash (http://dev.ckeditor.com/ticket/13609, http://dev.ckeditor.com/ticket/13919).
                if ( CKEDITOR.env.edge && element && element.is( 'textarea', 'input' ) ) {
                        checkOnlyAttributes = true;
                }
index 165a41531c2a7a68bd41bd7e625942a956cae260..07af314652c9e22d7829fac19a6ae1a5205a46b9 100644 (file)
@@ -5,7 +5,7 @@
 
 /**
  * Represents a list of {@link CKEDITOR.dom.node} objects.
- * It's a wrapper for native nodes list.
+ * It is a wrapper for a native nodes list.
  *
  *             var nodeList = CKEDITOR.document.getBody().getChildren();
  *             alert( nodeList.count() ); // number [0;N]
@@ -20,7 +20,7 @@ CKEDITOR.dom.nodeList = function( nativeList ) {
 
 CKEDITOR.dom.nodeList.prototype = {
        /**
-        * Get count of nodes in this list.
+        * Gets the count of nodes in this list.
         *
         * @returns {Number}
         */
@@ -29,7 +29,7 @@ CKEDITOR.dom.nodeList.prototype = {
        },
 
        /**
-        * Get node from the list.
+        * Gets the node from the list.
         *
         * @returns {CKEDITOR.dom.node}
         */
@@ -39,5 +39,16 @@ CKEDITOR.dom.nodeList.prototype = {
 
                var $node = this.$[ index ];
                return $node ? new CKEDITOR.dom.node( $node ) : null;
+       },
+
+       /**
+        * Returns a node list as an array.
+        *
+        * @returns {CKEDITOR.dom.node[]}
+        */
+       toArray: function() {
+               return CKEDITOR.tools.array.map( this.$, function( nativeEl ) {
+                       return new CKEDITOR.dom.node( nativeEl );
+               } );
        }
 };
index 64070743a30d29214605d9ab6a6f5b67fcc40366..742c24c6586010c06370b67099d12cf8515b4a20 100644 (file)
@@ -204,9 +204,14 @@ CKEDITOR.dom.range = function( root ) {
                // This allows us to not think about startNode == endNode case later on.
                // We do that only when cloning, because in other cases we can safely split this text node
                // and hence we can easily handle this case as many others.
-               if ( isClone && endNode.type == CKEDITOR.NODE_TEXT && startNode.equals( endNode ) ) {
-                       startNode = range.document.createText( startNode.substring( startOffset, endOffset ) );
-                       docFrag.append( startNode );
+
+               // We need to handle situation when selection startNode is type of NODE_ELEMENT (#426).
+               if ( isClone &&
+                       endNode.type == CKEDITOR.NODE_TEXT &&
+                       ( startNode.equals( endNode ) || ( startNode.type === CKEDITOR.NODE_ELEMENT && startNode.getFirst().equals( endNode ) ) ) ) {
+
+                       // Here we should always be inside one text node.
+                       docFrag.append( range.document.createText( endNode.substring( startOffset, endOffset ) ) );
                        return;
                }
 
@@ -214,7 +219,7 @@ CKEDITOR.dom.range = function( root ) {
                // second part. The removal will be handled by the rest of the code.
                if ( endNode.type == CKEDITOR.NODE_TEXT ) {
                        // If Extract or Delete we can split the text node,
-                       // but if Clone (2), then we cannot modify the DOM (#11586) so we mark the text node for cloning.
+                       // but if Clone (2), then we cannot modify the DOM (http://dev.ckeditor.com/ticket/11586) so we mark the text node for cloning.
                        if ( !isClone ) {
                                endNode = endNode.split( endOffset );
                        } else {
@@ -243,7 +248,7 @@ CKEDITOR.dom.range = function( root ) {
                // be handled by the rest of the code .
                if ( startNode.type == CKEDITOR.NODE_TEXT ) {
                        // If Extract or Delete we can split the text node,
-                       // but if Clone (2), then we cannot modify the DOM (#11586) so we mark
+                       // but if Clone (2), then we cannot modify the DOM (http://dev.ckeditor.com/ticket/11586) so we mark
                        // the text node for cloning.
                        if ( !isClone ) {
                                startNode.split( startOffset );
@@ -373,7 +378,7 @@ CKEDITOR.dom.range = function( root ) {
                                // If we don't do that, in next iterations nodes will be appended to wrong parent.
                                //
                                // We can just take first child because the algorithm guarantees
-                               // that this will be the only child on this level. (#13568)
+                               // that this will be the only child on this level. (http://dev.ckeditor.com/ticket/13568)
                                levelParent = levelParent.getChild( 0 );
                        }
                }
@@ -405,7 +410,7 @@ CKEDITOR.dom.range = function( root ) {
 
                                // When Extracting, move the removed node to the docFrag.
                                if ( isExtract ) {
-                                       newParent.append( node );
+                                       newParent.append( node, toStart );
                                }
                        }
 
@@ -574,7 +579,7 @@ CKEDITOR.dom.range = function( root ) {
                        // Tolerant bogus br when checking at the end of block.
                        // Reject any text node unless it's being bookmark
                        // OR it's spaces.
-                       // Reject any element unless it's being invisible empty. (#3883)
+                       // Reject any element unless it's being invisible empty. (http://dev.ckeditor.com/ticket/3883)
                        return !checkStart && isBogus( node ) ||
                                node.type == CKEDITOR.NODE_ELEMENT &&
                                node.is( CKEDITOR.dtd.$removeEmpty );
@@ -1052,7 +1057,7 @@ CKEDITOR.dom.range = function( root ) {
                        }
 
                        // Sometimes the endNode will come right before startNode for collapsed
-                       // ranges. Fix it. (#3780)
+                       // ranges. Fix it. (http://dev.ckeditor.com/ticket/3780)
                        if ( startNode.getPosition( endNode ) & CKEDITOR.POSITION_FOLLOWING )
                                startNode = endNode;
 
@@ -1324,13 +1329,13 @@ CKEDITOR.dom.range = function( root ) {
 
                                                                isWhiteSpace = /[\s\ufeff]$/.test( siblingText );
                                                        } else {
-                                                               // #12221 (Chrome) plus #11111 (Safari).
+                                                               // http://dev.ckeditor.com/ticket/12221 (Chrome) plus http://dev.ckeditor.com/ticket/11111 (Safari).
                                                                var offsetWidth0 = CKEDITOR.env.webkit ? 1 : 0;
 
                                                                // If this is a visible element.
                                                                // We need to check for the bookmark attribute because IE insists on
-                                                               // rendering the display:none nodes we use for bookmarks. (#3363)
-                                                               // Line-breaks (br) are rendered with zero width, which we don't want to include. (#7041)
+                                                               // rendering the display:none nodes we use for bookmarks. (http://dev.ckeditor.com/ticket/3363)
+                                                               // Line-breaks (br) are rendered with zero width, which we don't want to include. (http://dev.ckeditor.com/ticket/7041)
                                                                if ( ( sibling.$.offsetWidth > offsetWidth0 || excludeBrs && sibling.is( 'br' ) ) && !sibling.data( 'cke-bookmark' ) ) {
                                                                        // We'll accept it only if we need
                                                                        // whitespace, and this is an inline
@@ -1399,7 +1404,7 @@ CKEDITOR.dom.range = function( root ) {
 
                                        // Process the end boundary. This is basically the same
                                        // code used for the start boundary, with small changes to
-                                       // make it work in the oposite side (to the right). This
+                                       // make it work in the opposite side (to the right). This
                                        // makes it difficult to reuse the code here. So, fixes to
                                        // the above code are likely to be replicated here.
 
@@ -1482,7 +1487,7 @@ CKEDITOR.dom.range = function( root ) {
                                                        }
                                                }
                                        } else {
-                                               // Get the node right after the boudary to be checked
+                                               // Get the node right after the boundary to be checked
                                                // first.
                                                sibling = container.getChild( offset );
 
@@ -1525,8 +1530,8 @@ CKEDITOR.dom.range = function( root ) {
                                                        } else if ( sibling.type == CKEDITOR.NODE_ELEMENT ) {
                                                                // If this is a visible element.
                                                                // We need to check for the bookmark attribute because IE insists on
-                                                               // rendering the display:none nodes we use for bookmarks. (#3363)
-                                                               // Line-breaks (br) are rendered with zero width, which we don't want to include. (#7041)
+                                                               // rendering the display:none nodes we use for bookmarks. (http://dev.ckeditor.com/ticket/3363)
+                                                               // Line-breaks (br) are rendered with zero width, which we don't want to include. (http://dev.ckeditor.com/ticket/7041)
                                                                if ( ( sibling.$.offsetWidth > 0 || excludeBrs && sibling.is( 'br' ) ) && !sibling.data( 'cke-bookmark' ) ) {
                                                                        // We'll accept it only if we need
                                                                        // whitespace, and this is an inline
@@ -1617,7 +1622,7 @@ CKEDITOR.dom.range = function( root ) {
                                                boundaryGuard = function( node ) {
                                                        // We should not check contents of non-editable elements. It may happen
                                                        // that inline widget has display:table child which should not block range#enlarge.
-                                                       // When encoutered non-editable element...
+                                                       // When encountered non-editable element...
                                                        if ( node.type == CKEDITOR.NODE_ELEMENT && node.getAttribute( 'contenteditable' ) == 'false' ) {
                                                                if ( inNonEditable ) {
                                                                        // ... in which we already were, reset it (because we're leaving it) and return.
@@ -1639,7 +1644,7 @@ CKEDITOR.dom.range = function( root ) {
                                                                blockBoundary = node;
                                                        return retval;
                                                },
-                                               // Record the encounted 'tailBr' for later use.
+                                               // Record the encountered 'tailBr' for later use.
                                                tailBrGuard = function( node ) {
                                                        var retval = boundaryGuard( node );
                                                        if ( !retval && node.is && node.is( 'br' ) )
@@ -1660,7 +1665,7 @@ CKEDITOR.dom.range = function( root ) {
                                        this.setStartAt( blockBoundary, !blockBoundary.is( 'br' ) && ( !enlargeable && this.checkStartOfBlock() ||
                                                enlargeable && blockBoundary.contains( enlargeable ) ) ? CKEDITOR.POSITION_AFTER_START : CKEDITOR.POSITION_AFTER_END );
 
-                                       // Avoid enlarging the range further when end boundary spans right after the BR. (#7490)
+                                       // Avoid enlarging the range further when end boundary spans right after the BR. (http://dev.ckeditor.com/ticket/7490)
                                        if ( unit == CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS ) {
                                                var theRange = this.clone();
                                                walker = new CKEDITOR.dom.walker( theRange );
@@ -1715,18 +1720,28 @@ CKEDITOR.dom.range = function( root ) {
                },
 
                /**
-                * Descrease the range to make sure that boundaries
-                * always anchor beside text nodes or innermost element.
+                * Decreases the range to make sure that boundaries
+                * always anchor beside text nodes or the innermost element.
                 *
                 * @param {Number} mode The shrinking mode ({@link CKEDITOR#SHRINK_ELEMENT} or {@link CKEDITOR#SHRINK_TEXT}).
                 *
-                * * {@link CKEDITOR#SHRINK_ELEMENT} - Shrink the range boundaries to the edge of the innermost element.
-                * * {@link CKEDITOR#SHRINK_TEXT} - Shrink the range boudaries to anchor by the side of enclosed text
-                *     node, range remains if there's no text nodes on boundaries at all.
-                *
-                * @param {Boolean} selectContents Whether result range anchors at the inner OR outer boundary of the node.
+                * * {@link CKEDITOR#SHRINK_ELEMENT} &ndash; Shrinks the range boundaries to the edge of the innermost element.
+                * * {@link CKEDITOR#SHRINK_TEXT} &ndash; Shrinks the range boundaries to anchor by the side of enclosed text
+                *     node. The range remains if there are no text nodes available on boundaries.
+                *
+                * @param {Boolean} [selectContents=false] Whether the resulting range anchors at the inner OR outer boundary of the node.
+                * @param {Boolean/Object} [options=true] If this parameter is of a Boolean type, it is treated as
+                * `options.shrinkOnBlockBoundary`. This parameter was added in 4.7.0.
+                * @param {Boolean} [options.shrinkOnBlockBoundary=true] Whether the block boundary should be included in
+                * the shrunk range.
+                * @param {Boolean} [options.skipBogus=false] Whether bogus `<br>` elements should be ignored while
+                * `mode` is set to {@link CKEDITOR#SHRINK_TEXT}. This option was added in 4.7.0.
                 */
-               shrink: function( mode, selectContents, shrinkOnBlockBoundary ) {
+               shrink: function( mode, selectContents, options ) {
+                       var shrinkOnBlockBoundary = typeof options === 'boolean' ? options :
+                               ( options && typeof options.shrinkOnBlockBoundary === 'boolean' ? options.shrinkOnBlockBoundary : true ),
+                               skipBogus = options && options.skipBogus;
+
                        // Unable to shrink a collapsed range.
                        if ( !this.collapsed ) {
                                mode = mode || CKEDITOR.SHRINK_TEXT;
@@ -1749,7 +1764,7 @@ CKEDITOR.dom.range = function( root ) {
                                                walkerRange.setStartAfter( startContainer );
                                        else {
                                                // Enlarge the range properly to avoid walker making
-                                               // DOM changes caused by triming the text nodes later.
+                                               // DOM changes caused by trimming the text nodes later.
                                                walkerRange.setStartBefore( startContainer );
                                                moveStart = 0;
                                        }
@@ -1767,7 +1782,8 @@ CKEDITOR.dom.range = function( root ) {
                                }
 
                                var walker = new CKEDITOR.dom.walker( walkerRange ),
-                                       isBookmark = CKEDITOR.dom.walker.bookmark();
+                                       isBookmark = CKEDITOR.dom.walker.bookmark(),
+                                       isBogus = CKEDITOR.dom.walker.bogus();
 
                                walker.evaluator = function( node ) {
                                        return node.type == ( mode == CKEDITOR.SHRINK_ELEMENT ? CKEDITOR.NODE_ELEMENT : CKEDITOR.NODE_TEXT );
@@ -1775,6 +1791,11 @@ CKEDITOR.dom.range = function( root ) {
 
                                var currentElement;
                                walker.guard = function( node, movingOut ) {
+                                       // Skipping bogus before other cases (http://dev.ckeditor.com/ticket/17010).
+                                       if ( skipBogus && isBogus( node ) ) {
+                                               return true;
+                                       }
+
                                        if ( isBookmark( node ) )
                                                return true;
 
@@ -1816,7 +1837,7 @@ CKEDITOR.dom.range = function( root ) {
 
                /**
                 * Inserts a node at the start of the range. The range will be expanded
-                * the contain the node.
+                * to contain the node.
                 *
                 * @param {CKEDITOR.dom.node} node
                 */
@@ -1843,7 +1864,7 @@ CKEDITOR.dom.range = function( root ) {
                },
 
                /**
-                * Moves the range to given position according to specified node.
+                * Moves the range to a given position according to the specified node.
                 *
                 *              // HTML: <p>Foo <b>bar</b></p>
                 *              range.moveToPosition( elB, CKEDITOR.POSITION_BEFORE_START );
@@ -1851,7 +1872,7 @@ CKEDITOR.dom.range = function( root ) {
                 *
                 * See also {@link #setStartAt} and {@link #setEndAt}.
                 *
-                * @param {CKEDITOR.dom.node} node The node according to which position will be set.
+                * @param {CKEDITOR.dom.node} node The node according to which the position will be set.
                 * @param {Number} position One of {@link CKEDITOR#POSITION_BEFORE_START},
                 * {@link CKEDITOR#POSITION_AFTER_START}, {@link CKEDITOR#POSITION_BEFORE_END},
                 * {@link CKEDITOR#POSITION_AFTER_END}.
@@ -2118,7 +2139,7 @@ CKEDITOR.dom.range = function( root ) {
                        // So even if the initial range was placed before the bogus <br>, after creating the bookmark it
                        // is placed before the bookmark.
                        // Fortunately, getBogus() is able to skip the bookmark so it finds the bogus <br> in this case.
-                       // We remove incorrectly placed one and add a brand new one. (#13001)
+                       // We remove incorrectly placed one and add a brand new one. (http://dev.ckeditor.com/ticket/13001)
                        var bogus = fixedBlock.getBogus();
                        if ( bogus ) {
                                bogus.remove();
@@ -2340,7 +2361,7 @@ CKEDITOR.dom.range = function( root ) {
                                        this.trim( 0, 1 );
                        }
 
-                       // Antecipate the trim() call here, so the walker will not make
+                       // Anticipate the trim() call here, so the walker will not make
                        // changes to the DOM, which would not get reflected into this
                        // range otherwise.
                        this.trim();
@@ -2379,7 +2400,7 @@ CKEDITOR.dom.range = function( root ) {
                                        this.trim( 1, 0 );
                        }
 
-                       // Antecipate the trim() call here, so the walker will not make
+                       // Anticipate the trim() call here, so the walker will not make
                        // changes to the DOM, which would not get reflected into this
                        // range otherwise.
                        this.trim();
@@ -2636,7 +2657,7 @@ CKEDITOR.dom.range = function( root ) {
                getEnclosedNode: function() {
                        var walkerRange = this.clone();
 
-                       // Optimize and analyze the range to avoid DOM destructive nature of walker. (#5780)
+                       // Optimize and analyze the range to avoid DOM destructive nature of walker. (http://dev.ckeditor.com/ticket/5780)
                        walkerRange.optimize();
                        if ( walkerRange.startContainer.type != CKEDITOR.NODE_ELEMENT || walkerRange.endContainer.type != CKEDITOR.NODE_ELEMENT )
                                return null;
@@ -2702,6 +2723,53 @@ CKEDITOR.dom.range = function( root ) {
                 */
                getPreviousEditableNode: getNextEditableNode( 1 ),
 
+               /**
+                * Returns any table element, like `td`, `tbody`, `table` etc. from a given range. The element
+                * is returned only if the range is contained within one table (might be a nested
+                * table, but it cannot be two different tables on the same DOM level).
+                *
+                * @private
+                * @since 4.7
+                * @param {Object} [tableElements] Mapping of element names that should be considered.
+                * @returns {CKEDITOR.dom.element/null}
+                */
+               _getTableElement: function( tableElements ) {
+                       tableElements = tableElements || {
+                               td: 1,
+                               th: 1,
+                               tr: 1,
+                               tbody: 1,
+                               thead: 1,
+                               tfoot: 1,
+                               table: 1
+                       };
+
+                       var start = this.startContainer,
+                               end = this.endContainer,
+                               startTable = start.getAscendant( 'table', true ),
+                               endTable = end.getAscendant( 'table', true );
+
+                       // Super weird edge case in Safari: if there is a table with only one cell inside and that cell
+                       // is selected, then the end boundary of the table is moved into editor's editable.
+                       // That case is also present when selecting the last cell inside nested table.
+                       if ( CKEDITOR.env.safari && startTable && end.equals( this.root ) ) {
+                               return start.getAscendant( tableElements, true );
+                       }
+
+                       if ( this.getEnclosedNode() ) {
+                               return this.getEnclosedNode().getAscendant( tableElements, true );
+                       }
+
+                       // Ensure that selection starts and ends in the same table or one of the table is inside the other.
+                       if ( startTable && endTable && ( startTable.equals( endTable ) || startTable.contains( endTable ) ||
+                               endTable.contains( startTable ) ) ) {
+
+                               return start.getAscendant( tableElements, true );
+                       }
+
+                       return null;
+               },
+
                /**
                 * Scrolls the start of current range into view.
                 */
@@ -2819,10 +2887,10 @@ CKEDITOR.dom.range = function( root ) {
                                                continue;
                                        }
 
-                                       // It's not enough to get elements from common ancestor, because it migth contain too many matches.
+                                       // It's not enough to get elements from common ancestor, because it might contain too many matches.
                                        // We need to ensure that returned items are between boundary points.
                                        isStartGood = ( curItem.getPosition( boundaries.startNode ) & CKEDITOR.POSITION_FOLLOWING ) || boundaries.startNode.equals( curItem );
-                                       isEndGood = ( curItem.getPosition( boundaries.endNode ) & ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IS_CONTAINED ) );
+                                       isEndGood = ( curItem.getPosition( boundaries.endNode ) & ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IS_CONTAINED ) ) || boundaries.endNode.equals( curItem );
 
                                        if ( isStartGood && isEndGood ) {
                                                ret.push( curItem );
@@ -2834,6 +2902,62 @@ CKEDITOR.dom.range = function( root ) {
                }
        };
 
+       /**
+        * Merges every subsequent range in given set, returning a smaller array of ranges.
+        *
+        * Note that each range in the returned value will be enlarged with `CKEDITOR.ENLARGE_ELEMENT` value.
+        *
+        * @since 4.7.0
+        * @static
+        * @param {CKEDITOR.dom.range[]} ranges
+        * @returns {CKEDITOR.dom.range[]} Set of merged ranges.
+        * @member CKEDITOR.dom.range
+        */
+       CKEDITOR.dom.range.mergeRanges = function( ranges ) {
+               return CKEDITOR.tools.array.reduce( ranges, function( ret, rng ) {
+                       // Last range ATM.
+                       var lastRange = ret[ ret.length - 1 ],
+                               isContinuation = false;
+
+                       // Make a clone, we don't want to modify input.
+                       rng = rng.clone();
+                       rng.enlarge( CKEDITOR.ENLARGE_ELEMENT );
+
+                       if ( lastRange ) {
+                               // The trick is to create a range spanning the gap between the two ranges. Then iterate over
+                               // each node found in this gap. If it contains anything other than whitespace, then it means it
+                               // is not a continuation.
+                               var gapRange = new CKEDITOR.dom.range( rng.root ),
+                                       walker = new CKEDITOR.dom.walker( gapRange ),
+                                       isWhitespace = CKEDITOR.dom.walker.whitespaces(),
+                                       nodeInBetween;
+
+                               gapRange.setStart( lastRange.endContainer, lastRange.endOffset );
+                               gapRange.setEnd( rng.startContainer, rng.startOffset );
+
+                               nodeInBetween = walker.next();
+
+                               while ( isWhitespace( nodeInBetween ) || rng.endContainer.equals( nodeInBetween ) ) {
+                                       // We don't care about whitespaces, and range container. Also we skip the endContainer,
+                                       // as it will also be provided by the iterator (as it visits it's opening tag).
+                                       nodeInBetween = walker.next();
+                               }
+
+                               // Simply, if anything has been found there's a content in between the two.
+                               isContinuation = !nodeInBetween;
+                       }
+
+                       if ( isContinuation ) {
+                               // If last range ends, where the current range starts, then let's merge it.
+                               lastRange.setEnd( rng.endContainer, rng.endOffset );
+                       } else {
+                               // In other case just push cur range into the stack.
+                               ret.push( rng );
+                       }
+
+                       return ret;
+               }, [] );
+       };
 
 } )();
 
index 250dfd9aff7bb8519aebbb86470c1f452400caa3..15ccb88882cc74cbfb21b3b827ca6469f8382ed0 100644 (file)
        };
 
        // Update the specified range which has been mangled by previous insertion of
-       // range bookmark nodes.(#3256)
+       // range bookmark nodes.(http://dev.ckeditor.com/ticket/3256)
        function updateDirtyRange( bookmark, dirtyRange, checkEnd ) {
                var serializable = bookmark.serializable,
                        container = dirtyRange[ checkEnd ? 'endContainer' : 'startContainer' ],
index ce20ffe1c707e84145b43aa716beaa992e8fddbd..e77a3d95846aba99530ce4e1ff899a1120a42d74 100644 (file)
@@ -106,7 +106,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.text.prototype, {
                                retval.insertAfter( this );
                        } else {
                                // IE BUG: IE8+ does not update the childNodes array in DOM after splitText(),
-                               // we need to make some DOM changes to make it update. (#3436)
+                               // we need to make some DOM changes to make it update. (http://dev.ckeditor.com/ticket/3436)
                                var workaround = doc.createText( '' );
                                workaround.insertAfter( retval );
                                workaround.remove();
index cec4574fb0571c63a85af3dfd08479875d2d10be..86659096309ec09159969a4eb0b907772c773aeb 100644 (file)
         */
        CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames ) {
                // Whether element is in normal page flow. Floated or positioned elements are out of page flow.
-               // Don't consider floated or positioned formatting as block boundary, fall back to dtd check in that case. (#6297)
+               // Don't consider floated or positioned formatting as block boundary, fall back to dtd check in that case. (http://dev.ckeditor.com/ticket/6297)
                var inPageFlow = this.getComputedStyle( 'float' ) == 'none' && !( this.getComputedStyle( 'position' ) in outOfFlowPositions );
 
                if ( inPageFlow && blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ] )
                return function( node ) {
                        var isWhitespace;
                        if ( node && node.type == CKEDITOR.NODE_TEXT ) {
-                               // Whitespace, as well as the Filling Char Sequence text node used in Webkit. (#9384, #13816)
+                               // Whitespace, as well as the Filling Char Sequence text node used in Webkit. (http://dev.ckeditor.com/ticket/9384, http://dev.ckeditor.com/ticket/13816)
                                isWhitespace = !CKEDITOR.tools.trim( node.getText() ) ||
                                        CKEDITOR.env.webkit && node.getText() == CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE;
                        }
         */
        CKEDITOR.dom.walker.invisible = function( isReject ) {
                var whitespace = CKEDITOR.dom.walker.whitespaces(),
-                       // #12221 (Chrome) plus #11111 (Safari).
+                       // http://dev.ckeditor.com/ticket/12221 (Chrome) plus http://dev.ckeditor.com/ticket/11111 (Safari).
                        offsetWidth0 = CKEDITOR.env.webkit ? 1 : 0;
 
                return function( node ) {
                                // Nodes that take no spaces in wysiwyg:
                                // 1. White-spaces but not including NBSP.
                                // 2. Empty inline elements, e.g. <b></b>.
-                               // 3. <br> elements (bogus, surrounded by text) (#12423).
+                               // 3. <br> elements (bogus, surrounded by text) (http://dev.ckeditor.com/ticket/12423).
                                invisible = node.$.offsetWidth <= offsetWidth0;
                        }
 
         * @returns {CKEDITOR.dom.node/Boolean} Bogus node or `false`.
         */
        CKEDITOR.dom.element.prototype.getBogus = function() {
-               // Bogus are not always at the end, e.g. <p><a>text<br /></a></p> (#7070).
+               // Bogus are not always at the end, e.g. <p><a>text<br /></a></p> (http://dev.ckeditor.com/ticket/7070).
                var tail = this;
                do {
                        tail = tail.getPreviousSourceNode();
index c50ec7fe80e0bb37d06a958f26c70a3492e4934a..6b3fa9f7d7e64c4454d9a02e3e8fb3009b912bf3 100644 (file)
@@ -76,7 +76,7 @@
 
                                // [Edge] Starting from EdgeHTML 14.14393, it does not support `setActive`. We need to use focus which
                                // causes unexpected scroll. Store scrollTop value so it can be restored after focusing editor.
-                               // Scroll only happens if the editor is focused for the first time. (#14825)
+                               // Scroll only happens if the editor is focused for the first time. (http://dev.ckeditor.com/ticket/14825)
                                if ( CKEDITOR.env.edge && CKEDITOR.env.version > 14 && !this.hasFocus && this.getDocument().equals( CKEDITOR.document ) ) {
                                        this.editor._.previousScrollTop = this.$.scrollTop;
                                }
                                        if ( CKEDITOR.env.ie && !( CKEDITOR.env.edge && CKEDITOR.env.version > 14 ) && this.getDocument().equals( CKEDITOR.document ) ) {
                                                this.$.setActive();
                                        } else {
-                                               this.$.focus();
+                                               // We have no control over exactly what happens when the native `focus` method is called,
+                                               // so save the scroll position and restore it later.
+                                               if ( CKEDITOR.env.chrome ) {
+                                                       var scrollPos = this.$.scrollTop;
+                                                       this.$.focus();
+                                                       this.$.scrollTop = scrollPos;
+                                               } else {
+                                                       this.$.focus();
+                                               }
                                        }
                                } catch ( e ) {
                                        // IE throws unspecified error when focusing editable after closing dialog opened on nested editable.
                                                throw e;
                                }
 
-                               // Remedy if Safari doens't applies focus properly. (#279)
+                               // Remedy if Safari doens't applies focus properly. (http://dev.ckeditor.com/ticket/279)
                                if ( CKEDITOR.env.safari && !this.isInline() ) {
                                        active = CKEDITOR.document.getActive();
                                        if ( !active.equals( this.getWindow().getFrame() ) )
 
                                        // The "focusin/focusout" events bubbled, e.g. If there are elements with layout
                                        // they fire this event when clicking in to edit them but it must be ignored
-                                       // to allow edit their contents. (#4682)
+                                       // to allow edit their contents. (http://dev.ckeditor.com/ticket/4682)
                                        fn = isNotBubbling( fn, this );
                                        args[ 0 ] = name;
                                        args[ 1 ] = fn;
                         * @param {String} text
                         */
                        insertText: function( text ) {
-                               // Focus the editor before calling transformPlainTextToHtml. (#12726)
+                               // Focus the editor before calling transformPlainTextToHtml. (http://dev.ckeditor.com/ticket/12726)
                                this.editor.focus();
                                this.insertHtml( this.transformPlainTextToHtml( text ), 'text' );
                        },
                        insertElement: function( element, range ) {
                                var editor = this.editor;
 
-                               // Prepare for the insertion. For example - focus editor (#11848).
+                               // Prepare for the insertion. For example - focus editor (http://dev.ckeditor.com/ticket/11848).
                                editor.focus();
                                editor.fire( 'saveSnapshot' );
 
                                        range = selection.getRanges()[ 0 ];
                                }
 
-                               // Insert element into first range only and ignore the rest (#11183).
+                               // Insert element into first range only and ignore the rest (http://dev.ckeditor.com/ticket/11183).
                                if ( this.insertElementIntoRange( element, range ) ) {
                                        range.moveToPosition( element, CKEDITOR.POSITION_AFTER_END );
 
                                        // If we're inserting a block element, the new cursor position must be
-                                       // optimized. (#3100,#5436,#8950)
+                                       // optimized. (http://dev.ckeditor.com/ticket/3100,http://dev.ckeditor.com/ticket/5436,http://dev.ckeditor.com/ticket/8950)
                                        if ( isBlock ) {
                                                // Find next, meaningful element.
                                                var next = element.getNext( function( node ) {
                                                        range.splitElement( current );
 
                                                // If we're in an empty block which indicate a new paragraph,
-                                               // simply replace it with the inserting block.(#3664)
+                                               // simply replace it with the inserting block.(http://dev.ckeditor.com/ticket/3664)
                                                else if ( range.checkStartOfBlock() && range.checkEndOfBlock() ) {
                                                        range.setStartBefore( current );
                                                        range.collapse( true );
                                                range.checkEndOfBlock() &&
                                                path.block &&
                                                !range.root.equals( path.block ) &&
-                                               // Do not remove a block with bookmarks. (#13465)
+                                               // Do not remove a block with bookmarks. (http://dev.ckeditor.com/ticket/13465)
                                                !hasBookmarks( path.block ) ) {
                                                range.moveToPosition( path.block, CKEDITOR.POSITION_BEFORE_START );
                                                path.block.remove();
 
                                        // IE considers control-type element as separate
                                        // focus host when selected, avoid destroying the
-                                       // selection in such case. (#5812) (#8949)
+                                       // selection in such case. (http://dev.ckeditor.com/ticket/5812) (http://dev.ckeditor.com/ticket/8949)
                                        if ( ieSel && ieSel.type == 'Control' )
                                                return;
 
                                }, null, null, -1 );
 
                                if ( CKEDITOR.env.webkit ) {
-                                       // [WebKit] Save scrollTop value so it can be used when restoring locked selection. (#14659)
+                                       // [WebKit] Save scrollTop value so it can be used when restoring locked selection. (http://dev.ckeditor.com/ticket/14659)
                                        this.on( 'scroll', function() {
                                                editor._.previousScrollTop = editor.editable().$.scrollTop;
                                        }, null, null, -1 );
                                }
 
                                // [Edge] This is the other part of the workaround for Edge which restores saved
-                               // scrollTop value and removes listener which is not needed anymore. (#14825)
+                               // scrollTop value and removes listener which is not needed anymore. (http://dev.ckeditor.com/ticket/14825)
                                if ( CKEDITOR.env.edge && CKEDITOR.env.version > 14 ) {
 
                                        var fixScrollOnFocus = function() {
                                // Pass this configuration to styles system.
                                this.setCustomData( 'cke_includeReadonly', !editor.config.disableReadonlyStyling );
 
-                               // Prevent the browser opening read-only links. (#6032 & #10912)
+                               // Prevent the browser opening read-only links. (http://dev.ckeditor.com/ticket/6032 & http://dev.ckeditor.com/ticket/10912)
                                this.attachListener( this, 'click', function( evt ) {
                                        evt = evt.data;
 
                                var backspaceOrDelete = { 8: 1, 46: 1 };
 
                                // Override keystrokes which should have deletion behavior
-                               //  on fully selected element . (#4047) (#7645)
+                               //  on fully selected element . (http://dev.ckeditor.com/ticket/4047) (http://dev.ckeditor.com/ticket/7645)
                                this.attachListener( editor, 'key', function( evt ) {
                                        if ( editor.readOnly )
                                                return true;
                                        var keyCode = evt.data.domEvent.getKey(),
                                                isHandled;
 
+                                       // Prevent of reading path of empty range (http://dev.ckeditor.com/ticket/13096, #457).
+                                       var sel = editor.getSelection();
+                                       if ( sel.getRanges().length === 0 ) {
+                                               return;
+                                       }
+
                                        // Backspace OR Delete.
                                        if ( keyCode in backspaceOrDelete ) {
-                                               var sel = editor.getSelection(),
-                                                       selected,
+                                               var selected,
                                                        range = sel.getRanges()[ 0 ],
                                                        path = range.startPath(),
                                                        block,
                                                        next,
                                                        rtl = keyCode == 8;
 
+
                                                if (
-                                                               // [IE<11] Remove selected image/anchor/etc here to avoid going back in history. (#10055)
+                                                               // [IE<11] Remove selected image/anchor/etc here to avoid going back in history. (http://dev.ckeditor.com/ticket/10055)
                                                                ( CKEDITOR.env.ie && CKEDITOR.env.version < 11 && ( selected = sel.getSelectedElement() ) ) ||
-                                                               // Remove the entire list/table on fully selected content. (#7645)
+                                                               // Remove the entire list/table on fully selected content. (http://dev.ckeditor.com/ticket/7645)
                                                                ( selected = getSelectedTableList( sel ) ) ) {
                                                        // Make undo snapshot.
                                                        editor.fire( 'saveSnapshot' );
 
                                                        // Delete any element that 'hasLayout' (e.g. hr,table) in IE8 will
-                                                       // break up the selection, safely manage it here. (#4795)
+                                                       // break up the selection, safely manage it here. (http://dev.ckeditor.com/ticket/4795)
                                                        range.moveToPosition( selected, CKEDITOR.POSITION_BEFORE_START );
                                                        // Remove the control manually.
                                                        selected.remove();
 
                                                        isHandled = 1;
                                                } else if ( range.collapsed ) {
-                                                       // Handle the following special cases: (#6217)
+                                                       // Handle the following special cases: (http://dev.ckeditor.com/ticket/6217)
                                                        // 1. Del/Backspace key before/after table;
                                                        // 2. Backspace Key after start of table.
                                                        if ( ( block = path.block ) &&
                                        editor.fire( 'doubleclick', data );
                                } );
 
-                               // Prevent automatic submission in IE #6336
+                               // Prevent automatic submission in IE http://dev.ckeditor.com/ticket/6336
                                CKEDITOR.env.ie && this.attachListener( this, 'click', blockInputClick );
 
-                               // Gecko/Webkit need some help when selecting control type elements. (#3448)
-                               // We apply same behavior for IE Edge. (#13386)
+                               // Gecko/Webkit need some help when selecting control type elements. (http://dev.ckeditor.com/ticket/3448)
+                               // We apply same behavior for IE Edge. (http://dev.ckeditor.com/ticket/13386)
                                if ( !CKEDITOR.env.ie || CKEDITOR.env.edge ) {
                                        this.attachListener( this, 'mousedown', function( ev ) {
                                                var control = ev.data.getTarget();
-                                               // #11727. Note: htmlDP assures that input/textarea/select have contenteditable=false
+                                               // http://dev.ckeditor.com/ticket/11727. Note: htmlDP assures that input/textarea/select have contenteditable=false
                                                // attributes. However, they also have data-cke-editable attribute, so isReadOnly() returns false,
                                                // and therefore those elements are correctly selected by this code.
                                                if ( control.is( 'img', 'hr', 'input', 'textarea', 'select' ) && !control.isReadOnly() ) {
                                                        editor.getSelection().selectElement( control );
 
-                                                       // Prevent focus from stealing from the editable. (#9515)
+                                                       // Prevent focus from stealing from the editable. (http://dev.ckeditor.com/ticket/9515)
                                                        if ( control.is( 'input', 'textarea', 'select' ) )
                                                                ev.data.preventDefault();
                                                }
                                        } );
                                }
 
-                               // For some reason, after click event is done, IE Edge loses focus on the selected element. (#13386)
+                               // For some reason, after click event is done, IE Edge loses focus on the selected element. (http://dev.ckeditor.com/ticket/13386)
                                if ( CKEDITOR.env.edge ) {
                                        this.attachListener( this, 'mouseup', function( ev ) {
                                                var selectedElement = ev.data.getTarget();
                                }
 
                                // Prevent right click from selecting an empty block even
-                               // when selection is anchored inside it. (#5845)
+                               // when selection is anchored inside it. (http://dev.ckeditor.com/ticket/5845)
                                if ( CKEDITOR.env.gecko ) {
                                        this.attachListener( this, 'mouseup', function( ev ) {
                                                if ( ev.data.$.button == 2 ) {
                                }
 
                                // Prevent Webkit/Blink from going rogue when joining
-                               // blocks on BACKSPACE/DEL (#11861,#9998).
+                               // blocks on BACKSPACE/DEL (http://dev.ckeditor.com/ticket/11861,http://dev.ckeditor.com/ticket/9998).
                                if ( CKEDITOR.env.webkit ) {
                                        this.attachListener( editor, 'key', function( evt ) {
                                                if ( editor.readOnly ) {
                                                if ( !( key in backspaceOrDelete ) )
                                                        return;
 
+                                               // Prevent of reading path of empty range (http://dev.ckeditor.com/ticket/13096, #457).
+                                               var sel = editor.getSelection();
+                                               if ( sel.getRanges().length === 0 ) {
+                                                       return;
+                                               }
+
                                                var backspace = key == 8,
-                                                       range = editor.getSelection().getRanges()[ 0 ],
+                                                       range = sel.getRanges()[ 0 ],
                                                        startPath = range.startPath();
 
                                                if ( range.collapsed ) {
                                                                return;
                                                }
 
-                                               // Scroll to the new position of the caret (#11960).
+                                               // Scroll to the new position of the caret (http://dev.ckeditor.com/ticket/11960).
                                                editor.getSelection().scrollIntoView();
                                                editor.fire( 'saveSnapshot' );
 
         * @member CKEDITOR.editor
         * @param {CKEDITOR.dom.element/CKEDITOR.editable} [elementOrEditable] The
         * DOM element to become the editable or a {@link CKEDITOR.editable} object.
+        * @returns {CKEDITOR.dom.element/null} The editor's editable element, or `null` if not available.
         */
        CKEDITOR.editor.prototype.editable = function( element ) {
                var editable = this._.editable;
        CKEDITOR.on( 'instanceLoaded', function( evt ) {
                var editor = evt.editor;
 
-               // and flag that the element was locked by our code so it'll be editable by the editor functions (#6046).
+               // and flag that the element was locked by our code so it'll be editable by the editor functions (http://dev.ckeditor.com/ticket/6046).
                editor.on( 'insertElement', function( evt ) {
                        var element = evt.data;
                        if ( element.type == CKEDITOR.NODE_ELEMENT && ( element.is( 'input' ) || element.is( 'textarea' ) ) ) {
                        if ( editor.readOnly )
                                return;
 
-                       // Auto fixing on some document structure weakness to enhance usabilities. (#3190 and #3189)
+                       // Auto fixing on some document structure weakness to enhance usabilities. (http://dev.ckeditor.com/ticket/3190 and http://dev.ckeditor.com/ticket/3189)
                        var sel = editor.getSelection();
-                       // Do it only when selection is not locked. (#8222)
+                       // Do it only when selection is not locked. (http://dev.ckeditor.com/ticket/8222)
                        if ( sel && !sel.isLocked ) {
                                var isDirty = editor.checkDirty();
 
                } );
        } );
 
-       // #9222: Show text cursor in Gecko.
+       // http://dev.ckeditor.com/ticket/9222: Show text cursor in Gecko.
        // Show default cursor over control elements on all non-IEs.
        CKEDITOR.addCss( '.cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}' );
 
        // Matching an empty paragraph at the end of document.
        emptyParagraphRegexp = /(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;
 
-       // Auto-fixing block-less content by wrapping paragraph (#3190), prevent
-       // non-exitable-block by padding extra br.(#3189)
+       // Auto-fixing block-less content by wrapping paragraph (http://dev.ckeditor.com/ticket/3190), prevent
+       // non-exitable-block by padding extra br.(http://dev.ckeditor.com/ticket/3189)
        // Returns truly value when dom was changed, falsy otherwise.
        function fixDom( evt ) {
                var editor = evt.editor,
                }
 
                // When we're in block enter mode, a new paragraph will be established
-               // to encapsulate inline contents inside editable. (#3657)
+               // to encapsulate inline contents inside editable. (http://dev.ckeditor.com/ticket/3657)
                // Don't autoparagraph if browser (namely - IE) incorrectly anchored selection
                // inside non-editable content. This happens e.g. if non-editable block is the only
                // content of editable.
 
                                selectionUpdateNeeded = 1;
 
-                               // Cancel this selection change in favor of the next (correct). (#6811)
+                               // Cancel this selection change in favor of the next (correct). (http://dev.ckeditor.com/ticket/6811)
                                evt.cancel();
                        }
                }
                if ( selection.isFake )
                        return 0;
 
-               // Ensure bogus br could help to move cursor (out of styles) to the end of block. (#7041)
+               // Ensure bogus br could help to move cursor (out of styles) to the end of block. (http://dev.ckeditor.com/ticket/7041)
                var pathBlock = path.block || path.blockLimit,
                        lastNode = pathBlock && pathBlock.getLast( isNotEmpty );
 
                // Check some specialities of the current path block:
-               // 1. It is really displayed as block; (#7221)
-               // 2. It doesn't end with one inner block; (#7467)
+               // 1. It is really displayed as block; (http://dev.ckeditor.com/ticket/7221)
+               // 2. It doesn't end with one inner block; (http://dev.ckeditor.com/ticket/7467)
                // 3. It doesn't have bogus br yet.
                if (
                        pathBlock && pathBlock.isBlockBoundary() &&
        // Whether in given context (pathBlock, pathBlockLimit and editor settings)
        // editor should automatically wrap inline contents with blocks.
        function shouldAutoParagraph( editor, pathBlock, pathBlockLimit ) {
-               // Check whether pathBlock equals pathBlockLimit to support nested editable (#12162).
+               // Check whether pathBlock equals pathBlockLimit to support nested editable (http://dev.ckeditor.com/ticket/12162).
                return editor.config.autoParagraph !== false &&
                        editor.activeEnterMode != CKEDITOR.ENTER_BR &&
                        (
 
                        // Select range and stop execution.
                        // If data has been totally emptied after the filtering,
-                       // any insertion is pointless (#10339).
+                       // any insertion is pointless (http://dev.ckeditor.com/ticket/10339).
                        if ( data && processDataForInsertion( that, data ) ) {
                                // DATA INSERTION
                                insertDataIntoRange( that );
                                        nodeName = node.getName();
 
                                        // Extract only the list items, when insertion happens
-                                       // inside of a list, reads as rearrange list items. (#7957)
+                                       // inside of a list, reads as rearrange list items. (http://dev.ckeditor.com/ticket/7957)
                                        if ( insideOfList && nodeName in CKEDITOR.dtd.$list ) {
                                                nodesData = nodesData.concat( extractNodesData( node, that ) );
                                                continue;
                        }
 
                        // Don't use String.replace because it fails in IE7 if special replacement
-                       // characters ($$, $&, etc.) are in data (#10367).
+                       // characters ($$, $&, etc.) are in data (http://dev.ckeditor.com/ticket/10367).
                        return wrapper.getOuterHtml().split( '{cke-peak}' ).join( data );
                }
 
                if ( ( bogus = startBlock.getBogus() ) )
                        bogus.remove();
 
-               // Changing end container to element from text node (#12503).
+               // Changing end container to element from text node (http://dev.ckeditor.com/ticket/12503).
                range.enlarge( CKEDITOR.ENLARGE_INLINE );
 
                // Delete range contents. Do NOT merge. Merging is weird.
                range = editor.getSelection().getRanges()[ 0 ];
                range.collapse( 1 );
 
-               // Optimizing range containers from text nodes to elements (#12503).
+               // Optimizing range containers from text nodes to elements (http://dev.ckeditor.com/ticket/12503).
                range.optimize();
                if ( range.startContainer.getHtml() === '' ) {
                        range.startContainer.appendBogus();
                        while ( ( next = endBookmark.getNext() ) ) {
                                next.insertAfter( startBookmark );
 
-                               // Update startBookmark after insertion to avoid the reversal of nodes (#13449).
+                               // Update startBookmark after insertion to avoid the reversal of nodes (http://dev.ckeditor.com/ticket/13449).
                                startBookmark = next;
                        }
 
 
                                walker.guard = function( node, leaving ) {
                                        // Guard may be executed on some node boundaries multiple times,
-                                       // what results in creating more than one range for each selected cell. (#12964)
+                                       // what results in creating more than one range for each selected cell. (http://dev.ckeditor.com/ticket/12964)
                                        if ( node.type == CKEDITOR.NODE_ELEMENT ) {
                                                var key = 'visited_' + ( leaving ? 'out' : 'in' );
                                                if ( node.getCustomData( key ) ) {
index 8dfce7fed157f4eef0419ab22e178258358c65e3..640cec0b9720f739f412f4a478266a92b1abddc9 100644 (file)
@@ -29,7 +29,7 @@
                // Call the CKEDITOR.event constructor to initialize this instance.
                CKEDITOR.event.call( this );
 
-               // Make a clone of the config object, to avoid having it touched by our code. (#9636)
+               // Make a clone of the config object, to avoid having it touched by our code. (http://dev.ckeditor.com/ticket/9636)
                instanceConfig = instanceConfig && CKEDITOR.tools.clone( instanceConfig );
 
                // if editor is created off one page element.
        function updateCommandsContext( editor, path, forceRefresh ) {
                // Commands cannot be refreshed without a path. In edge cases
                // it may happen that there's no selection when this function is executed.
-               // For example when active filter is changed in #10877.
+               // For example when active filter is changed in http://dev.ckeditor.com/ticket/10877.
                if ( !path )
                        return;
 
                } else {
                        // Load the custom configuration file.
                        // To resolve customConfig race conflicts, use scriptLoader#queue
-                       // instead of scriptLoader#load (#6504).
+                       // instead of scriptLoader#load (http://dev.ckeditor.com/ticket/6504).
                        CKEDITOR.scriptLoader.queue( customConfig, function() {
                                // If the CKEDITOR.editorConfig function has been properly
                                // defined in the custom configuration file, cache it.
                return editor.blockless ? CKEDITOR.ENTER_BR : enterMode;
        }
 
-       // Create DocumentFragment from specified ranges. For now it handles only tables in Firefox
-       // and returns DocumentFragment from the 1. range for other cases. (#13884)
+       // Create DocumentFragment from specified ranges. For now it handles only tables
+       // and returns DocumentFragment from the 1. range for other cases. (http://dev.ckeditor.com/ticket/13884)
        function createDocumentFragmentFromRanges( ranges, editable ) {
                var docFragment = new CKEDITOR.dom.documentFragment(),
                        tableClone,
                        currentRow,
                        currentRowClone;
 
+               // We must handle two cases here:
+               // 1. <tr>[<td>Cell</td>]</tr> (IE9+, Edge, Chrome, Firefox)
+               // 2. <td>[Cell]</td> (IE8-, Safari)
+               function isSelectedCell( range ) {
+                       var start = range.startContainer,
+                               end = range.endContainer;
+
+                       if ( start.is && ( start.is( 'tr' ) ||
+                               ( start.is( 'td' ) && start.equals( end ) && range.endOffset === start.getChildCount() ) ) ) {
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               function cloneCell( range ) {
+                       var start = range.startContainer;
+
+                       if ( start.is( 'tr' ) ) {
+                               return range.cloneContents();
+                       }
+
+                       return start.clone( true );
+               }
+
                for ( var i = 0; i < ranges.length; i++ ) {
                        var range = ranges[ i ],
-                               container = range.startContainer;
+                               container = range.startContainer.getAscendant( 'tr', true );
 
-                       if ( container.getName && container.getName() == 'tr' ) {
+                       if ( isSelectedCell( range ) ) {
                                if ( !tableClone ) {
                                        tableClone = container.getAscendant( 'table' ).clone();
-                                       tableClone.append( container.getAscendant( 'tbody' ).clone() );
+                                       tableClone.append( container.getAscendant( { thead: 1, tbody: 1, tfoot: 1 } ).clone() );
                                        docFragment.append( tableClone );
-                                       tableClone = tableClone.findOne( 'tbody' );
+                                       tableClone = tableClone.findOne( 'thead, tbody, tfoot' );
                                }
 
                                if ( !( currentRow && currentRow.equals( container ) ) ) {
                                        tableClone.append( currentRowClone );
                                }
 
-                               currentRowClone.append( range.cloneContents() );
+                               currentRowClone.append( cloneCell( range ) );
                        } else {
                                // If there was something else copied with table,
                                // append it to DocumentFragment.
                        // This guarantees that commands added before first editor#mode
                        // aren't immediately updated, but waits for editor#mode and that
                        // commands added later are immediately refreshed, even when added
-                       // before instanceReady. #10103, #10249
+                       // before instanceReady. http://dev.ckeditor.com/ticket/10103, http://dev.ckeditor.com/ticket/10249
                        if ( this.mode )
                                updateCommand( this, cmd );
 
                                                } );
                                        }
 
-                                       // Remove 'submit' events registered on form element before destroying.(#3988)
+                                       // Remove 'submit' events registered on form element before destroying.(http://dev.ckeditor.com/ticket/3988)
                                        editor.on( 'destroy', function() {
                                                form.removeListener( 'submit', onSubmit );
                                        } );
                        function onSubmit( evt ) {
                                editor.updateElement();
 
-                               // #8031 If textarea had required attribute and editor is empty fire 'required' event and if
+                               // http://dev.ckeditor.com/ticket/8031 If textarea had required attribute and editor is empty fire 'required' event and if
                                // it was cancelled, prevent submitting the form.
                                if ( editor._.required && !element.getValue() && editor.fire( 'required' ) === false ) {
                                        // When user press save button event (evt) is undefined (see save plugin).
                 *
                 *              editorInstance.execCommand( 'bold' );
                 *
-                * @param {String} commandName The indentifier name of the command.
-                * @param {Object} [data] The data to be passed to the command.
-                * @returns {Boolean} `true` if the command was executed
-                * successfully, otherwise `false`.
+                * @param {String} commandName The identifier name of the command.
+                * @param {Object} [data] The data to be passed to the command. It defaults to
+                * an empty object starting from 4.7.0.
+                * @returns {Boolean} `true` if the command was executed successfully, `false` otherwise.
                 * @see CKEDITOR.editor#addCommand
                 */
                execCommand: function( commandName, data ) {
 
                        var eventData = {
                                name: commandName,
-                               commandData: data,
+                               commandData: data || {},
                                command: command
                        };
 
                                }
                                else {
                                        // If we don't have a proper element, set data to an empty string,
-                                       // as this method is expected to return a string. (#13385)
+                                       // as this method is expected to return a string. (http://dev.ckeditor.com/ticket/13385)
                                        data = '';
                                }
                        }
                                this.readOnly = isReadOnly;
 
                                // Block or release BACKSPACE key according to current read-only
-                               // state to prevent browser's history navigation (#9761).
+                               // state to prevent browser's history navigation (http://dev.ckeditor.com/ticket/9761).
                                this.keystrokeHandler.blockedKeystrokes[ 8 ] = +isReadOnly;
 
                                this.editable().setReadOnly( isReadOnly );
                 */
                extractSelectedHtml: function( toString, removeEmptyBlock ) {
                        var editable = this.editable(),
-                               ranges = this.getSelection().getRanges();
+                               ranges = this.getSelection().getRanges(),
+                               docFragment = new CKEDITOR.dom.documentFragment(),
+                               i;
 
                        if ( !editable || ranges.length === 0 ) {
                                return null;
                        }
 
-                       var range = ranges[ 0 ],
-                               docFragment = editable.extractHtmlFromRange( range, removeEmptyBlock );
+                       for ( i = 0; i < ranges.length; i++ ) {
+                               docFragment.append( editable.extractHtmlFromRange( ranges[ i ], removeEmptyBlock ) );
+                       }
 
                        if ( !removeEmptyBlock ) {
-                               this.getSelection().selectRanges( [ range ] );
+                               this.getSelection().selectRanges( [ ranges[ 0 ] ] );
                        }
 
                        return toString ? docFragment.getHtml() : docFragment;
 
                /**
                 * Returns the keystroke that is assigned to a specified {@link CKEDITOR.command}. If no keystroke is assigned,
-                * it returns null.
+                * it returns `null`.
+                *
+                * Since version 4.7.0 this function also accepts a `command` parameter as a string.
                 *
                 * @since 4.6.0
-                * @param {CKEDITOR.command} command
-                * @returns {Number} The keystroke assigned to the provided command or null if there is no keystroke.
+                * @param {CKEDITOR.command/String} command The {@link CKEDITOR.command} instance or a string with the command name.
+                * @returns {Number/null} The keystroke assigned to the provided command or `null` if there is no keystroke.
                 */
                getCommandKeystroke: function( command ) {
-                       var commandName = command.name,
-                               keystrokes = this.keystrokeHandler.keystrokes,
-                               key;
+                       var commandInstance = ( typeof command === 'string' ? this.getCommand( command ) : command );
 
-                       // Some commands have a fake keystroke - for example CUT/COPY/PASTE commands are handled natively.
-                       if ( command.fakeKeystroke ) {
-                               return command.fakeKeystroke;
-                       }
+                       if ( commandInstance ) {
+                               var commandName = CKEDITOR.tools.object.findKey( this.commands, commandInstance ),
+                                       keystrokes = this.keystrokeHandler.keystrokes,
+                                       key;
 
-                       for ( key in keystrokes ) {
-                               if ( keystrokes.hasOwnProperty( key ) && keystrokes[ key ] == commandName ) {
-                                       return key;
+                               // Some commands have a fake keystroke - for example CUT/COPY/PASTE commands are handled natively.
+                               if ( commandInstance.fakeKeystroke ) {
+                                       return commandInstance.fakeKeystroke;
                                }
-                       }
 
+                               for ( key in keystrokes ) {
+                                       if ( keystrokes.hasOwnProperty( key ) && keystrokes[ key ] == commandName ) {
+                                               return key;
+                                       }
+                               }
+                       }
                        return null;
                },
 
@@ -1539,7 +1572,7 @@ CKEDITOR.ELEMENT_MODE_INLINE = 3;
  * @member CKEDITOR.config
  */
 
- /**
+/**
  * Customizes the {@link CKEDITOR.editor#title human-readable title} of this editor. This title is displayed in
  * tooltips and impacts various [accessibility aspects](#!/guide/dev_a11y-section-announcing-the-editor-on-the-page),
  * e.g. it is commonly used by screen readers for distinguishing editor instances and for navigation.
index 43b608aa444e45a8ddbbab622594ff1825bc766c..cbf089c97d600775bb8dbd074efebfb17e4b649a 100644 (file)
@@ -136,7 +136,7 @@ if ( !CKEDITOR.env ) {
                                var domain = document.domain,
                                        hostname = window.location.hostname;
 
-                               return domain != hostname && domain != ( '[' + hostname + ']' ); // IPv6 IP support (#5434)
+                               return domain != hostname && domain != ( '[' + hostname + ']' ); // IPv6 IP support (http://dev.ckeditor.com/ticket/5434)
                        },
 
                        /**
index db68530edf3cdfca21f8c5c3498f498527a2aac9..3e64fc5b0dbb4f6d164c089708d44c49f34eff11 100644 (file)
                        },
                        // Object: element name => array of transformations groups.
                        transformations: {},
-                       cachedTests: {}
+                       cachedTests: {},
+                       cachedChecks: {}
                };
 
                // Register filter instance.
                                        if ( el.attributes[ 'data-cke-filter' ] == 'off' )
                                                return false;
 
-                                       // (#10260) Don't touch elements like spans with data-cke-* attribute since they're
+                                       // (http://dev.ckeditor.com/ticket/10260) Don't touch elements like spans with data-cke-* attribute since they're
                                        // responsible e.g. for placing markers, bookmarks, odds and stuff.
                                        // We love 'em and we don't wanna lose anything during the filtering.
                                        // '|' is to avoid tricky joints like data-="foo" + cke-="bar". Yes, they're possible.
                                if ( !element.parent )
                                        continue;
 
-                               // Handle custom elements as inline elements (#12683).
+                               // Handle custom elements as inline elements (http://dev.ckeditor.com/ticket/12683).
                                parentDtd = DTD[ element.parent.name ] || DTD.span;
 
                                switch ( check.check ) {
                        };
                } )(),
 
+               /**
+                * Returns a clone of this filter instance.
+                *
+                * @since 4.7.3
+                * @returns {CKEDITOR.filter}
+                */
+               clone: function() {
+                       var ret = new CKEDITOR.filter(),
+                               clone = CKEDITOR.tools.clone;
+
+                       // Cloning allowed content related things.
+                       ret.allowedContent = clone( this.allowedContent );
+                       ret._.allowedRules = clone( this._.allowedRules );
+
+                       // Disallowed content rules.
+                       ret.disallowedContent = clone( this.disallowedContent );
+                       ret._.disallowedRules = clone( this._.disallowedRules );
+
+                       ret._.transformations = clone( this._.transformations );
+
+                       ret.disabled = this.disabled;
+                       ret.editor = this.editor;
+
+                       return ret;
+               },
+
                /**
                 * Destroys the filter instance and removes it from the global {@link CKEDITOR.filter#instances} object.
                 *
                        var widths = element.styles.margin.match( /(\-?[\.\d]+\w+)/g ) || [ '0px' ];
                        switch ( widths.length ) {
                                case 1:
-                                       element.styles.margin = widths[0];
+                                       mapStyles( [ 0, 0, 0, 0 ] );
                                        break;
                                case 2:
                                        mapStyles( [ 0, 1, 0, 1 ] );
  *     * {@link CKEDITOR.filter.allowedContentRules} &ndash; defined rules will be added
  *     to the {@link CKEDITOR.editor#filter}.
  *     * `true` &ndash; will disable the filter (data will not be filtered,
- *     all features will be activated).
+ *     all features will be activated). Reading [security best practices](#!/guide/dev_best_practices) before setting `true` is recommended.
  *     * default &ndash; the filter will be configured by loaded features
  *     (toolbar items, commands, etc.).
  *
index 6fc99698b6564b7e82db607e27c9ac4779b0838d..45c3137801b42d570e78a1515a477736a6910768 100644 (file)
                 * @member CKEDITOR.focusManager
                 */
                blur: function( noDelay ) {
-                       if ( this._.locked )
+                       if ( this._.locked ) {
                                return;
+                       }
 
                        function doBlur() {
-                               var editor = this._.editor;
-
                                if ( this.hasFocus ) {
                                        this.hasFocus = false;
 
-                                       // Blink browsers leave selection in `[contenteditable=true]`
-                                       // when it's blurred and it's neccessary to remove it manually for inline editor. (#13446)
-                                       if ( CKEDITOR.env.chrome && editor.editable().isInline() ) {
-                                               editor.window.$.getSelection().removeAllRanges();
-                                       }
-
                                        var ct = this._.editor.container;
                                        ct && ct.removeClass( 'cke_focus' );
                                        this._.editor.fire( 'blur' );
                                }
                        }
 
-                       if ( this._.timer )
+                       if ( this._.timer ) {
                                clearTimeout( this._.timer );
+                       }
 
                        var delay = CKEDITOR.focusManager._.blurDelay;
-                       if ( noDelay || !delay )
+                       if ( noDelay || !delay ) {
                                doBlur.call( this );
-                       else {
+                       else {
                                this._.timer = CKEDITOR.tools.setTimeout( function() {
                                        delete this._.timer;
                                        doBlur.call( this );
index 56764be6a49b2f9eaa8e38b6a2eedeeb0c55dc35..79e996b6c91e57118c57bfa02ad020b813186e73 100644 (file)
@@ -56,7 +56,7 @@
                        // it up and apply the filter.
                        data = protectSource( data, editor );
 
-                       // Protect content of textareas. (#9995)
+                       // Protect content of textareas. (http://dev.ckeditor.com/ticket/9995)
                        // Do this before protecting attributes to avoid breaking:
                        // <textarea><img src="..." /></textarea>
                        data = protectElements( data, protectTextareaRegex );
                        data = protectAttributes( data );
 
                        // Protect elements than can't be set inside a DIV. E.g. IE removes
-                       // style tags from innerHTML. (#3710)
+                       // style tags from innerHTML. (http://dev.ckeditor.com/ticket/3710)
                        data = protectElements( data, protectElementsRegex );
 
                        // Certain elements has problem to go through DOM operation, protect
-                       // them by prefixing 'cke' namespace. (#3591)
+                       // them by prefixing 'cke' namespace. (http://dev.ckeditor.com/ticket/3591)
                        data = protectElementsNames( data );
 
                        // All none-IE browsers ignore self-closed custom elements,
-                       // protecting them into open-close. (#3591)
+                       // protecting them into open-close. (http://dev.ckeditor.com/ticket/3591)
                        data = protectSelfClosingElements( data );
 
                        // Compensate one leading line break after <pre> open as browsers
-                       // eat it up. (#5789)
+                       // eat it up. (http://dev.ckeditor.com/ticket/5789)
                        data = protectPreFormatted( data );
 
                        // There are attributes which may execute JavaScript code inside fixBin.
-                       // Encode them greedily. They will be unprotected right after getting HTML from fixBin. (#10)
+                       // Encode them greedily. They will be unprotected right after getting HTML from fixBin. (http://dev.ckeditor.com/ticket/10)
                        data = protectInsecureAttributes( data );
 
                        var fixBin = evtData.context || editor.editable().getName(),
@@ -99,7 +99,7 @@
                        // Call the browser to help us fixing a possibly invalid HTML
                        // structure.
                        var el = editor.document.createElement( fixBin );
-                       // Add fake character to workaround IE comments bug. (#3801)
+                       // Add fake character to workaround IE comments bug. (http://dev.ckeditor.com/ticket/3801)
                        el.setHtml( 'a' + data );
                        data = el.getHtml().substr( 1 );
 
                        data = CKEDITOR.htmlParser.fragment.fromHtml( data, evtData.context, fixBodyTag );
 
                        // The empty root element needs to be fixed by adding 'p' or 'div' into it.
-                       // This avoids the need to create that element on the first focus (#12630).
+                       // This avoids the need to create that element on the first focus (http://dev.ckeditor.com/ticket/12630).
                        if ( fixBodyTag ) {
                                fixEmptyRoot( data, fixBodyTag );
                        }
                editor.on( 'toDataFormat', function( evt ) {
                        var data = evt.data.dataValue;
 
-                       // #10854 - we need to strip leading blockless <br> which FF adds
+                       // http://dev.ckeditor.com/ticket/10854 - we need to strip leading blockless <br> which FF adds
                        // automatically when editable contains only non-editable content.
                        // We do that for every browser (so it's a constant behavior) and
                        // not in BR mode, in which chance of valid leading blockless <br> is higher.
                        data.writeChildrenHtml( writer );
                        data = writer.getHtml( true );
 
-                       // Restore those non-HTML protected source. (#4475,#4880)
+                       // Restore those non-HTML protected source. (http://dev.ckeditor.com/ticket/4475,http://dev.ckeditor.com/ticket/4880)
                        data = unprotectRealComments( data );
                        data = unprotectSource( data, editor );
 
                                return false;
 
                        // 1. For IE version >=8,  empty blocks are displayed correctly themself in wysiwiyg;
-                       // 2. For the rest, at least table cell and list item need no filler space. (#6248)
+                       // 2. For the rest, at least table cell and list item need no filler space. (http://dev.ckeditor.com/ticket/6248)
                        if ( !isOutput && !CKEDITOR.env.needsBrFiller &&
                                ( document.documentMode > 7 ||
                                        block.name in CKEDITOR.dtd.tr ||
        }
 
        // Regex to scan for &nbsp; at the end of blocks, which are actually placeholders.
-       // Safari transforms the &nbsp; to \xa0. (#4172)
+       // Safari transforms the &nbsp; to \xa0. (http://dev.ckeditor.com/ticket/4172)
        var tailNbspRegex = /(?:&nbsp;|\xa0)$/;
 
        var protectedSourceMarker = '{cke_protected}';
                        // active in the editing area (IE|WebKit).
                        [ ( /^on/ ), 'data-cke-pa-on' ],
 
+                       // Prevent iframe's srcdoc attribute from being evaluated in the editable.
+                       [ ( /^srcdoc/ ), 'data-cke-pa-srcdoc' ],
+
                        // Don't let some old expando enter editor. Concerns only IE8,
                        // but for consistency remove on all browsers.
                        [ ( /^data-cke-expando$/ ), '' ]
-               ]
+               ],
+
+               elements: {
+                       // Prevent iframe's src attribute with javascript code or data protocol from being evaluated in the editable.
+                       iframe: function( element ) {
+                               if ( element.attributes && element.attributes.src ) {
+
+                                       var src = element.attributes.src.toLowerCase().replace( /[^a-z]/gi, '' );
+                                       if ( src.indexOf( 'javascript' ) === 0 || src.indexOf( 'data' ) === 0 ) {
+                                               element.attributes[ 'data-cke-pa-src' ] = element.attributes.src;
+                                               delete element.attributes.src;
+                                       }
+                               }
+                       }
+               }
        };
 
-       // Disable form elements editing mode provided by some browsers. (#5746)
+       // Disable form elements editing mode provided by some browsers. (http://dev.ckeditor.com/ticket/5746)
        function protectReadOnly( element ) {
                var attrs = element.attributes;
 
                // We should flag that the element was locked by our code so
-               // it'll be editable by the editor functions (#6046).
+               // it'll be editable by the editor functions (http://dev.ckeditor.com/ticket/6046).
                if ( attrs.contenteditable != 'false' )
                        attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1;
 
                                }
                        },
 
-                       // Remove empty link but not empty anchor. (#3829, #13516)
+                       // Remove empty link but not empty anchor. (http://dev.ckeditor.com/ticket/3829, http://dev.ckeditor.com/ticket/13516)
                        a: function( element ) {
                                var attrs = element.attributes;
 
                                        if ( attribs[ 'data-cke-temp' ] )
                                                return false;
 
-                                       // Remove duplicated attributes - #3789.
+                                       // Remove duplicated attributes - http://dev.ckeditor.com/ticket/3789.
                                        var attributeNames = [ 'name', 'href', 'src' ],
                                                savedAttributeName;
                                        for ( var i = 0; i < attributeNames.length; i++ ) {
                                return element;
                        },
 
-                       // The contents of table should be in correct order (#4809).
+                       // The contents of table should be in correct order (http://dev.ckeditor.com/ticket/4809).
                        table: function( element ) {
                                // Clone the array as it would become empty during the sort call.
                                var children = element.children.slice( 0 );
                        title: function( element ) {
                                var titleText = element.children[ 0 ];
 
-                               // Append text-node to title tag if not present (i.e. non-IEs) (#9882).
+                               // Append text-node to title tag if not present (i.e. non-IEs) (http://dev.ckeditor.com/ticket/9882).
                                !titleText && append( element, titleText = new CKEDITOR.htmlParser.text() );
 
                                // Transfer data-saved title to title tag.
 
        if ( CKEDITOR.env.ie ) {
                // IE outputs style attribute in capital letters. We should convert
-               // them back to lower case, while not hurting the values (#5930)
+               // them back to lower case, while not hurting the values (http://dev.ckeditor.com/ticket/5930)
                defaultHtmlFilterRulesForAll.attributes.style = function( value ) {
                        return value.replace( /(^|;)([^\:]+)/g, function( match ) {
                                return match.toLowerCase();
                };
        }
 
-       // Disable form elements editing mode provided by some browsers. (#5746)
+       // Disable form elements editing mode provided by some browsers. (http://dev.ckeditor.com/ticket/5746)
        function unprotectReadyOnly( element ) {
                var attrs = element.attributes;
                switch ( attrs[ 'data-cke-editable' ] ) {
                //
                //      'data-x' => '&lt;a href=&quot;X&quot;'
                //
-               // which, can be easily filtered out (#11508).
+               // which, can be easily filtered out (http://dev.ckeditor.com/ticket/11508).
                protectAttributeRegex = /([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,
                protectAttributeNameRegex = /^(href|src|name)$/i;
 
        function protectAttributes( html ) {
                return html.replace( protectElementRegex, function( element, tag, attributes ) {
                        return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName ) {
-                               // Avoid corrupting the inline event attributes (#7243).
-                               // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218)
+                               // Avoid corrupting the inline event attributes (http://dev.ckeditor.com/ticket/7243).
+                               // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (http://dev.ckeditor.com/ticket/5218)
                                if ( protectAttributeNameRegex.test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 )
                                        return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr;
 
                        // <noscript> tags (get lost in IE and messed up in FF).
                        /<noscript[\s\S]*?<\/noscript>/gi,
 
-                       // Avoid meta tags being stripped (#8117).
+                       // Avoid meta tags being stripped (http://dev.ckeditor.com/ticket/8117).
                        /<meta[\s\S]*?\/?>/gi
                ].concat( protectRegexes );
 
 
                for ( var i = 0; i < regexes.length; i++ ) {
                        data = data.replace( regexes[ i ], function( match ) {
-                               match = match.replace( tempRegex, // There could be protected source inside another one. (#3869).
+                               match = match.replace( tempRegex, // There could be protected source inside another one. (http://dev.ckeditor.com/ticket/3869).
                                function( $, isComment, id ) {
                                        return protectedHtml[ id ];
                                } );
 
                // Different protection pattern is used for those that
                // live in attributes to avoid from being HTML encoded.
-               // Why so serious? See #9205, #8216, #7805, #11754, #11846.
+               // Why so serious? See http://dev.ckeditor.com/ticket/9205, http://dev.ckeditor.com/ticket/8216, http://dev.ckeditor.com/ticket/7805, http://dev.ckeditor.com/ticket/11754, http://dev.ckeditor.com/ticket/11846.
                data = data.replace( /<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g, function( match ) {
                        return match.replace( /<!--\{cke_protected\}([^>]*)-->/g, function( match, data ) {
                                store[ store.id ] = decodeURIComponent( data );
 
                // This RegExp searches for innerText in all the title/iframe/textarea elements.
                // This is because browser doesn't allow HTML in these elements, that's why we can't
-               // nest comments in there. (#11223)
+               // nest comments in there. (http://dev.ckeditor.com/ticket/11223)
                data = data.replace( /<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g, function( match, tagName, tagAttributes, innerText ) {
                        return '<' + tagName + tagAttributes + '>' + unprotectSource( unprotectRealComments( innerText ), editor ) + '</' + tagName + '>';
                } );
  *             {@link CKEDITOR.htmlParser.fragment} {@link CKEDITOR.htmlParser.element}.
  *     * 5-9: Data is available in the parsed format, but {@link CKEDITOR.htmlDataProcessor#dataFilter}
  *             is not applied yet.
- *     * 6: Data is filtered with the {CKEDITOR.filter content filter}.
+ *     * 6: Data is filtered with the {@link CKEDITOR.filter content filter}.
  *     * 10: Data is processed with {@link CKEDITOR.htmlDataProcessor#dataFilter}.
  *     * 10-14: Data is available in the parsed format and {@link CKEDITOR.htmlDataProcessor#dataFilter}
  *             has already been applied.
index 8c309923628ba7ac261a92e39590b17c131a960b..c95257c6af341e958e2f15a59eb9d0c902f78bfa 100644 (file)
@@ -163,7 +163,7 @@ CKEDITOR.htmlParser = function() {
                                        tagName = tagName.toLowerCase();
 
                                        // There are some tag names that can break things, so let's
-                                       // simply ignore them when parsing. (#5224)
+                                       // simply ignore them when parsing. (http://dev.ckeditor.com/ticket/5224)
                                        if ( /="/.test( tagName ) )
                                                continue;
 
index 529fbf1fbe998ea9deb6797cfcc970f7ed143ad2..61447f08e0229d226ac1a6f49453e934429d5d81 100644 (file)
@@ -67,7 +67,7 @@ CKEDITOR.htmlParser.basicWriter = CKEDITOR.tools.createClass( {
                 * @param {String} attValue The attribute value.
                 */
                attribute: function( attName, attValue ) {
-                       // Browsers don't always escape special character in attribute values. (#4683, #4719).
+                       // Browsers don't always escape special character in attribute values. (http://dev.ckeditor.com/ticket/4683, http://dev.ckeditor.com/ticket/4719).
                        if ( typeof attValue == 'string' )
                                attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
 
index 0ed750e242108478441e3a4566faa79f7baa5503..224d3e6a16dab29704abb717e717f6775f0e1c19 100644 (file)
@@ -35,7 +35,7 @@ CKEDITOR.htmlParser.element = function( name, attributes ) {
         */
        this.children = [];
 
-       // Reveal the real semantic of our internal custom tag name (#6639),
+       // Reveal the real semantic of our internal custom tag name (http://dev.ckeditor.com/ticket/6639),
        // when resolving whether it's block like.
        var realName = name || '',
                prefixed = realName.match( /^cke:(.*)/ );
@@ -543,8 +543,8 @@ CKEDITOR.htmlParser.cssStyle = function() {
 
                        if ( !ctx.nonEditable && this.attributes.contenteditable == 'false' )
                                changes.push( 'nonEditable', true );
-                       // A context to be given nestedEditable must be nonEditable first (by inheritance) (#11372, #11698).
-                       // Special case: #11504 - filter starts on <body contenteditable=true>,
+                       // A context to be given nestedEditable must be nonEditable first (by inheritance) (http://dev.ckeditor.com/ticket/11372, http://dev.ckeditor.com/ticket/11698).
+                       // Special case: http://dev.ckeditor.com/ticket/11504 - filter starts on <body contenteditable=true>,
                        // so ctx.nonEditable has not been yet set to true.
                        else if ( ctx.nonEditable && !ctx.nestedEditable && this.attributes.contenteditable == 'true' )
                                changes.push( 'nestedEditable', true );
index f696a129144c46110cb76524bbdb670bb3ad92e3..7ef915c023717160be8bbf334a2ab5abd587d4d5 100644 (file)
@@ -61,7 +61,7 @@ CKEDITOR.htmlParser.fragment = function() {
                if ( node.attributes[ 'data-cke-survive' ] )
                        return false;
 
-               // Empty link is to be removed when empty but not anchor. (#7894)
+               // Empty link is to be removed when empty but not anchor. (http://dev.ckeditor.com/ticket/7894)
                return node.name == 'a' && node.attributes.href || CKEDITOR.dtd.$removeEmpty[ node.name ];
        }
 
@@ -130,7 +130,7 @@ CKEDITOR.htmlParser.fragment = function() {
                                                i--;
                                        } else {
                                                // Some element of the same type cannot be nested, flat them,
-                                               // e.g. <a href="#">foo<a href="#">bar</a></a>. (#7894)
+                                               // e.g. <a href="#">foo<a href="#">bar</a></a>. (http://dev.ckeditor.com/ticket/7894)
                                                if ( pendingName == currentNode.name )
                                                        addElement( currentNode, currentNode.parent, 1 ), i--;
                                        }
@@ -143,7 +143,7 @@ CKEDITOR.htmlParser.fragment = function() {
                                addElement( pendingBRs.shift(), currentNode );
                }
 
-               // Rtrim empty spaces on block end boundary. (#3585)
+               // Rtrim empty spaces on block end boundary. (http://dev.ckeditor.com/ticket/3585)
                function removeTailWhitespace( element ) {
                        if ( element._.isBlockLike && element.name != 'pre' && element.name != 'textarea' ) {
 
@@ -275,10 +275,10 @@ CKEDITOR.htmlParser.fragment = function() {
                                // If the element cannot be child of the current element.
                                if ( !element.isUnknown && !currentNode.isUnknown && !currentDtd[ tagName ] ) {
                                        // Current node doesn't have a close tag, time for a close
-                                       // as this element isn't fit in. (#7497)
+                                       // as this element isn't fit in. (http://dev.ckeditor.com/ticket/7497)
                                        if ( currentNode.isOptionalClose )
                                                parser.onTagClose( currentName );
-                                       // Fixing malformed nested lists by moving it into a previous list item. (#3828)
+                                       // Fixing malformed nested lists by moving it into a previous list item. (http://dev.ckeditor.com/ticket/3828)
                                        else if ( tagName in listBlocks && currentName in listBlocks ) {
                                                var children = currentNode.children,
                                                        lastChild = children[ children.length - 1 ];
@@ -291,7 +291,7 @@ CKEDITOR.htmlParser.fragment = function() {
                                                currentNode = lastChild;
                                        }
                                        // Establish new list root for orphan list items, but NOT to create
-                                       // new list for the following ones, fix them instead. (#6975)
+                                       // new list for the following ones, fix them instead. (http://dev.ckeditor.com/ticket/6975)
                                        // <dl><dt>foo<dd>bar</dl>
                                        // <ul><li>foo<li>bar</ul>
                                        else if ( tagName in CKEDITOR.dtd.$listItem &&
@@ -409,7 +409,7 @@ CKEDITOR.htmlParser.fragment = function() {
                        var currentName = currentNode.name,
                                currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ] || ( currentNode._.isBlockLike ? CKEDITOR.dtd.div : CKEDITOR.dtd.span ) ) : rootDtd;
 
-                       // Fix orphan text in list/table. (#8540) (#8870)
+                       // Fix orphan text in list/table. (http://dev.ckeditor.com/ticket/8540) (http://dev.ckeditor.com/ticket/8870)
                        if ( !inTextarea && !currentDtd[ '#' ] && currentName in nonBreakingBlocks ) {
                                parser.onTagOpen( structureFixes[ currentName ] || '' );
                                parser.onText( text );
index 876605595a9ceb1841fae2c786dc49e7bc21a05b..06f3a2a1662697c023e9777db0dcff6f22495541 100644 (file)
@@ -18,7 +18,7 @@
                 */
                languages: {
                        af: 1, ar: 1, az: 1, bg: 1, bn: 1, bs: 1, ca: 1, cs: 1, cy: 1, da: 1, de: 1, 'de-ch': 1, el: 1,
-                       'en-au': 1, 'en-ca': 1, 'en-gb': 1, en: 1, eo: 1, es: 1, et: 1, eu: 1, fa: 1, fi: 1, fo: 1,
+                       'en-au': 1, 'en-ca': 1, 'en-gb': 1, en: 1, eo: 1, es: 1, 'es-mx':1, et: 1, eu: 1, fa: 1, fi: 1, fo: 1,
                        'fr-ca': 1, fr: 1, gl: 1, gu: 1, he: 1, hi: 1, hr: 1, hu: 1, id: 1, is: 1, it: 1, ja: 1, ka: 1,
                        km: 1, ko: 1, ku: 1, lt: 1, lv: 1, mk: 1, mn: 1, ms: 1, nb: 1, nl: 1, no: 1, oc: 1, pl: 1, 'pt-br': 1,
                        pt: 1, ro: 1, ru: 1, si: 1, sk: 1, sl: 1, sq: 1, 'sr-latn': 1, sr: 1, sv: 1, th: 1, tr: 1, tt: 1, ug: 1,
index 249a8cf4ba2ed07171add76cc3bee92faec88b1a..dc02511217c43e4d016df21f1bffff4c2d494797 100644 (file)
@@ -142,7 +142,7 @@ if ( !CKEDITOR.loader ) {
                                }
 
                                // We must guarantee the execution order of the scripts, so we
-                               // need to load them one by one. (#4145)
+                               // need to load them one by one. (http://dev.ckeditor.com/ticket/4145)
                                // The following if/else block has been taken from the scriptloader core code.
                                if ( typeof script.onreadystatechange !== 'undefined' ) {
                                        /** @ignore */
@@ -156,7 +156,7 @@ if ( !CKEDITOR.loader ) {
                                        /** @ignore */
                                        script.onload = function() {
                                                // Some browsers, such as Safari, may call the onLoad function
-                                               // immediately. Which will break the loading sequence. (#3661)
+                                               // immediately. Which will break the loading sequence. (http://dev.ckeditor.com/ticket/3661)
                                                setTimeout( function() {
                                                        onScriptLoaded( scriptName );
                                                }, 0 );
index a2b9ccafbd6fce5c7bf65e1676e865b2853ff0f1..356996fb55829950d2be90a51568dacf827aad02 100644 (file)
@@ -119,7 +119,7 @@ CKEDITOR.scriptLoader = ( function() {
                                        } );
 
                                        if ( callback ) {
-                                               // The onload or onerror event does not fire in IE8 and IE9 Quirks Mode (#14849).
+                                               // The onload or onerror event does not fire in IE8 and IE9 Quirks Mode (http://dev.ckeditor.com/ticket/14849).
                                                if ( CKEDITOR.env.ie && ( CKEDITOR.env.version <= 8 || CKEDITOR.env.ie9Compat ) ) {
                                                        script.$.onreadystatechange = function() {
                                                                if ( script.$.readyState == 'loaded' || script.$.readyState == 'complete' ) {
@@ -130,7 +130,7 @@ CKEDITOR.scriptLoader = ( function() {
                                                } else {
                                                        script.$.onload = function() {
                                                                // Some browsers, such as Safari, may call the onLoad function
-                                                               // immediately. Which will break the loading sequence. (#3661)
+                                                               // immediately. Which will break the loading sequence. (http://dev.ckeditor.com/ticket/3661)
                                                                setTimeout( function() {
                                                                        onLoad( url, true );
                                                                }, 0 );
index eef28a316f642b67a814984cbd418bfa32a5e5ac..d44db3bc282dd62f268cd77ce2c20f34468436c3 100644 (file)
@@ -6,9 +6,211 @@
 ( function() {
        var isMSSelection = typeof window.getSelection != 'function',
                nextRev = 1,
-               // #13816
+               // http://dev.ckeditor.com/ticket/13816
                fillingCharSequence = CKEDITOR.tools.repeat( '\u200b', 7 ),
-               fillingCharSequenceRegExp = new RegExp( fillingCharSequence + '( )?', 'g' );
+               fillingCharSequenceRegExp = new RegExp( fillingCharSequence + '( )?', 'g' ),
+               isSelectingTable;
+
+       // #### table selection : START
+       // @param {CKEDITOR.dom.range[]} ranges
+       // @param {Boolean} allowPartially Whether a collapsed selection within table is recognized to be a valid selection.
+       // This happens for WebKits on MacOS, when you right click inside the table.
+       function isTableSelection( ranges, allowPartially ) {
+               if ( ranges.length === 0 ) {
+                       return false;
+               }
+
+               var node,
+                       i;
+
+               function isPartiallySelected( range ) {
+                       var startCell = range.startContainer.getAscendant( { td: 1, th: 1 }, true ),
+                               endCell = range.endContainer.getAscendant( { td: 1, th: 1 }, true ),
+                               trim = CKEDITOR.tools.trim,
+                               selected;
+
+                       // Check if the selection is inside one cell and we don't have any nested table contents selected.
+                       if ( !startCell || !startCell.equals( endCell ) || startCell.findOne( 'td, th, tr, tbody, table' ) ) {
+                               return false;
+                       }
+
+                       selected = range.cloneContents();
+
+                       // Empty selection is still partially selected.
+                       if ( !selected.getFirst() ) {
+                               return true;
+                       }
+
+                       return trim( selected.getFirst().getText() ) !== trim( startCell.getText() );
+               }
+
+               // Edge case: partially selected text node inside one table cell or cursor inside cell.
+               if ( !allowPartially && ranges.length === 1 &&
+                       ( ranges[ 0 ].collapsed || isPartiallySelected( ranges[ 0 ] ) ) ) {
+                       return false;
+               }
+
+               for ( i = 0; i < ranges.length; i++ ) {
+                       node = ranges[ i ]._getTableElement();
+
+                       if ( !node ) {
+                               return false;
+                       }
+               }
+
+               return true;
+       }
+
+       // After performing fake table selection, the real selection is limited
+       // to the first selected cell. Therefore to check if the real selection
+       // matches the fake selection, we check if the table cell from fake selection's
+       // first range and real selection's range are the same.
+       // Also if the selection is collapsed, we should check if it's placed inside the table
+       // in which the fake selection is or inside nested table. Such selection occurs after right mouse click.
+       function isRealTableSelection( selection, fakeSelection ) {
+               var ranges = selection.getRanges(),
+                       fakeRanges = fakeSelection.getRanges(),
+                       table = ranges.length && ranges[ 0 ]._getTableElement() &&
+                               ranges[ 0 ]._getTableElement().getAscendant( 'table', true ),
+                       fakeTable = fakeRanges.length && fakeRanges[ 0 ]._getTableElement() &&
+                               fakeRanges[ 0 ]._getTableElement().getAscendant( 'table', true ),
+                       isTableRange = ranges.length === 1 && ranges[ 0 ]._getTableElement() &&
+                                       ranges[ 0 ]._getTableElement().is( 'table' ),
+                       isFakeTableRange = fakeRanges.length === 1 && fakeRanges[ 0 ]._getTableElement() &&
+                                       fakeRanges[ 0 ]._getTableElement().is( 'table' );
+
+               function isValidTableSelection( table, fakeTable, ranges, fakeRanges ) {
+                       var isMenuOpen = ranges.length === 1 && ranges[ 0 ].collapsed,
+                               // In case of WebKit on MacOS, when checking real selection, we must allow selection to be partial.
+                               // Otherwise the check will fail for table selection with opened context menu.
+                               isInTable = isTableSelection( ranges, !!CKEDITOR.env.webkit ) && isTableSelection( fakeRanges );
+
+                       return isSameTable( table, fakeTable ) && ( isMenuOpen || isInTable );
+               }
+
+               function isSameTable( table, fakeTable ) {
+                       if ( !table || !fakeTable ) {
+                               return false;
+                       }
+
+                       return table.equals( fakeTable ) || fakeTable.contains( table );
+               }
+
+               if ( isValidTableSelection( table, fakeTable, ranges, fakeRanges ) ) {
+                       // Edge case: when editor contains only table and that table is selected using selectAll command,
+                       // then the selection is not properly refreshed and it must be done manually.
+                       if ( isTableRange && !isFakeTableRange ) {
+                               fakeSelection.selectRanges( ranges );
+                       }
+                       return true;
+               }
+
+               return false;
+       }
+
+       function getSelectedCells( ranges ) {
+               var cells = [],
+                       node,
+                       i;
+
+               function getCellsFromElement( element ) {
+                       var cells = element.find( 'td, th' ),
+                               cellsArray = [],
+                               i;
+
+                       for ( i = 0; i < cells.count(); i++ ) {
+                               cellsArray.push( cells.getItem( i ) );
+                       }
+
+                       return cellsArray;
+               }
+
+               for ( i = 0; i < ranges.length; i++ ) {
+                       node = ranges[ i ]._getTableElement();
+
+                       if ( node.is && node.is( { td: 1, th: 1 } ) ) {
+                               cells.push( node );
+                       } else {
+                               cells = cells.concat( getCellsFromElement( node ) );
+                       }
+               }
+
+               return cells;
+       }
+
+       // Cells in the same row are separated by tab and the rows are separated by new line, e.g.
+       // Cell 1.1     Cell 1.2
+       // Cell 2.1     Cell 2.2
+       function getTextFromSelectedCells( ranges ) {
+               var cells = getSelectedCells( ranges ),
+                       txt = '',
+                       currentRow = [],
+                       lastRow,
+                       i;
+
+               for ( i = 0; i < cells.length; i++ ) {
+                       if ( lastRow && !lastRow.equals( cells[ i ].getAscendant( 'tr' ) ) ) {
+                               txt += currentRow.join( '\t' ) + '\n';
+                               lastRow = cells[ i ].getAscendant( 'tr' );
+                               currentRow = [];
+                       } else if ( i === 0 ) {
+                               lastRow = cells[ i ].getAscendant( 'tr' );
+                       }
+
+                       currentRow.push( cells[ i ].getText() );
+               }
+
+               txt += currentRow.join( '\t' );
+
+               return txt;
+       }
+
+       function performFakeTableSelection( ranges ) {
+               var editor = this.root.editor,
+                       realSelection = editor.getSelection( 1 ),
+                       cache;
+
+               // Cleanup after previous selection - e.g. remove hidden sel container.
+               this.reset();
+
+               // Indicate that the table is being fake-selected to prevent infinite loop
+               // inside `selectRanges`.
+               isSelectingTable = true;
+
+               // Cancel selectionchange for the real selection.
+               realSelection.root.once( 'selectionchange', function( evt ) {
+                       evt.cancel();
+               }, null, null, 0 );
+
+               // Move real selection to the first selected range.
+               realSelection.selectRanges( [ ranges[ 0 ] ] );
+
+               cache = this._.cache;
+
+               // Caches given ranges.
+               cache.ranges = new CKEDITOR.dom.rangeList( ranges );
+               cache.type = CKEDITOR.SELECTION_TEXT;
+               cache.selectedElement = ranges[ 0 ]._getTableElement();
+
+               // `selectedText` should contain text from all selected data ("plain text table")
+               // to be compatible with Firefox's implementation.
+               cache.selectedText = getTextFromSelectedCells( ranges );
+
+               // Properties that will not be available when isFake.
+               cache.nativeSel = null;
+
+               this.isFake = 1;
+               this.rev = nextRev++;
+
+               // Save this selection, so it can be returned by editor.getSelection().
+               editor._.fakeSelection = this;
+
+               isSelectingTable = false;
+
+               // Fire selectionchange, just like a normal selection.
+               this.root.fire( 'selectionchange' );
+       }
+       // #### table selection : END
 
        // #### checkSelectionChange : START
 
 
                if ( sel ) {
                        realSel = this.getSelection( 1 );
-
-                       // If real (not locked/stored) selection was moved from hidden container,
-                       // then the fake-selection must be invalidated.
-                       if ( !realSel || !realSel.isHidden() ) {
+                       // If real (not locked/stored) selection was moved from hidden container
+                       // or is not a table one, then the fake-selection must be invalidated.
+                       if ( !realSel || ( !realSel.isHidden() && !isRealTableSelection( realSel, sel ) ) ) {
                                // Remove the cache from fake-selection references in use elsewhere.
                                sel.reset();
 
 
                var currentPath = this.elementPath();
                if ( !currentPath.compare( this._.selectionPreviousPath ) ) {
-                       // Handle case when dialog inserts new element but parent block and path (so also focus context) does not change. (#13362)
+                       // Handle case when dialog inserts new element but parent block and path (so also focus context) does not change. (http://dev.ckeditor.com/ticket/13362)
                        var sameBlockParent = this._.selectionPreviousPath && this._.selectionPreviousPath.blockLimit.equals( currentPath.blockLimit );
                        // Cache the active element, which we'll eventually lose on Webkit.
                        if ( CKEDITOR.env.webkit && !sameBlockParent )
        // * is a visible node,
        // * is a non-empty element (this rule will accept elements like <strong></strong> because they
        //      they were not accepted by the isVisible() check, not not <br> which cannot absorb the caret).
-       //      See #12621.
+       //      See http://dev.ckeditor.com/ticket/12621.
        function mayAbsorbCaret( node ) {
                if ( isVisible( node ) )
                        return true;
                if ( ctxRequiresFix( previous ) || ctxRequiresFix( next, 1 ) )
                        return true;
 
-               // Empty block/inline element is also affected. <span>^</span>, <p>^</p> (#7222)
-               // If you found this line confusing check #12655.
+               // Empty block/inline element is also affected. <span>^</span>, <p>^</p> (http://dev.ckeditor.com/ticket/7222)
+               // If you found this line confusing check http://dev.ckeditor.com/ticket/12655.
                if ( !( previous || next ) && !( ct.type == CKEDITOR.NODE_ELEMENT && ct.isBlockBoundary() && ct.getBogus() ) )
                        return true;
 
                return fillingChar;
        }
 
-       // Checks if a filling char has been used, eventualy removing it (#1272).
+       // Checks if a filling char has been used, eventually removing it (http://dev.ckeditor.com/ticket/1272).
        function checkFillingCharSequenceNodeReady( editable ) {
                var fillingChar = editable.getCustomData( 'cke-fillingChar' );
 
                        // creating it.
                        if ( fillingChar.getCustomData( 'ready' ) ) {
                                removeFillingCharSequenceNode( editable );
+                               editable.editor.fire( 'selectionCheck' );
                        } else {
                                fillingChar.setCustomData( 'ready', 1 );
                        }
 
                if ( fillingChar ) {
                        // Text selection position might get mangled by
-                       // subsequent dom modification, save it now for restoring. (#8617)
+                       // subsequent dom modification, save it now for restoring. (http://dev.ckeditor.com/ticket/8617)
                        if ( keepSelection !== false ) {
                                var sel = editable.getDocument().getSelection().getNative(),
                                        // Be error proof.
                }
        }
 
-       // #13816
+       // http://dev.ckeditor.com/ticket/13816
        function removeFillingCharSequenceString( str, nbspAware ) {
                if ( nbspAware ) {
                        return str.replace( fillingCharSequenceRegExp, function( m, p ) {
-                               // #10291 if filling char is followed by a space replace it with NBSP.
+                               // http://dev.ckeditor.com/ticket/10291 if filling char is followed by a space replace it with NBSP.
                                return p ? '\xa0' : '';
                        } );
                } else {
                        ( enclosedNode = range.getEnclosedNode() ) && enclosedNode.type == CKEDITOR.NODE_ELEMENT ) {
                        // So far we can't say that enclosed element is non-editable. Before checking,
                        // we'll shrink range (clone). Shrinking will stop on non-editable range, or
-                       // innermost element (#11114).
+                       // innermost element (http://dev.ckeditor.com/ticket/11114).
                        clone = range.clone();
                        clone.shrink( CKEDITOR.SHRINK_ELEMENT, true );
 
 
                        // Give the editable an initial selection on first focus,
                        // put selection at a consistent position at the start
-                       // of the contents. (#9507)
+                       // of the contents. (http://dev.ckeditor.com/ticket/9507)
                        if ( CKEDITOR.env.gecko ) {
                                editable.attachListener( editable, 'focus', function( evt ) {
                                        evt.removeListener();
                                        if ( restoreSel !== 0 ) {
                                                var nativ = editor.getSelection().getNative();
                                                // Do it only if the native selection is at an unwanted
-                                               // place (at the very start of the editable). #10119
+                                               // place (at the very start of the editable). http://dev.ckeditor.com/ticket/10119
                                                if ( nativ && nativ.isCollapsed && nativ.anchorNode == editable.$ ) {
                                                        var rng = editor.createRange();
                                                        rng.moveToElementEditStart( editable );
 
                                        // On Webkit when editor uses divarea, native focus causes editable viewport to scroll
                                        // to the top (when there is no active selection inside while focusing) so the scroll
-                                       // position should be restored after focusing back editable area. (#14659)
+                                       // position should be restored after focusing back editable area. (http://dev.ckeditor.com/ticket/14659)
                                        if ( restoreSel && editor._.previousScrollTop != null && editor._.previousScrollTop != editable.$.scrollTop ) {
                                                editable.$.scrollTop = editor._.previousScrollTop;
                                        }
                                editable.attachListener( editable, 'mousedown', function( evt ) {
                                        // IE scrolls document to top on right mousedown
                                        // when editor has no focus, remember this scroll
-                                       // position and revert it before context menu opens. (#5778)
+                                       // position and revert it before context menu opens. (http://dev.ckeditor.com/ticket/5778)
                                        if ( evt.data.$.button == 2 ) {
                                                var sel = editor.document.getSelection();
                                                if ( !sel || sel.getType() == CKEDITOR.SELECTION_NONE )
 
                                // When content doc is in standards mode, IE doesn't focus the editor when
                                // clicking at the region below body (on html element) content, we emulate
-                               // the normal behavior on old IEs. (#1659, #7932)
+                               // the normal behavior on old IEs. (http://dev.ckeditor.com/ticket/1659, http://dev.ckeditor.com/ticket/7932)
                                if ( doc.$.compatMode != 'BackCompat' ) {
                                        if ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) {
                                                var textRng,
                                                                html.removeListener( 'mousemove', onHover );
                                                                removeListeners();
 
-                                                               // Make it in effect on mouse up. (#9022)
+                                                               // Make it in effect on mouse up. (http://dev.ckeditor.com/ticket/9022)
                                                                textRng.select();
                                                        }
 
                                        if ( CKEDITOR.env.version > 7 && CKEDITOR.env.version < 11 ) {
                                                html.on( 'mousedown', function( evt ) {
                                                        if ( evt.data.getTarget().is( 'html' ) ) {
-                                                               // Limit the text selection mouse move inside of editable. (#9715)
+                                                               // Limit the text selection mouse move inside of editable. (http://dev.ckeditor.com/ticket/9715)
                                                                outerDoc.on( 'mouseup', onSelectEnd );
                                                                html.on( 'mouseup', onSelectEnd );
                                                        }
                        // 2. After the accomplish of keyboard and mouse events.
                        editable.attachListener( editable, 'selectionchange', checkSelectionChange, editor );
                        editable.attachListener( editable, 'keyup', checkSelectionChangeTimeout, editor );
+                       // http://dev.ckeditor.com/ticket/14407 - Don't even let anything happen if the selection is in a non-editable element.
+                       editable.attachListener( editable, 'keydown', function( evt ) {
+                               var sel = this.getSelection( 1 );
+                               if ( nonEditableAscendant( sel ) ) {
+                                       sel.selectElement( nonEditableAscendant( sel ) );
+                                       evt.data.preventDefault();
+                               }
+                       }, editor );
                        // Always fire the selection change on focus gain.
                        // On Webkit do this on DOMFocusIn, because the selection is unlocked on it too and
                        // we need synchronization between those listeners to not lost cached editor._.previousActive property
                                editor.selectionChange( 1 );
                        } );
 
-                       // #9699: On Webkit&Gecko in inline editor we have to check selection when it was changed
+                       // http://dev.ckeditor.com/ticket/9699: On Webkit&Gecko in inline editor we have to check selection when it was changed
                        // by dragging and releasing mouse button outside editable. Dragging (mousedown)
                        // has to be initialized in editable, but for mouseup we listen on document element.
                        if ( isInline && ( CKEDITOR.env.webkit || CKEDITOR.env.gecko ) ) {
                                        mouseDown = 0;
                                } );
                        }
-                       // In all other cases listen on simple mouseup over editable, as we did before #9699.
+                       // In all other cases listen on simple mouseup over editable, as we did before http://dev.ckeditor.com/ticket/9699.
                        //
                        // Use document instead of editable in non-IEs for observing mouseup
                        // since editable won't fire the event if selection process started within iframe and ended out
-                       // of the editor (#9851).
+                       // of the editor (http://dev.ckeditor.com/ticket/9851).
                        else {
                                editable.attachListener( CKEDITOR.env.ie ? editable : doc.getDocumentElement(), 'mouseup', checkSelectionChangeTimeout, editor );
                        }
                                                case 8: // BACKSPACE
                                                case 45: // INS
                                                case 46: // DEl
-                                                       removeFillingCharSequenceNode( editable );
+                                                       if ( editable.hasFocus ) {
+                                                               removeFillingCharSequenceNode( editable );
+                                                       }
                                        }
 
                                }, null, null, -1 );
                        }
 
-                       // Automatically select non-editable element when navigating into
-                       // it by left/right or backspace/del keys.
                        editable.attachListener( editable, 'keydown', getOnKeyDownListener( editor ), null, null, -1 );
 
                        function moveRangeToPoint( range, x, y ) {
-                               // Error prune in IE7. (#9034, #9110)
+                               // Error prune in IE7. (http://dev.ckeditor.com/ticket/9034, http://dev.ckeditor.com/ticket/9110)
                                try {
                                        range.moveToPoint( x, y );
                                } catch ( e ) {}
                                        range = sel.createRange();
 
                                // The selection range is reported on host, but actually it should applies to the content doc.
-                               if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ )
+                               // The parentElement may be null for read only mode in IE10 and below (http://dev.ckeditor.com/ticket/9780).
+                               if ( sel.type != 'None' && range.parentElement() && range.parentElement().ownerDocument == doc.$ )
                                        range.select();
                        }
+
+                       function nonEditableAscendant( sel ) {
+                               if ( CKEDITOR.env.ie ) {
+                                       var range = sel.getRanges()[ 0 ],
+                                               ascendant = range ? range.startContainer.getAscendant( function( parent ) {
+                                                               return parent.type == CKEDITOR.NODE_ELEMENT &&
+                                                                       ( parent.getAttribute( 'contenteditable' ) == 'false' || parent.getAttribute( 'contenteditable' ) == 'true' );
+                                                       }, true ) : null ;
+
+                                       return range && ascendant.getAttribute( 'contenteditable' ) == 'false' && ascendant;
+                               }
+                       }
                } );
 
                editor.on( 'setData', function() {
                        // Invalidate locked selection when unloading DOM.
-                       // (#9521, #5217#comment:32 and #11500#comment:11)
+                       // (http://dev.ckeditor.com/ticket/9521, http://dev.ckeditor.com/ticket/5217#comment:32 and http://dev.ckeditor.com/ticket/11500#comment:11)
                        editor.unlockSelection();
 
                        // Webkit's selection will mess up after the data loading.
                        editor.unlockSelection();
                } );
 
-               // IE9 might cease to work if there's an object selection inside the iframe (#7639).
+               // IE9 might cease to work if there's an object selection inside the iframe (http://dev.ckeditor.com/ticket/7639).
                if ( CKEDITOR.env.ie9Compat )
                        editor.on( 'beforeDestroy', clearSelection, null, null, 9 );
 
                // When loaded data are ready check whether hidden selection container was not loaded.
                editor.on( 'loadSnapshot', function() {
                        var isElement = CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT ),
-                               // TODO replace with el.find() which will be introduced in #9764,
+                               // TODO replace with el.find() which will be introduced in http://dev.ckeditor.com/ticket/9764,
                                // because it may happen that hidden sel container won't be the last element.
                                last = editor.editable().getLast( isElement );
 
        } );
 
        // On WebKit only, we need a special "filling" char on some situations
-       // (#1272). Here we set the events that should invalidate that char.
+       // (http://dev.ckeditor.com/ticket/1272). Here we set the events that should invalidate that char.
        if ( CKEDITOR.env.webkit ) {
                CKEDITOR.on( 'instanceReady', function( evt ) {
                        var editor = evt.editor;
 
                        // Filter Undo snapshot's HTML to get rid of Filling Char Sequence.
                        // Note: CKEDITOR.dom.range.createBookmark2() normalizes snapshot's
-                       // bookmarks to anticipate the removal of FCSeq from the snapshot's HTML (#13816).
+                       // bookmarks to anticipate the removal of FCSeq from the snapshot's HTML (http://dev.ckeditor.com/ticket/13816).
                        editor.on( 'getSnapshot', function( evt ) {
                                if ( evt.data ) {
                                        evt.data = removeFillingCharSequenceString( evt.data );
 
                        // Filter data to get rid of Filling Char Sequence. Filter on #toDataFormat
                        // instead of #getData because once removed, FCSeq may leave an empty element,
-                       // which should be pruned by the dataProcessor (#13816).
+                       // which should be pruned by the dataProcessor (http://dev.ckeditor.com/ticket/13816).
                        // Note: Used low priority to filter when dataProcessor works on strings,
                        // not pseudo–DOM.
                        editor.on( 'toDataFormat', function( evt ) {
 
                // Selection out of concerned range, empty the selection.
                // TODO check whether this condition cannot be reverted to its old
-               // form (commented out) after we closed #10438.
+               // form (commented out) after we closed http://dev.ckeditor.com/ticket/10438.
                //if ( !( rangeParent && ( root.equals( rangeParent ) || root.contains( rangeParent ) ) ) ) {
                if ( !(
                        rangeParent &&
                 *
                 *              var selection = editor.getSelection().getNative();
                 *
-                * @returns {Object} The native browser selection object.
+                * @returns {Object} The native browser selection object or null if this is a fake selection.
                 */
                getNative: function() {
                        if ( this._.cache.nativeSel !== undefined )
                 *              alert( ranges.length );
                 *
                 * @method
-                * @param {Boolean} [onlyEditables] If set to `true`, this function retrives editable ranges only.
+                * @param {Boolean} [onlyEditables] If set to `true`, this function retrieves editable ranges only.
                 * @returns {Array} Range instances that represent the current selection.
                 */
                getRanges: ( function() {
                                                index = -1,
                                                position, distance, container;
 
-                                       // Binary search over all element childs to test the range to see whether
+                                       // Binary search over all element children to test the range to see whether
                                        // range is right on the boundary of one element.
                                        while ( startIndex <= endIndex ) {
                                                index = Math.floor( ( startIndex + endIndex ) / 2 );
                                                        return { container: parent, offset: getNodeIndex( child ) };
                                        }
 
-                                       // All childs are text nodes,
-                                       // or to the right hand of test range are all text nodes. (#6992)
+                                       // All children are text nodes,
+                                       // or to the right hand of test range are all text nodes. (http://dev.ckeditor.com/ticket/6992)
                                        if ( index == -1 || index == siblings.length - 1 && position < 0 ) {
                                                // Adapt test range to embrace the entire parent contents.
                                                testRange.moveToElementText( parent );
 
                                                // IE report line break as CRLF with range.text but
                                                // only LF with textnode.nodeValue, normalize them to avoid
-                                               // breaking character counting logic below. (#3949)
+                                               // breaking character counting logic below. (http://dev.ckeditor.com/ticket/3949)
                                                distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
 
                                                siblings = parent.childNodes;
 
                                                // IE report line break as CRLF with range.text but
                                                // only LF with textnode.nodeValue, normalize them to avoid
-                                               // breaking character counting logic below. (#3949)
+                                               // breaking character counting logic below. (http://dev.ckeditor.com/ticket/3949)
                                                distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
 
                                                // Actual range anchor right beside test range at the inner boundary of text node.
                                                                }
                                                                child = sibling;
                                                        }
-                                                       // Measurement in IE could be somtimes wrong because of <select> element. (#4611)
+                                                       // Measurement in IE could be sometimes wrong because of <select> element. (http://dev.ckeditor.com/ticket/4611)
                                                        catch ( e ) {
                                                                return { container: parent, offset: getNodeIndex( child ) };
                                                        }
                                                boundaryInfo = getBoundaryInformation( nativeRange );
                                                range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
 
-                                               // Correct an invalid IE range case on empty list item. (#5850)
+                                               // Correct an invalid IE range case on empty list item. (http://dev.ckeditor.com/ticket/5850)
                                                if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING && range.endOffset <= range.startContainer.getIndex() )
                                                        range.collapse();
 
                        } )() :
                        function() {
                                // On browsers implementing the W3C range, we simply
-                               // tranform the native ranges in CKEDITOR.dom.range
+                               // transform the native ranges in CKEDITOR.dom.range
                                // instances.
 
                                var ranges = [],
                                        return ranges;
 
                                // Split range into multiple by read-only nodes.
-                               // Clone ranges array to avoid changing cached ranges (#11493).
+                               // Clone ranges array to avoid changing cached ranges (http://dev.ckeditor.com/ticket/11493).
                                return extractEditableRanges( new CKEDITOR.dom.rangeList( ranges.slice() ) );
                        };
                } )(),
 
                                                        // Decrease the range content to exclude particial
                                                        // selected node on the start which doesn't have
-                                                       // visual impact. ( #3231 )
+                                                       // visual impact. ( http://dev.ckeditor.com/ticket/3231 )
                                                        while ( 1 ) {
                                                                var startContainer = range.startContainer,
                                                                        startOffset = range.startOffset;
-                                                               // Limit the fix only to non-block elements.(#3950)
+                                                               // Limit the fix only to non-block elements.(http://dev.ckeditor.com/ticket/3950)
                                                                if ( startOffset == ( startContainer.getChildCount ? startContainer.getChildCount() : startContainer.getLength() ) && !startContainer.isBlockBoundary() )
                                                                        range.setStartAfter( startContainer );
                                                                else
                 *              var element = editor.getSelection().getSelectedElement();
                 *              alert( element.getName() );
                 *
-                * @returns {CKEDITOR.dom.element} The selected element. Null if no
+                * @returns {CKEDITOR.dom.element/null} The selected element. `null` if no
                 * selection is available or the selection type is not {@link CKEDITOR#SELECTION_ELEMENT}.
                 */
                getSelectedElement: function() {
 
                        if ( restore ) {
                                var selectedElement = this.getSelectedElement(),
-                                       ranges = !selectedElement && this.getRanges(),
+                                       ranges = this.getRanges(),
                                        faked = this.isFake;
                        }
 
                                if ( !( common && common.getAscendant( 'body', 1 ) ) )
                                        return;
 
-                               if ( faked )
+                               if ( isTableSelection( ranges ) ) {
+                                       // Tables have it's own selection method.
+                                       performFakeTableSelection.call( this, ranges );
+                               } else if ( faked )
                                        this.fake( selectedElement );
                                else if ( selectedElement )
                                        this.selectElement( selectedElement );
                        // Check if there's a hiddenSelectionContainer in editable at some index.
                        // Some ranges may be anchored after the hiddenSelectionContainer and,
                        // once the container is removed while resetting the selection, they
-                       // may need new endOffset (one element less within the range) (#11021 #11393).
+                       // may need new endOffset (one element less within the range) (http://dev.ckeditor.com/ticket/11021 http://dev.ckeditor.com/ticket/11393).
                        if ( hadHiddenSelectionContainer )
                                fixRangesAfterHiddenSelectionContainer( ranges, this.root );
 
                                return;
                        }
 
+                       // Handle special case - fake selection of table cells.
+                       if ( editor && editor.plugins.tableselection &&
+                               CKEDITOR.plugins.tableselection.isSupportedEnvironment &&
+                               isTableSelection( ranges ) && !isSelectingTable
+                       ) {
+                               performFakeTableSelection.call( this, ranges );
+                               return;
+                       }
+
                        if ( isMSSelection ) {
                                var notWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
                                        fillerTextRegex = /\ufeff|\u00a0/,
                                if ( range.startContainer.type == CKEDITOR.NODE_ELEMENT && range.startContainer.getName() in nonCells ||
                                        range.endContainer.type == CKEDITOR.NODE_ELEMENT && range.endContainer.getName() in nonCells ) {
                                        range.shrink( CKEDITOR.NODE_ELEMENT, true );
-                                       // The range might get collapsed (#7975). Update cached variable.
+                                       // The range might get collapsed (http://dev.ckeditor.com/ticket/7975). Update cached variable.
                                        collapsed = range.collapsed;
                                }
 
 
                                        // Append a temporary <span>&#65279;</span> before the selection.
                                        // This is needed to avoid IE destroying selections inside empty
-                                       // inline elements, like <b></b> (#253).
+                                       // inline elements, like <b></b> (http://dev.ckeditor.com/ticket/253).
                                        // It is also needed when placing the selection right after an inline
                                        // element to avoid the selection moving inside of it.
                                        dummySpan = range.document.createElement( 'span' );
-                                       dummySpan.setHtml( '&#65279;' ); // Zero Width No-Break Space (U+FEFF). See #1359.
+                                       dummySpan.setHtml( '&#65279;' ); // Zero Width No-Break Space (U+FEFF). See http://dev.ckeditor.com/ticket/1359.
                                        dummySpan.insertBefore( startNode );
 
                                        if ( isStartMarkerAlone ) {
                                                // To expand empty blocks or line spaces after <br>, we need
                                                // instead to have any char, which will be later deleted using the
                                                // selection.
-                                               // \ufeff = Zero Width No-Break Space (U+FEFF). (#1359)
+                                               // \ufeff = Zero Width No-Break Space (U+FEFF). (http://dev.ckeditor.com/ticket/1359)
                                                range.document.createText( '\ufeff' ).insertBefore( startNode );
                                        }
                                }
                        } else {
                                var sel = this.getNative();
 
-                               // getNative() returns null if iframe is "display:none" in FF. (#6577)
+                               // getNative() returns null if iframe is "display:none" in FF. (http://dev.ckeditor.com/ticket/6577)
                                if ( !sel )
                                        return;
 
                                                between.setStart( left.endContainer, left.endOffset );
                                                between.setEnd( right.startContainer, right.startOffset );
 
-                                               // Don't confused by Firefox adjancent multi-ranges
+                                               // Don't confused by Firefox adjacent multi-ranges
                                                // introduced by table cells selection.
                                                if ( !between.collapsed ) {
                                                        between.shrink( CKEDITOR.NODE_ELEMENT, true );
 
                                                        // The following cases has to be considered:
                                                        // 1. <span contenteditable="false">[placeholder]</span>
-                                                       // 2. <input contenteditable="false"  type="radio"/> (#6621)
+                                                       // 2. <input contenteditable="false"  type="radio"/> (http://dev.ckeditor.com/ticket/6621)
                                                        if ( ancestor.isReadOnly() || enclosed && enclosed.isReadOnly() ) {
                                                                right.setStart( left.startContainer, left.startOffset );
                                                                ranges.splice( i--, 1 );
 
                                        if ( range.collapsed && CKEDITOR.env.webkit && rangeRequiresFix( range ) ) {
                                                // Append a zero-width space so WebKit will not try to
-                                               // move the selection by itself (#1272).
+                                               // move the selection by itself (http://dev.ckeditor.com/ticket/1272).
                                                var fillingChar = createFillingCharSequenceNode( this.root );
                                                range.insertNode( fillingChar );
 
                fake: function( element, ariaLabel ) {
                        var editor = this.root.editor;
 
-                       // Attempt to retreive aria-label if possible (#14539).
+                       // Attempt to retrieve aria-label if possible (http://dev.ckeditor.com/ticket/14539).
                        if ( ariaLabel === undefined && element.hasAttribute( 'aria-label' ) ) {
                                ariaLabel = element.getAttribute( 'aria-label' );
                        }
                        return !!( el && el.data( 'cke-hidden-sel' ) );
                },
 
+               /**
+                * Checks if the selection contains an HTML element inside a table.
+                * Returns `false` for text selection inside a table (e.g. it will return `false`
+                * for text selected in one cell).
+                *
+                *              editor.getSelection().isInTable();
+                *
+                * @since 4.7.0
+                * @param {Boolean} [allowPartialSelection=false] Whether a partial cell selection should be included.
+                * Added in 4.7.2.
+                * @returns {Boolean}
+                */
+               isInTable: function( allowPartialSelection ) {
+                       return isTableSelection( this.getRanges(), allowPartialSelection );
+               },
+
+               /**
+                * Checks if the selection contains only one range which is collapsed.
+                *
+                *              if ( editor.getSelection().isCollapsed() ) {
+                *                      // Do something when the selection is collapsed.
+                *              }
+                *
+                * @since 4.7.3
+                * @returns {Boolean}
+                */
+               isCollapsed: function() {
+                       var ranges = this.getRanges();
+
+                       return ranges.length === 1 && ranges[ 0 ].collapsed;
+               },
+
                /**
                 * Creates a bookmark for each range of this selection (from {@link #getRanges})
                 * by calling the {@link CKEDITOR.dom.range#createBookmark} method,
 
                        // It may happen that the content change during loading, before selection is set so bookmark leads to text node.
                        if ( bookmarks.isFake ) {
-                               node = ranges[ 0 ].getEnclosedNode();
+                               node = isTableSelection( ranges ) ? ranges[ 0 ]._getTableElement() : ranges[ 0 ].getEnclosedNode();
+
                                if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) {
                                        CKEDITOR.warn( 'selection-not-fake' );
                                        bookmarks.isFake = 0;
                                }
                        }
 
-                       if ( bookmarks.isFake )
+                       if ( bookmarks.isFake && !isTableSelection( ranges ) ) {
                                this.fake( node );
-                       else
+                       } else {
                                this.selectRanges( ranges );
+                       }
 
                        return this;
                },
                 * Remove all the selection ranges from the document.
                 */
                removeAllRanges: function() {
-                       // Don't clear selection outside this selection's root (#11500).
+                       // Don't clear selection outside this selection's root (http://dev.ckeditor.com/ticket/11500).
                        if ( this.getType() == CKEDITOR.SELECTION_NONE )
                                return;
 
index 4f0ee7c573e096b8175337adf2f2f3b82e1a3e32..290157d4bdc9008c108506e5f2056131a940266c 100644 (file)
                        offset = overrideOffset || ( icon && icon.offset );
                        bgsize = overrideBgsize || ( icon && icon.bgsize ) || '16px';
 
-                       // If we use apostrophes in background-image, we must escape apostrophes in path (just to be sure). (#13361)
+                       // If we use apostrophes in background-image, we must escape apostrophes in path (just to be sure). (http://dev.ckeditor.com/ticket/13361)
                        if ( path )
                                path = path.replace( /'/g, '\\\'' );
 
index efb9d7f9682c8bee46fa8063f7b8560d2a1f458a..b3cf0bc9f79adf13130bbdb228cf8f846deab02d 100644 (file)
@@ -235,7 +235,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                                var initialEnterMode = this._.enterMode;
 
                                // Before CKEditor 4.4 style knew nothing about editor, so in order to provide enterMode
-                               // which should be used developers were forced to hack the style object (see #10190).
+                               // which should be used developers were forced to hack the style object (see http://dev.ckeditor.com/ticket/10190).
                                // Since CKEditor 4.4 style knows about editor (at least when it's being applied/removed), but we
                                // use _.enterMode for backward compatibility with those hacks.
                                // Note: we should not change style's enter mode if it was already set.
@@ -569,7 +569,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                        var styleVal = stylesDef[ style ],
                                text = ( style + ':' + styleVal ).replace( semicolonFixRegex, ';' );
 
-                       // Some browsers don't support 'inherit' property value, leave them intact. (#5242)
+                       // Some browsers don't support 'inherit' property value, leave them intact. (http://dev.ckeditor.com/ticket/5242)
                        if ( styleVal == 'inherit' )
                                specialStylesText += text;
                        else
@@ -1024,7 +1024,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                                        if ( !CKEDITOR.env.ie )
                                                styleNode.$.normalize();
                                }
-                               // Style already inherit from parents, left just to clear up any internal overrides. (#5931)
+                               // Style already inherit from parents, left just to clear up any internal overrides. (http://dev.ckeditor.com/ticket/5931)
                                else {
                                        styleNode = new CKEDITOR.dom.element( 'span' );
                                        styleRange.extractContents().appendTo( styleNode );
@@ -1042,7 +1042,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                // Remove the bookmark nodes.
                range.moveToBookmark( boundaryNodes );
 
-               // Minimize the result range to exclude empty text nodes. (#5374)
+               // Minimize the result range to exclude empty text nodes. (http://dev.ckeditor.com/ticket/5374)
                range.shrink( CKEDITOR.SHRINK_TEXT );
 
                // Get inside the remaining element if range.shrink( TEXT ) has failed because of non-editable elements inside.
@@ -1058,27 +1058,31 @@ CKEDITOR.STYLE_OBJECT = 3;
                range.enlarge( CKEDITOR.ENLARGE_INLINE, 1 );
 
                var bookmark = range.createBookmark(),
-                       startNode = bookmark.startNode;
+                       startNode = bookmark.startNode,
+                       alwaysRemoveElement = this._.definition.alwaysRemoveElement;
 
                if ( range.collapsed ) {
                        var startPath = new CKEDITOR.dom.elementPath( startNode.getParent(), range.root ),
-                               // The topmost element in elementspatch which we should jump out of.
+                               // The topmost element in elements path which we should jump out of.
                                boundaryElement;
 
-
                        for ( var i = 0, element; i < startPath.elements.length && ( element = startPath.elements[ i ] ); i++ ) {
                                // 1. If it's collaped inside text nodes, try to remove the style from the whole element.
                                //
                                // 2. Otherwise if it's collapsed on element boundaries, moving the selection
                                //  outside the styles instead of removing the whole tag,
-                               //  also make sure other inner styles were well preserverd.(#3309)
-                               if ( element == startPath.block || element == startPath.blockLimit )
+                               //  also make sure other inner styles were well preserved.(http://dev.ckeditor.com/ticket/3309)
+                               //
+                               // 3. Force removing the element even if it's an boundary element when alwaysRemoveElement is true.
+                               // Without it, the links won't be unlinked if the cursor is placed right before/after it. (http://dev.ckeditor.com/ticket/13062)
+                               if ( element == startPath.block || element == startPath.blockLimit ) {
                                        break;
+                               }
 
                                if ( this.checkElementRemovable( element ) ) {
                                        var isStart;
 
-                                       if ( range.collapsed && ( range.checkBoundaryOfElement( element, CKEDITOR.END ) || ( isStart = range.checkBoundaryOfElement( element, CKEDITOR.START ) ) ) ) {
+                                       if ( !alwaysRemoveElement && range.collapsed && ( range.checkBoundaryOfElement( element, CKEDITOR.END ) || ( isStart = range.checkBoundaryOfElement( element, CKEDITOR.START ) ) ) ) {
                                                boundaryElement = element;
                                                boundaryElement.match = isStart ? 'start' : 'end';
                                        } else {
@@ -1087,10 +1091,11 @@ CKEDITOR.STYLE_OBJECT = 3;
                                                // no difference that they're separate entities in the DOM tree. So, merge
                                                // them before removal.
                                                element.mergeSiblings();
-                                               if ( element.is( this.element ) )
+                                               if ( element.is( this.element ) ) {
                                                        removeFromElement.call( this, element );
-                                               else
+                                               } else {
                                                        removeOverrides( element, getOverrides( this )[ element.getName() ] );
+                                               }
                                        }
                                }
                        }
@@ -1235,7 +1240,7 @@ CKEDITOR.STYLE_OBJECT = 3;
        }
 
        function applyObjectStyle( range ) {
-               // Selected or parent element. (#9651)
+               // Selected or parent element. (http://dev.ckeditor.com/ticket/9651)
                var start = range.getEnclosedNode() || range.getCommonAncestor( false, true ),
                        element = new CKEDITOR.dom.elementPath( start, range.root ).contains( this.element, 1 );
 
@@ -1276,7 +1281,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                var iterator = range.createIterator();
                iterator.enforceRealBlocks = true;
 
-               // make recognize <br /> tag as a separator in ENTER_BR mode (#5121)
+               // make recognize <br /> tag as a separator in ENTER_BR mode (http://dev.ckeditor.com/ticket/5121)
                if ( this._.enterMode )
                        iterator.enlargeBr = ( this._.enterMode != CKEDITOR.ENTER_BR );
 
@@ -1326,7 +1331,7 @@ CKEDITOR.STYLE_OBJECT = 3;
 
        // Replace the original block with new one, with special treatment
        // for <pre> blocks to make sure content format is well preserved, and merging/splitting adjacent
-       // when necessary. (#3188)
+       // when necessary. (http://dev.ckeditor.com/ticket/3188)
        function replaceBlock( block, newBlock ) {
                // Block is to be removed, create a temp element to
                // save contents.
@@ -1502,11 +1507,11 @@ CKEDITOR.STYLE_OBJECT = 3;
 
                // Remove definition attributes/style from the elemnt.
                for ( var attName in attributes ) {
-                       // The 'class' element value must match (#1318).
+                       // The 'class' element value must match (http://dev.ckeditor.com/ticket/1318).
                        if ( ( attName == 'class' || this._.definition.fullMatch ) && element.getAttribute( attName ) != normalizeProperty( attName, attributes[ attName ] ) )
                                continue;
 
-                       // Do not touch data-* attributes (#11011) (#11258).
+                       // Do not touch data-* attributes (http://dev.ckeditor.com/ticket/11011) (http://dev.ckeditor.com/ticket/11258).
                        if ( keepDataAttrs && attName.slice( 0, 5 ) == 'data-' )
                                continue;
 
@@ -1515,7 +1520,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                }
 
                for ( var styleName in styles ) {
-                       // Full match style insist on having fully equivalence. (#5018)
+                       // Full match style insist on having fully equivalence. (http://dev.ckeditor.com/ticket/5018)
                        if ( this._.definition.fullMatch && element.getStyle( styleName ) != normalizeProperty( styleName, styles[ styleName ], true ) )
                                continue;
 
@@ -1649,7 +1654,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                // Create the element.
                el = new CKEDITOR.dom.element( elementName, targetDocument );
 
-               // #6226: attributes should be copied before the new ones are applied
+               // http://dev.ckeditor.com/ticket/6226: attributes should be copied before the new ones are applied
                if ( element )
                        element.copyAttributes( el );
 
@@ -1797,7 +1802,7 @@ CKEDITOR.STYLE_OBJECT = 3;
        // @returns {Boolean}
        function compareCssText( source, target ) {
                function filter( string, propertyName ) {
-                       // In case of font-families we'll skip quotes. (#10750)
+                       // In case of font-families we'll skip quotes. (http://dev.ckeditor.com/ticket/10750)
                        return propertyName.toLowerCase() == 'font-family' ? string.replace( /["']/g, '' ) : string;
                }
 
@@ -1824,13 +1829,25 @@ CKEDITOR.STYLE_OBJECT = 3;
                var doc = selection.document,
                        ranges = selection.getRanges(),
                        func = remove ? this.removeFromRange : this.applyToRange,
-                       range;
+                       originalRanges,
+                       range,
+                       i;
+
+               // In case of fake table selection, we would like to apply all styles and then select
+               // the original ranges. Otherwise browsers would complain about discontiguous selection.
+               if ( selection.isFake && selection.isInTable() ) {
+                       originalRanges = [];
+
+                       for ( i = 0; i < ranges.length; i++ ) {
+                               originalRanges.push( ranges[ i ].clone() );
+                       }
+               }
 
                var iterator = ranges.createIterator();
                while ( ( range = iterator.getNextRange() ) )
                        func.call( this, range, editor );
 
-               selection.selectRanges( ranges );
+               selection.selectRanges( originalRanges || ranges );
                doc.removeCustomData( 'doc_processing_style' );
        }
 } )();
@@ -1901,7 +1918,7 @@ CKEDITOR.styleCommand.prototype.exec = function( editor ) {
  */
 CKEDITOR.stylesSet = new CKEDITOR.resourceManager( '', 'stylesSet' );
 
-// Backward compatibility (#5025).
+// Backward compatibility (http://dev.ckeditor.com/ticket/5025).
 CKEDITOR.addStylesSet = CKEDITOR.tools.bind( CKEDITOR.stylesSet.add, CKEDITOR.stylesSet );
 CKEDITOR.loadStylesSet = function( name, url, callback ) {
        CKEDITOR.stylesSet.addExternal( name, url, '' );
@@ -2004,7 +2021,7 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype, {
                                return;
                        }
 
-                       // #5352 Allow to define the styles directly in the config object
+                       // http://dev.ckeditor.com/ticket/5352 Allow to define the styles directly in the config object
                        if ( configStyleSet instanceof Array ) {
                                editor._.stylesDefinitions = configStyleSet;
                                callback( configStyleSet );
index 2b9e93281e8ea0c14057f50dd1f6351b0b0b52b3..a627c34d2281ebb494d105af710048240e24805f 100644 (file)
@@ -9,11 +9,7 @@
  */
 
 ( function() {
-       var cache = {},
-               rePlaceholder = /{([^}]+)}/g,
-               reEscapableChars = /([\\'])/g,
-               reNewLine = /\n/g,
-               reCarriageReturn = /\r/g;
+       var rePlaceholder = /{([^}]+)}/g;
 
        /**
         * Lightweight template used to build the output string from variables.
         * @param {String} source The template source.
         */
        CKEDITOR.template = function( source ) {
-               // Builds an optimized function body for the output() method, focused on performance.
-               // For example, if we have this "source":
-               //      '<div style="{style}">{editorName}</div>'
-               // ... the resulting function body will be (apart from the "buffer" handling):
-               //      return [ '<div style="', data['style'] == undefined ? '{style}' : data['style'], '">', data['editorName'] == undefined ? '{editorName}' : data['editorName'], '</div>' ].join('');
+               /**
+                * The current template source.
+                *
+                * @readonly
+                * @member CKEDITOR.template
+                * @property {String}
+                */
+               this.source = String( source );
+       };
 
-               // Try to read from the cache.
-               if ( cache[ source ] )
-                       this.output = cache[ source ];
-               else {
-                       var fn = source
-                               // Escape chars like slash "\" or single quote "'".
-                               .replace( reEscapableChars, '\\$1' )
-                               .replace( reNewLine, '\\n' )
-                               .replace( reCarriageReturn, '\\r' )
-                               // Inject the template keys replacement.
-                               .replace( rePlaceholder, function( m, key ) {
-                                       return "',data['" + key + "']==undefined?'{" + key + "}':data['" + key + "'],'";
-                               } );
+       /**
+        * Processes the template, filling its variables with the provided data.
+        *
+        * @method
+        * @member CKEDITOR.template
+        * @param {Object} data An object containing properties whose values will be
+        * used to fill the template variables. The property names must match the
+        * template variables names. Variables without matching properties will be
+        * kept untouched.
+        * @param {Array} [buffer] An array that the output data will be pushed into.
+        * The number of entries appended to the array is unknown.
+        * @returns {String/Number} If `buffer` has not been provided, the processed
+        * template output data; otherwise the new length of `buffer`.
+        */
+       CKEDITOR.template.prototype.output = function( data, buffer ) {
+               var output = this.source.replace( rePlaceholder, function( fullMatch, dataKey ) {
+                       return data[ dataKey ] !== undefined ? data[ dataKey ] : fullMatch;
+               } );
 
-                       fn = "return buffer?buffer.push('" + fn + "'):['" + fn + "'].join('');";
-                       this.output = cache[ source ] = Function( 'data', 'buffer', fn );
-               }
+               return buffer ? buffer.push( output ) : output;
        };
 } )();
-
-/**
- * Processes the template, filling its variables with the provided data.
- *
- * @method output
- * @param {Object} data An object containing properties which values will be
- * used to fill the template variables. The property names must match the
- * template variables names. Variables without matching properties will be
- * kept untouched.
- * @param {Array} [buffer] An array into which the output data will be pushed into.
- * The number of entries appended to the array is unknown.
- * @returns {String/Number} If `buffer` has not been provided, the processed
- * template output data, otherwise the new length of `buffer`.
- */
index 7e0083f6b63384db5c759c12cf36c6e647a5a698..a4b736d647700bb6b59f3701a0f19b398f14dc9c 100644 (file)
                                styleText = CKEDITOR.tools.normalizeHex( CKEDITOR.tools.convertRgbToHex( styleText ) );
                        }
 
-                       // IE will leave a single semicolon when failed to parse the style text. (#3891)
+                       // IE will leave a single semicolon when failed to parse the style text. (http://dev.ckeditor.com/ticket/3891)
                        if ( !styleText || styleText == ';' )
                                return retval;
 
                        return selector;
                },
 
+               /**
+                * Detects which mouse button generated a given DOM event.
+                *
+                * @since 4.7.3
+                * @param {CKEDITOR.dom.event} evt DOM event.
+                * @returns {Number|Boolean} Returns a number indicating the mouse button or `false`
+                * if the mouse button cannot be determined.
+                */
+               getMouseButton: function( evt ) {
+                       var evtData = evt.data,
+                               domEvent = evtData && evtData.$;
+
+                       if ( !( evtData && domEvent ) ) {
+                               // Added in case when there's no data available. That's the case in some unit test in built version which
+                               // mock event but doesn't put data object.
+                               return false;
+                       }
+
+                       if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) {
+                               if ( domEvent.button === 4 ) {
+                                       return CKEDITOR.MOUSE_BUTTON_MIDDLE;
+                               } else if ( domEvent.button === 1 ) {
+                                       return CKEDITOR.MOUSE_BUTTON_LEFT;
+                               } else {
+                                       return CKEDITOR.MOUSE_BUTTON_RIGHT;
+                               }
+                       }
+
+                       return domEvent.button;
+               },
+
                /**
                 * A set of functions for operations on styles.
                 *
                                        yellowgreen: '#9ACD32'
                                },
 
+                               _borderStyle: [
+                                       'none',
+                                       'hidden',
+                                       'dotted',
+                                       'dashed',
+                                       'solid',
+                                       'double',
+                                       'groove',
+                                       'ridge',
+                                       'inset',
+                                       'outset'
+                               ],
+
+                               _widthRegExp: /^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/,
+
                                _rgbaRegExp: /rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,
 
                                _hslaRegExp: /hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,
                                 * @member CKEDITOR.tools.style.parse
                                 */
                                background: function( value ) {
-                                       var ret = [],
-                                               colors = [];
-
-                                       colors = this._findColor( value );
+                                       var ret = {},
+                                               colors = this._findColor( value );
 
                                        if ( colors.length ) {
                                                ret.color = colors[ 0 ];
                                        return ret;
                                },
 
+                               /**
+                                * Parses the `border` CSS property shorthand format.
+                                * This CSS property does not support inheritance (https://www.w3.org/TR/css3-background/#the-border-shorthands).
+                                *
+                                *              console.log( CKEDITOR.tools.style.parse.border( '3px solid #ffeedd' ) );
+                                *              // Logs: { width: "3px", style: "solid", color: "#ffeedd" }
+                                *
+                                * @param {String} value The `border` property value.
+                                * @returns {Object}
+                                * @returns {String} return.width The border-width attribute.
+                                * @returns {String} return.style The border-style attribute.
+                                * @returns {String} return.color The border-color attribute.
+                                * @member CKEDITOR.tools.style.parse
+                                */
+                               border: function( value ) {
+                                       var ret = {},
+                                               input = value.split( /\s+/ );
+
+                                       CKEDITOR.tools.array.forEach( input, function( val ) {
+                                               if ( !ret.color ) {
+                                                       var parseColor = CKEDITOR.tools.style.parse._findColor( val );
+                                                       if ( parseColor.length ) {
+                                                               ret.color = parseColor[ 0 ];
+                                                               return;
+                                                       }
+                                               }
+
+                                               if ( !ret.style ) {
+                                                       if ( CKEDITOR.tools.indexOf( CKEDITOR.tools.style.parse._borderStyle, val ) !== -1 ) {
+                                                               ret.style = val;
+                                                               return;
+                                                       }
+                                               }
+
+                                               if ( !ret.width ) {
+                                                       if ( CKEDITOR.tools.style.parse._widthRegExp.test( val ) ) {
+                                                               ret.width = val;
+                                                               return;
+                                                       }
+                                               }
+
+                                       } );
+                                       return ret;
+                               },
+
                                /**
                                 * Searches the `value` for any CSS color occurrences and returns it.
                                 *
                                }
                                return acc;
                        }
+               },
+
+               /**
+                * A set of object helpers.
+                *
+                * @property {CKEDITOR.tools.object}
+                * @member CKEDITOR.tools
+                */
+               object: {
+                       /**
+                        * Returns the first key from `obj` which has a given `value`.
+                        *
+                        * @param {Object} obj An object whose `key` is looked for.
+                        * @param {Mixed} value An object's `value` to be looked for.
+                        * @returns {String/null} Matched `key` or `null` if not found.
+                        * @member CKEDITOR.tools.object
+                        */
+
+                       findKey: function( obj, value ) {
+                               if ( typeof obj !== 'object' ) {
+                                       return null;
+                               }
+
+                               var key;
+
+                               for ( key in obj ) {
+                                       if ( obj[ key ] === value ) {
+                                               return key;
+                                       }
+                               }
+
+                               return null;
+                       }
                }
        };
 
         */
        CKEDITOR.tools.array.isArray = CKEDITOR.tools.isArray;
 
+       /**
+        * Left mouse button.
+        *
+        * @since 4.7.3
+        * @readonly
+        * @property {Number} [=0]
+        * @member CKEDITOR
+        */
+       CKEDITOR.MOUSE_BUTTON_LEFT = 0;
 
+       /**
+        * Middle mouse button.
+        *
+        * @since 4.7.3
+        * @readonly
+        * @property {Number} [=1]
+        * @member CKEDITOR
+        */
+       CKEDITOR.MOUSE_BUTTON_MIDDLE = 1;
+
+       /**
+        * Right mouse button.
+        *
+        * @since 4.7.3
+        * @readonly
+        * @property {Number} [=2]
+        * @member CKEDITOR
+        */
+       CKEDITOR.MOUSE_BUTTON_RIGHT = 2;
 
        /**
         * The namespace containing functions to work on CSS properties.
         * @since 4.6.1
         * @class CKEDITOR.tools.array
         */
+
+       /**
+        * The namespace with helper functions and polyfills for objects.
+        *
+        * @since 4.7.1
+        * @class CKEDITOR.tools.object
+        */
 } )();
 
 // PACKAGER_RENAME( CKEDITOR.tools )
index 925dc4a9012eaf5173fd72622717dd26bdf41fd3..ea941be8251647598c9008b1b0e75b022c978ad9 100644 (file)
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'af' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
+                       8: 'Backspace',
+                       13: 'Enter',
+                       16: 'Skuif',
                        17: 'Ctrl',
                        18: 'Alt',
-                       32: 'Space', // MISSING
+                       32: 'Spasie',
                        35: 'Einde',
                        36: 'Tuis',
                        46: 'Verwyder',
-                       224: 'Command' // MISSING
+                       224: 'Bevel'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Sleutel kombenasie'
        }
 };
index b76bee7987d77bd63206e33e065ae8eb80e6a2ed..b5cf2269097a4c5dc77facc9e82c36a1d1b77608 100644 (file)
@@ -104,14 +104,14 @@ CKEDITOR.lang[ 'cs' ] = {
                        16: 'Shift',
                        17: 'Ctrl',
                        18: 'Alt',
-                       32: 'Space', // MISSING
+                       32: 'Mezerník',
                        35: 'Konec',
                        36: 'Domů',
                        46: 'Smazat',
-                       224: 'Command' // MISSING
+                       224: 'Command'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Klávesová zkratka'
        }
 };
index cf1bc0935b93ceb7cd4fcac0f93d622f6489d90c..441179acd18a5654ac845c1713e492cffee57772 100644 (file)
@@ -63,7 +63,7 @@ CKEDITOR.lang[ 'de' ] = {
                generalTab: 'Allgemein',
                advancedTab: 'Erweitert',
                validateNumberFailed: 'Dieser Wert ist keine Nummer.',
-               confirmNewPage: 'Alle nicht gespeicherten Änderungen gehen verlohren. Sind Sie sicher die neue Seite zu laden?',
+               confirmNewPage: 'Alle nicht gespeicherten Änderungen gehen verloren. Sind Sie sicher die neue Seite zu laden?',
                confirmCancel: 'Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?',
                options: 'Optionen',
                target: 'Zielseite',
index 445c43da7abcb4f6654b412f03fdf1a72e98c8cc..635ce36b2e4d32b289c833c9ea2d86a0fe4b43ee 100644 (file)
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'el' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
-                       17: 'Ctrl', // MISSING
-                       18: 'Alt', // MISSING
+                       8: 'Backspace',
+                       13: 'Enter',
+                       16: 'Shift',
+                       17: 'Ctrl',
+                       18: 'Alt',
                        32: 'Space', // MISSING
-                       35: 'End', // MISSING
-                       36: 'Home', // MISSING
-                       46: 'Delete', // MISSING
+                       35: 'End',
+                       36: 'Home',
+                       46: 'Delete',
                        224: 'Command' // MISSING
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Συντόμευση πληκτρολογίου'
        }
 };
index f270dfc366fa3efdb02a38959a7d0373f40bd76c..4ea1b8491a8d1ffdd8170f59494b7df9b3628ea4 100644 (file)
@@ -104,14 +104,14 @@ CKEDITOR.lang[ 'eo' ] = {
                        16: 'Registrumo',
                        17: 'Stirklavo',
                        18: 'Alt-klavo',
-                       32: 'Space', // MISSING
+                       32: 'Spaco',
                        35: 'Fino',
                        36: 'Hejmo',
                        46: 'Forigi',
-                       224: 'Command' // MISSING
+                       224: 'Komando'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Fulmoklavo'
        }
 };
diff --git a/sources/lang/es-mx.js b/sources/lang/es-mx.js
new file mode 100644 (file)
index 0000000..3b8c1c3
--- /dev/null
@@ -0,0 +1,116 @@
+/**
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+/**
+* @fileOverview 
+*/
+
+/**#@+
+   @type String
+   @example
+*/
+
+/**
+ * Contains the dictionary of language entries.
+ * @namespace
+ */
+CKEDITOR.lang[ 'es-mx' ] = {
+       // ARIA description.
+       editor: 'Editor de texto enriquecido',
+       editorPanel: 'Panel del editor de texto',
+
+       // Common messages and labels.
+       common: {
+               // Screenreader titles. Please note that screenreaders are not always capable
+               // of reading non-English words. So be careful while translating it.
+               editorHelp: 'Presiona ALT + 0 para ayuda',
+
+               browseServer: 'Examinar servidor',
+               url: 'URL',
+               protocol: 'Protocolo',
+               upload: 'Subir',
+               uploadSubmit: 'Enviar al servidor',
+               image: 'Imagen',
+               flash: 'Flash',
+               form: 'Formulario',
+               checkbox: 'Casilla de verificación',
+               radio: 'Botón de opción',
+               textField: 'Campo de texto',
+               textarea: 'Área de texto',
+               hiddenField: 'Campo oculto',
+               button: 'Botón',
+               select: 'Campo de selección',
+               imageButton: 'Botón de imagen',
+               notSet: '<not set>',
+               id: 'Id',
+               name: 'Nombre',
+               langDir: 'Dirección de idiomas',
+               langDirLtr: 'Izquierda a derecha (LTR)',
+               langDirRtl: 'Derecha a izquierda (RTL)',
+               langCode: 'Código de lenguaje',
+               longDescr: 'URL descripción larga',
+               cssClass: 'Clases de hoja de estilo',
+               advisoryTitle: 'Título del anuncio',
+               cssStyle: 'Estilo',
+               ok: 'OK',
+               cancel: 'Cancelar',
+               close: 'Cerrar',
+               preview: 'Vista previa',
+               resize: 'Redimensionar',
+               generalTab: 'General',
+               advancedTab: 'Avanzada',
+               validateNumberFailed: 'Este valor no es un número.',
+               confirmNewPage: 'Se perderán todos los cambios no guardados en este contenido. ¿Seguro que quieres cargar nueva página?',
+               confirmCancel: 'Ha cambiado algunas opciones. ¿Está seguro de que desea cerrar la ventana de diálogo?',
+               options: 'Opciones',
+               target: 'Objetivo',
+               targetNew: 'Nueva ventana (_blank)',
+               targetTop: 'Ventana superior (_top)',
+               targetSelf: 'Misma ventana (_self)',
+               targetParent: 'Ventana principal (_parent)',
+               langDirLTR: 'Izquierda a Derecha (LTR)',
+               langDirRTL: 'Derecha a Izquierda (RTL)',
+               styles: 'Estilo',
+               cssClasses: 'Clases de hojas de estilo',
+               width: 'Ancho',
+               height: 'Alto',
+               align: 'Alineación',
+               alignLeft: 'Izquierda',
+               alignRight: 'Derecha',
+               alignCenter: 'Centrado',
+               alignJustify: 'Justificado',
+               alignTop: 'Arriba',
+               alignMiddle: 'En medio',
+               alignBottom: 'Abajo',
+               alignNone: 'Ninguno',
+               invalidValue: 'Valor inválido',
+               invalidHeight: 'La altura debe ser un número.',
+               invalidWidth: 'La anchura debe ser un número.',
+               invalidCssLength: 'El valor especificado para el campo "% 1" debe ser un número positivo con o sin una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, or pc).',
+               invalidHtmlLength: 'El valor especificado para el campo "% 1" debe ser un número positivo con o sin una unidad de medición HTML válida (px or %).',
+               invalidInlineStyle: 'El valor especificado para el estilo en línea debe constar de una o más tuplas con el formato de "nombre: valor", separados por punto y coma',
+               cssLengthTooltip: 'Introduzca un número para un valor en píxeles o un número con una unidad CSS válida  (px, %, in, cm, mm, em, ex, pt, or pc).',
+
+               // Put the voice-only part of the label in the span.
+               unavailable: '%1<span class="cke_accessibility">, no disponible</span>',
+
+               // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
+               keyboard: {
+                       8: 'Retroceso',
+                       13: 'Intro',
+                       16: 'Shift',
+                       17: 'Ctrl',
+                       18: 'Alt',
+                       32: 'Espacio',
+                       35: 'Fin',
+                       36: 'Inicio',
+                       46: 'Borrar',
+                       224: 'Comando'
+               },
+
+               // Prepended to ARIA labels with shortcuts.
+               keyboardShortcut: 'Atajo de teclado'
+       }
+};
index 95b2d41c7d2eefdfde2e11cf95f61d8b0989665e..5cd39b063ada144ee46a21cc042ef1fe2b8485be 100644 (file)
@@ -31,7 +31,7 @@ CKEDITOR.lang[ 'fr' ] = {
                browseServer: 'Parcourir le serveur',
                url: 'URL',
                protocol: 'Protocole',
-               upload: 'Téléverser',
+               upload: 'Télécharger',
                uploadSubmit: 'Envoyer sur le serveur',
                image: 'Image',
                flash: 'Flash',
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'fr' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
+                       8: 'Retour arrière',
                        13: 'Entrée',
                        16: 'Majuscule',
                        17: 'Ctrl',
                        18: 'Alt',
-                       32: 'Space', // MISSING
+                       32: 'Espace',
                        35: 'Fin',
                        36: 'Origine',
                        46: 'Supprimer',
-                       224: 'Command' // MISSING
+                       224: 'Commande'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Raccourci clavier'
        }
 };
index 331a21bde86c5e5e3c91646843eca365d0a032d8..092db98e9febe5e52943b5681f84577156d1b2f9 100644 (file)
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'gl' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
+                       8: 'Ir atrás',
                        13: 'Intro',
                        16: 'Maiús',
                        17: 'Ctrl',
                        18: 'Alt',
-                       32: 'Space', // MISSING
+                       32: 'Espazo',
                        35: 'Fin',
                        36: 'Inicio',
                        46: 'Supr',
-                       224: 'Command' // MISSING
+                       224: 'Orde'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Atallo de teclado'
        }
 };
index d12a338f10aea8f8100578031ef444fc37f70639..7bf089e29559d50a7bc51ac538e92b87f47764a5 100644 (file)
@@ -85,7 +85,7 @@ CKEDITOR.lang[ 'hr' ] = {
                alignTop: 'Vrh',
                alignMiddle: 'Sredina',
                alignBottom: 'Dolje',
-               alignNone: 'None', // MISSING
+               alignNone: 'Bez poravnanja',
                invalidValue: 'Neispravna vrijednost.',
                invalidHeight: 'Visina mora biti broj.',
                invalidWidth: 'Širina mora biti broj.',
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'hr' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
-                       17: 'Ctrl', // MISSING
-                       18: 'Alt', // MISSING
-                       32: 'Space', // MISSING
-                       35: 'End', // MISSING
-                       36: 'Home', // MISSING
-                       46: 'Delete', // MISSING
-                       224: 'Command' // MISSING
+                       8: 'Backspace',
+                       13: 'Enter',
+                       16: 'Shift',
+                       17: 'Ctrl',
+                       18: 'Alt',
+                       32: 'Space',
+                       35: 'End',
+                       36: 'Home',
+                       46: 'Delete',
+                       224: 'Command'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Prečica na tipkovnici'
        }
 };
index 0cd0d966f4d385a57dd8461a43ca515c14e3a8ef..6f6e91eb42d2eba387d414183255d8038521ad31 100644 (file)
@@ -85,7 +85,7 @@ CKEDITOR.lang[ 'hu' ] = {
                alignTop: 'Tetejére',
                alignMiddle: 'Középre',
                alignBottom: 'Aljára',
-               alignNone: 'None', // MISSING
+               alignNone: 'Semmi',
                invalidValue: 'Érvénytelen érték.',
                invalidHeight: 'A magasság mezőbe csak számokat írhat.',
                invalidWidth: 'A szélesség mezőbe csak számokat írhat.',
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'hu' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
-                       17: 'Ctrl', // MISSING
-                       18: 'Alt', // MISSING
-                       32: 'Space', // MISSING
-                       35: 'End', // MISSING
-                       36: 'Home', // MISSING
-                       46: 'Delete', // MISSING
-                       224: 'Command' // MISSING
+                       8: 'Backspace',
+                       13: 'Enter',
+                       16: 'Shift',
+                       17: 'Ctrl',
+                       18: 'Alt',
+                       32: 'Space',
+                       35: 'End',
+                       36: 'Home',
+                       46: 'Delete',
+                       224: 'Command'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'Gyorsbillentyű'
        }
 };
index 56b69f7fdc9ba046a1ec9a7afe514fe8b2776398..17dcefc8d189b387a03f9d2f0d7c94452f80f705 100644 (file)
@@ -62,7 +62,7 @@ CKEDITOR.lang[ 'ja' ] = {
                resize: 'ドラッグしてリサイズ',
                generalTab: '全般',
                advancedTab: '高度な設定',
-               validateNumberFailed: '値が数ではありません',
+               validateNumberFailed: '値が数ではありません',
                confirmNewPage: '変更内容を保存せず、 新しいページを開いてもよろしいでしょうか?',
                confirmCancel: 'オプション設定を変更しました。ダイアログを閉じてもよろしいでしょうか?',
                options: 'オプション',
index d08261dacfca306b8d4ee9357fe7c63cf77f14c8..fe575d98daab7eb715a6b6309ad89eb03f1fe2e3 100644 (file)
@@ -28,7 +28,7 @@ CKEDITOR.lang[ 'ko' ] = {
                // of reading non-English words. So be careful while translating it.
                editorHelp: '도움이 필요하면 ALT 0 을 누르세요',
 
-               browseServer: '서버 보기',
+               browseServer: '서버 탐색',
                url: 'URL',
                protocol: '프로토콜',
                upload: '업로드',
@@ -99,19 +99,19 @@ CKEDITOR.lang[ 'ko' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
-                       17: 'Ctrl', // MISSING
-                       18: 'Alt', // MISSING
-                       32: 'Space', // MISSING
-                       35: 'End', // MISSING
-                       36: 'Home', // MISSING
-                       46: 'Delete', // MISSING
-                       224: 'Command' // MISSING
+                       8: '백스페이스',
+                       13: '엔터',
+                       16: '시프트',
+                       17: '컨트롤',
+                       18: '알트',
+                       32: '간격',
+                       35: '엔드',
+                       36: '홈',
+                       46: '딜리트',
+                       224: '커맨드'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: '키보드 단축키'
        }
 };
index ec53e492a125585731d1fb03315db119ec33fbde..171059b995f16c4f5fd3c61425452020033562f2 100644 (file)
@@ -98,19 +98,19 @@ CKEDITOR.lang[ 'ku' ] = {
 
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
-                       8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
-                       16: 'Shift', // MISSING
-                       17: 'Ctrl', // MISSING
-                       18: 'Alt', // MISSING
-                       32: 'Space', // MISSING
-                       35: 'End', // MISSING
-                       36: 'Home', // MISSING
-                       46: 'Delete', // MISSING
-                       224: 'Command' // MISSING
+                       8: 'Backspace',
+                       13: 'Enter',
+                       16: 'Shift',
+                       17: 'Ctrl',
+                       18: 'Alt',
+                       32: 'Space',
+                       35: 'End',
+                       36: 'Home',
+                       46: 'Delete',
+                       224: 'فەرمان'
                },
 
                // Prepended to ARIA labels with shortcuts.
-               keyboardShortcut: 'Keyboard shortcut' // MISSING
+               keyboardShortcut: 'کورتبڕی تەختەکلیل'
        }
 };
index d5ae35e87fd606b79de35d3d4fed7cb81bd63612..cfc1ced13957d3c9de41625c32c0c57c21e839ae 100644 (file)
@@ -100,15 +100,15 @@ CKEDITOR.lang[ 'pt' ] = {
                // Keyboard keys translations used for creating shortcuts descriptions in tooltips, context menus and ARIA labels.
                keyboard: {
                        8: 'Backspace', // MISSING
-                       13: 'Enter', // MISSING
+                       13: 'Enter',
                        16: 'Shift',
                        17: 'Ctrl',
                        18: 'Alt',
-                       32: 'Space', // MISSING
+                       32: 'Espaço',
                        35: 'Fim',
                        36: 'Entrada',
                        46: 'Eliminar',
-                       224: 'Command' // MISSING
+                       224: 'Comando'
                },
 
                // Prepended to ARIA labels with shortcuts.
index baa78e6f68981ef3f518b174baba95c7ec041a41..3fbc52d2d8aad96080d122c73ca2b22685dbcce9 100644 (file)
@@ -20,7 +20,7 @@
 CKEDITOR.lang[ 'uk' ] = {
        // ARIA description.
        editor: 'Текстовий редактор',
-       editorPanel: 'Панель текстового редактора',
+       editorPanel: 'Ð\9fанелÑ\8c Ñ\80озÑ\88иÑ\80еного Ñ\82екÑ\81Ñ\82ового Ñ\80едакÑ\82оÑ\80а',
 
        // Common messages and labels.
        common: {
index 73b930cc28ce8d65c7cb74f0c9fd7b082723cdb8..eb12d4c3f83126e8fd96a3cacfdba1902d9bc6ef 100644 (file)
@@ -77,7 +77,7 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor ) {
        // Modifier keys override.\r
        keyMap[ CKEDITOR.ALT ] = coreLang[ 18 ];\r
        keyMap[ CKEDITOR.SHIFT ] = coreLang[ 16 ];\r
-       keyMap[ CKEDITOR.CTRL ] = coreLang[ 17 ];\r
+       keyMap[ CKEDITOR.CTRL ] = CKEDITOR.env.mac ? coreLang[ 224 ] : coreLang[ 17 ];\r
 \r
        // Sort in desc.\r
        var modifiers = [ CKEDITOR.ALT, CKEDITOR.SHIFT, CKEDITOR.CTRL ];\r
@@ -85,7 +85,6 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor ) {
        function representKeyStroke( keystroke ) {\r
                var quotient, modifier,\r
                        presentation = [];\r
-\r
                for ( var i = 0; i < modifiers.length; i++ ) {\r
                        modifier = modifiers[ i ];\r
                        quotient = keystroke / modifiers[ i ];\r
@@ -100,23 +99,14 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor ) {
                return presentation.join( '+' );\r
        }\r
 \r
-       var variablesPattern = /\$\{(.*?)\}/g;\r
-\r
-       var replaceVariables = ( function() {\r
-               // Swaps keystrokes with their commands in object literal.\r
-               // This makes searching keystrokes by command much easier.\r
-               var keystrokesByCode = editor.keystrokeHandler.keystrokes,\r
-                       keystrokesByName = {};\r
-\r
-               for ( var i in keystrokesByCode )\r
-                       keystrokesByName[ keystrokesByCode[ i ] ] = i;\r
+       var variablesPattern = /\$\{(.*?)\}/g,\r
+               replaceVariables = function( match, name ) {\r
+                       var keystrokeCode = editor.getCommandKeystroke( name );\r
 \r
-               return function( match, name ) {\r
                        // Return the keystroke representation or leave match untouched\r
                        // if there's no keystroke for such command.\r
-                       return keystrokesByName[ name ] ? representKeyStroke( keystrokesByName[ name ] ) : match;\r
+                       return keystrokeCode ? representKeyStroke( keystrokeCode ) : match;\r
                };\r
-       } )();\r
 \r
        // Create the help list directly from lang file entries.\r
        function buildHelpContents() {\r
@@ -137,13 +127,17 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor ) {
 \r
                        for ( var j = 0; j < itemsLength; j++ ) {\r
                                var item = items[ j ],\r
-                                       itemLegend = item.legend.replace( variablesPattern, replaceVariables );\r
+                                       // (http://dev.ckeditor.com/ticket/16980) There should be a different hotkey shown in Commands on Edge browser.\r
+                                       itemLegend = CKEDITOR.env.edge && item.legendEdge ? item.legendEdge : item.legend;\r
 \r
-                               // (#9765) If some commands haven't been replaced in the legend,\r
+                               itemLegend = itemLegend.replace( variablesPattern, replaceVariables );\r
+\r
+                               // (http://dev.ckeditor.com/ticket/9765) If some commands haven't been replaced in the legend,\r
                                // most likely their keystrokes are unavailable and we shouldn't include\r
                                // them in our help list.\r
-                               if ( itemLegend.match( variablesPattern ) )\r
+                               if ( itemLegend.match( variablesPattern ) ) {\r
                                        continue;\r
+                               }\r
 \r
                                sectionHtml.push( itemTpl.replace( '%1', item.name ).replace( '%2', itemLegend ) );\r
                        }\r
@@ -179,7 +173,7 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor ) {
                                                        'overflow-y:auto;' +\r
                                                        'overflow-x:hidden;' +\r
                                                '}' +\r
-                                               // Some adjustments are to be done for Quirks to work "properly" (#5757)\r
+                                               // Some adjustments are to be done for Quirks to work "properly" (http://dev.ckeditor.com/ticket/5757)\r
                                                '.cke_browser_quirks .cke_accessibility_legend,' +\r
                                                '{' +\r
                                                        'height:390px' +\r
index 7469bc1226e523e564f9e6471b6d1484866d91e1..f1062a9d4c4ab7159498d2f8998472538cb6785d 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'af', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 5c316c7a45a14161c5bc0aad5c996862bc2df6e3..870d60d4a94f385418ceb0931195047091ec3abc 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ar', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 9c04b65237f45b79a57cba92dff62d60b35644d5..bda91a4a468a8d11493b21be0be0fbddbdf71660 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'az', {
                        {\r
                        name: 'Hərtərəfli Kömək',\r
                        legend: '${a11yHelp} basın'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index ce9cdd8659f7dd5e21e5b37f281ac379e9947091..9a809ff54b02c15455bdb58c18762e2429ad2b28 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'bg', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index f415b90a80f8948ad5b75864284b2a08a7cd54d1..5bbacedc5f956a23572af42e0c85555a9d3fdd9c 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ca', {
                        {\r
                        name: 'Ajuda d\'accessibilitat',\r
                        legend: 'Premi ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 39e4d64ce412a5e3ffdcb266e3a8fbe5c16c6bc5..f792c46665aba326255b10c2cb3e3cde2b0df481 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'cs', {
                        {\r
                        name: ' Nápověda přístupnosti',\r
                        legend: 'Stiskněte ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 3ac77cf05b44ecd02d59bffd6deda5fb91700294..e0cc0bad15546120296b661bc0d3947abc41c6bf 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'cy', {
                        {\r
                        name: 'Cymorth Hygyrchedd',\r
                        legend: 'Pwyswch ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index f507bf0f33ca19fa41e9d5dcf75a9f7564588c7a..ae2130091e12d78d33e8fe5882570a37dcda0721 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'da', {
                        {\r
                        name: 'Tilgængelighedshjælp',\r
                        legend: 'Kilk ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 8d26d73b17ca18fe7ac8809000dfafb01ed8bd1a..206bbf68137d28c4bff0d73ff3b979b1c81dc9bc 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'de-ch', {
                        {\r
                        name: 'Eingabehilfen',\r
                        legend: 'Drücken Sie ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index c74be37c807db2fe693f35e6ed2a88ef73bebe22..5e798cbb13066275309fe3dc158f51f328657b40 100644 (file)
@@ -18,7 +18,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'de', {
                        {\r
                        name: 'Editordialog',\r
                        legend:\r
-                               'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.'  // MISSING\r
+                               'Drücke innerhalb eines Dialogs TAB, um zum nächsten Element zu springen. Drücke SHIFT+TAB, um zum vorigen Element zu springen, drücke ENTER um das Formular im Dialog abzusenden, drücke ESC, um den Dialog zu schließen. Hat der Dialog mehrere Tabs, dann kannst du durch ALT+F10 die Tab-Liste aufrufen or mittels TAB als Teil der Dialog-Tab-Reihenfolge. Ist die Tab-Liste fokussiert, dann mithilfe der Pfeiltasten (LINKS und RECHTS) zwischen den Tabs gewechselt werden.'\r
                },\r
 \r
                        {\r
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'de', {
                        {\r
                        name: 'Eingabehilfen',\r
                        legend: 'Drücken Sie ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Einfügen als unformatierter Text. ',\r
+                       legend: 'Drücke ${pastetext}',\r
+                       legendEdge: 'Drücke ${pastetext} und anschließend ${paste}'\r
                }\r
                ]\r
        }\r
index 11febeb32dd19bb23094e2361234ebe946c89f18..f3e598fafc500f139e2d93fe5b2f5df2a7982aa1 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'el', {
                        {\r
                        name: 'Βοήθεια Προσβασιμότητας',\r
                        legend: 'Πατήστε ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 98bf636982d25db5118e45328bee8150da9a4d18..6fa41b3067c4cadd9b26293214638b5d7cc27cda 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'en-gb', {
                        {\r
                        name: ' Accessibility Help',\r
                        legend: 'Press ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index fee0b4eea445c5f5d5f38bddc81e2ca0dcae84dc..a9ea5bd7149b679e5048221da0ae8171f3f2b571 100644 (file)
@@ -98,6 +98,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'en', {
                        {\r
                        name: ' Accessibility Help',\r
                        legend: 'Press ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text',\r
+                       legend: 'Press ${pastetext}',\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}'\r
                }\r
                ]\r
        }\r
index c2bc1069177441fcaae5507e7babb1adc92a8955..061e7b520c9c258e902e434e1e16582feba5394a 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'eo', {
                        {\r
                        name: 'Helpilo pri atingeblo',\r
                        legend: 'Premu ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
diff --git a/sources/plugins/a11yhelp/dialogs/lang/es-mx.js b/sources/plugins/a11yhelp/dialogs/lang/es-mx.js
new file mode 100644 (file)
index 0000000..7ef6a4c
--- /dev/null
@@ -0,0 +1,145 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+\r
+CKEDITOR.plugins.setLang( 'a11yhelp', 'es-mx', {\r
+       title: 'Instrucciones de accesibilidad',\r
+       contents: 'Contenidos de ayuda. Para cerrar este cuadro de diálogo presione ESC.',\r
+       legend: [\r
+               {\r
+               name: 'General',\r
+               items: [\r
+                       {\r
+                       name: 'Barra de herramientas del editor',\r
+                       legend: 'Presione ${toolbarFocus} para navegar a la barra de herramientas. Desplácese al grupo de barras de herramientas siguiente y anterior con  SHIFT + TAB. Desplácese al botón siguiente y anterior de la barra de herramientas con FLECHA DERECHA o FLECHA IZQUIERDA. Presione SPACE o ENTER para activar el botón de la barra de herramientas.'\r
+               },\r
+\r
+                       {\r
+                       name: 'Editor de diálogo',\r
+                       legend:\r
+                               'Dentro de un cuadro de diálogo, pulse TAB para desplazarse hasta el siguiente elemento de diálogo, pulse MAYÚS + TAB para desplazarse al elemento de diálogo anterior, pulse ENTER para enviar el diálogo, pulse ESC para cancelar el diálogo. Cuando un cuadro de diálogo tiene varias pestañas, se puede acceder a la lista de pestañas con ALT + F10 o con TAB como parte del orden de tabulación del diálogo. Con la lista de tabuladores enfocada, mueva a la pestaña siguiente y anterior con las flechas DERECHA y IZQUIERDA, respectivamente.'\r
+               },\r
+\r
+                       {\r
+                       name: 'Menú contextual del editor',\r
+                       legend: 'Presione ${contextMenu} o CLAVE DE APLICACIÓN para abrir el menú contextual. A continuación, vaya a la siguiente opción del menú con TAB o DOWN ARROW. Desplácese a la opción anterior con SHIFT + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción del menú. Abra el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Vuelva al elemento de menú principal con ESC o FLECHA IZQUIERDA. Cerrar el menú contextual con ESC.'\r
+               },\r
+\r
+                       {\r
+                       name: 'Editor de cuadro de lista',\r
+                       legend: 'Dentro de un cuadro de lista, mueva al siguiente elemento de lista con TAB O FLECHA ABAJO. Mueva al elemento anterior de la lista con MAYÚS + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción de lista. Presione ESC para cerrar el cuadro de lista.'\r
+               },\r
+\r
+                       {\r
+                       name: 'Barra de ruta del elemento del editor',\r
+                       legend: 'Presione ${elementsPathFocus} para navegar a la barra de ruta de elementos. Desplácese al siguiente botón de elemento con TAB o FLECHA DERECHA. Desplácese al botón anterior con SHIFT + TAB o FLECHA IZQUIERDA. Presione SPACE o ENTER para seleccionar el elemento en el editor.'\r
+               }\r
+               ]\r
+       },\r
+               {\r
+               name: 'Comandos',\r
+               items: [\r
+                       {\r
+                       name: 'Comando deshacer',\r
+                       legend: 'Presiona ${undo}'\r
+               },\r
+                       {\r
+                       name: 'Comando rehacer',\r
+                       legend: 'Presiona ${redo}'\r
+               },\r
+                       {\r
+                       name: 'Comando negrita',\r
+                       legend: 'Presiona ${bold}'\r
+               },\r
+                       {\r
+                       name: 'Comando cursiva',\r
+                       legend: 'Presiona {italic}'\r
+               },\r
+                       {\r
+                       name: 'Comando subrayado',\r
+                       legend: 'Presiona ${underline}'\r
+               },\r
+                       {\r
+                       name: 'Comando enlace',\r
+                       legend: 'Presiona ${link}'\r
+               },\r
+                       {\r
+                       name: 'Comando colapsar barra de herramientas',\r
+                       legend: 'Presiona ${toolbarCollapse}'\r
+               },\r
+                       {\r
+                       name: 'Acceda al comando de espacio de enfoque anterior',\r
+                       legend: 'Presione ${accessPreviousSpace} para acceder al espacio de enfoque inaccesible más cercano antes del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes.'\r
+               },\r
+                       {\r
+                       name: 'Acceder al siguiente comando de espacio de enfoque',\r
+                       legend: 'Pulse ${accessNextSpace} para acceder al espacio de enfoque más cercano inaccesible después del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes.'\r
+               },\r
+                       {\r
+                       name: 'Ayuda de accesibilidad',\r
+                       legend: 'Presiona ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
+               }\r
+               ]\r
+       }\r
+       ],\r
+       tab: 'Tabulador',\r
+       pause: 'Pausa',\r
+       capslock: 'Mayúsculas',\r
+       escape: 'Escape',\r
+       pageUp: 'Página arriba',\r
+       pageDown: 'Página abajo',\r
+       leftArrow: 'Flecha izquierda',\r
+       upArrow: 'Flecha arriba',\r
+       rightArrow: 'Flecha derecha',\r
+       downArrow: 'Flecha abajo',\r
+       insert: 'Insertar',\r
+       leftWindowKey: 'Tecla izquierda de Windows',\r
+       rightWindowKey: 'Tecla derecha de Windows',\r
+       selectKey: 'Tecla de selección',\r
+       numpad0: 'Teclado numérico 0',\r
+       numpad1: 'Teclado numérico 1',\r
+       numpad2: 'Teclado numérico 2',\r
+       numpad3: 'Teclado numérico 3',\r
+       numpad4: 'Teclado numérico 4',\r
+       numpad5: 'Teclado numérico 5',\r
+       numpad6: 'Teclado numérico 6',\r
+       numpad7: 'Teclado numérico 7',\r
+       numpad8: 'Teclado numérico 8',\r
+       numpad9: 'Teclado numérico 9',\r
+       multiply: 'Multiplicar',\r
+       add: 'Sumar',\r
+       subtract: 'Restar',\r
+       decimalPoint: 'Punto decimal',\r
+       divide: 'Dividir',\r
+       f1: 'F1',\r
+       f2: 'F2',\r
+       f3: 'F3',\r
+       f4: 'F4',\r
+       f5: 'F5',\r
+       f6: 'F6',\r
+       f7: 'F7',\r
+       f8: 'F8',\r
+       f9: 'F9',\r
+       f10: 'F10',\r
+       f11: 'F11',\r
+       f12: 'F12',\r
+       numLock: 'Números',\r
+       scrollLock: 'Bloqueo de desplazamiento',\r
+       semiColon: 'punto y coma',\r
+       equalSign: 'Signo igual',\r
+       comma: 'Coma',\r
+       dash: 'Guión',\r
+       period: 'Espacio',\r
+       forwardSlash: 'Diagonal',\r
+       graveAccent: 'Acento grave',\r
+       openBracket: 'Abrir paréntesis',\r
+       backSlash: 'Diagonal invertida',\r
+       closeBracket: 'Cerrar paréntesis',\r
+       singleQuote: 'Comillas simple'\r
+} );\r
index b1eaa20da3c582fabf65cefda63af5217c946711..d3b29a2e27be7ceb3919e3c72a76cf1f6e2a3fb0 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'es', {
                        {\r
                        name: 'Ayuda de Accesibilidad',\r
                        legend: 'Presiona ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 014608982eb56cc82c31cdf055d12485dc4c10c4..3f6524bfca4451f1f265942dd4b411697786aec8 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'et', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index b53748f2c32bf4b83fec0aec459156c09957641c..80c60dbdb384f7c88882b4a2792882e89b1f32da 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'eu', {
                        {\r
                        name: 'Erabilerraztasunaren laguntza',\r
                        legend: 'Sakatu ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 88072f0db0130f764517b5ce3968057c757f4193..dbe99dca5c1112a24b8f78f838f70aac154eb425 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', {
                        {\r
                        name: 'راهنمای دسترسی',\r
                        legend: 'فشردن ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 093d409ee945373a3ea17f124c49dc912f1d1be0..028020c6aecc94ccc673f0b988810eb967914d7a 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fi', {
                        {\r
                        name: 'Saavutettavuus ohjeet',\r
                        legend: 'Paina ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index efce7241858ac9b5808df15d3153c92ce3a8a982..358ca6e7385b3938ca42f89896d80ff6de3d6215 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fo', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index c87c5861a3336b0f7205710a92e35669f92d53cd..88c4a1fab025d83a3b9a44ec09722bd76141c682 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fr-ca', {
                        {\r
                        name: 'Aide d\'accessibilité',\r
                        legend: 'Appuyer sur ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 97276391b3fa7ae823982db27f995fccf96bad6b..a2f464993ae99ef682fcc38276a0e38902492bdf 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fr', {
                        {\r
                        name: ' Aide sur l\'accessibilité',\r
                        legend: 'Appuyer sur ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Coller comme texte sans mise en forme',\r
+                       legend: 'Appuyer sur ${pastetext}',\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 4978330df29851bcb62f81a1ddae72fd8b24d236..1bb95953c494d0b22c3fb7c6a747e10b5ece9ab2 100644 (file)
@@ -18,7 +18,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'gl', {
                        {\r
                        name: 'Editor de diálogo',\r
                        legend:\r
-                               'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.'  // MISSING\r
+                               'Dentro do diálogo, prema TAB para navegar cara os seguintes elementos de diálogo, prema MAIÚS+TAB para moverse cara os anteriores elementos de diálogo, prema INTRO para enviar o diálogo, prema ESC para cancelar o diálogo. Cando o diálogo ten múltiples lapelas, a lista de lapelas pode cinguirse con ALT+F10 ou con TAB como parte da orde de lapelas do diálogo. Coa lapela en foco, pode moverse cara a seguinte ou a anterior lapela coas FRECHAS ESQUERDA e DEREICHA respectivamente.'\r
                },\r
 \r
                        {\r
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'gl', {
                        {\r
                        name: 'Axuda da accesibilidade',\r
                        legend: 'Prema ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Pegar como texto simple',\r
+                       legend: 'Prema ${pastetext}',\r
+                       legendEdge: 'Prema ${pastetext}, seguido de ${paste}'\r
                }\r
                ]\r
        }\r
index 30eb2cdbfc6760a2da9d1a9dc3c0f482c04967d9..6fa2b3d688838b0500f7d92dc963222e8b39823d 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'gu', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 24b85728c8a29970d8e620d1f6d1cd6afb5c0d6f..ed668c4102684c05ae1686064e0236fce9f8eb50 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'he', {
                        {\r
                        name: ' הוראות נגישות',\r
                        legend: 'לחץ ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 308c5ef8a9504d28a429fbf0e9f32e939641398d..de1e54ba7ed640fc4a3b6cbd33047d80a6cd7e0c 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'hi', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index b05273e1e76c86b9b8524675561b545415a89d25..ae280629b5b9b7b2bdfffa1fd012bc1dc8ac68cf 100644 (file)
@@ -18,7 +18,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'hr', {
                        {\r
                        name: 'Dijalog',\r
                        legend:\r
-                               'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.'  // MISSING\r
+                               'Unutar dijaloga, pritisnite TAB kako bi navigirali do sljedećeg elementa dijaloga, pritisnite SHIFT+TAB kako bi se pomaknuli do prethodnog elementa, pritisnite ENTER kako bi poslali dijalog, pritisnite ESC za gašenje dijaloga. Kada dijalog ima više kartica, listi kartica se može pristupiti pomoću ALT+F10 ili sa TAB. Kada je fokusirana lista kartica, pomaknite se naprijed ili nazad pomoću strelica LIJEVO ili DESNO.'\r
                },\r
 \r
                        {\r
@@ -69,72 +69,77 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'hr', {
                        legend: 'Pritisni ${toolbarCollapse}'\r
                },\r
                        {\r
-                       name: 'Access previous focus space naredba',\r
+                       name: 'Naredba za pristupi prethodnom prostoru fokusa',\r
                        legend: 'Pritisni ${accessPreviousSpace} za pristup najbližem nedostupnom razmaku prije kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak.'\r
                },\r
                        {\r
-                       name: 'Access next focus space naredba',\r
+                       name: 'Naredba za pristup sljedećem prostoru fokusa',\r
                        legend: 'Pritisni ${accessNextSpace} za pristup najbližem nedostupnom razmaku nakon kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak.'\r
                },\r
                        {\r
                        name: 'Pomoć za dostupnost',\r
                        legend: 'Pritisni ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
        ],\r
-       tab: 'Tab', // MISSING\r
-       pause: 'Pause', // MISSING\r
-       capslock: 'Caps Lock', // MISSING\r
-       escape: 'Escape', // MISSING\r
-       pageUp: 'Page Up', // MISSING\r
-       pageDown: 'Page Down', // MISSING\r
-       leftArrow: 'Left Arrow', // MISSING\r
-       upArrow: 'Up Arrow', // MISSING\r
-       rightArrow: 'Right Arrow', // MISSING\r
-       downArrow: 'Down Arrow', // MISSING\r
-       insert: 'Insert', // MISSING\r
-       leftWindowKey: 'Left Windows key', // MISSING\r
-       rightWindowKey: 'Right Windows key', // MISSING\r
-       selectKey: 'Select key', // MISSING\r
-       numpad0: 'Numpad 0', // MISSING\r
-       numpad1: 'Numpad 1', // MISSING\r
-       numpad2: 'Numpad 2', // MISSING\r
-       numpad3: 'Numpad 3', // MISSING\r
-       numpad4: 'Numpad 4', // MISSING\r
-       numpad5: 'Numpad 5', // MISSING\r
-       numpad6: 'Numpad 6', // MISSING\r
-       numpad7: 'Numpad 7', // MISSING\r
-       numpad8: 'Numpad 8', // MISSING\r
-       numpad9: 'Numpad 9', // MISSING\r
-       multiply: 'Multiply', // MISSING\r
-       add: 'Add', // MISSING\r
-       subtract: 'Subtract', // MISSING\r
-       decimalPoint: 'Decimal Point', // MISSING\r
-       divide: 'Divide', // MISSING\r
-       f1: 'F1', // MISSING\r
-       f2: 'F2', // MISSING\r
-       f3: 'F3', // MISSING\r
-       f4: 'F4', // MISSING\r
-       f5: 'F5', // MISSING\r
-       f6: 'F6', // MISSING\r
-       f7: 'F7', // MISSING\r
-       f8: 'F8', // MISSING\r
-       f9: 'F9', // MISSING\r
-       f10: 'F10', // MISSING\r
-       f11: 'F11', // MISSING\r
-       f12: 'F12', // MISSING\r
-       numLock: 'Num Lock', // MISSING\r
-       scrollLock: 'Scroll Lock', // MISSING\r
-       semiColon: 'Semicolon', // MISSING\r
-       equalSign: 'Equal Sign', // MISSING\r
-       comma: 'Comma', // MISSING\r
-       dash: 'Dash', // MISSING\r
-       period: 'Period', // MISSING\r
-       forwardSlash: 'Forward Slash', // MISSING\r
-       graveAccent: 'Grave Accent', // MISSING\r
-       openBracket: 'Open Bracket', // MISSING\r
-       backSlash: 'Backslash', // MISSING\r
-       closeBracket: 'Close Bracket', // MISSING\r
-       singleQuote: 'Single Quote' // MISSING\r
+       tab: 'Tab',\r
+       pause: 'Pause',\r
+       capslock: 'Caps Lock',\r
+       escape: 'Escape',\r
+       pageUp: 'Page Up',\r
+       pageDown: 'Page Down',\r
+       leftArrow: 'Lijev strelica',\r
+       upArrow: 'Strelica gore',\r
+       rightArrow: 'Desna strelica',\r
+       downArrow: 'Strelica dolje',\r
+       insert: 'Insert',\r
+       leftWindowKey: 'Lijeva Windows tipka',\r
+       rightWindowKey: 'Desna Windows tipka',\r
+       selectKey: 'Tipka Select',\r
+       numpad0: 'Numpad 0',\r
+       numpad1: 'Numpad 1',\r
+       numpad2: 'Numpad 2',\r
+       numpad3: 'Numpad 3',\r
+       numpad4: 'Numpad 4',\r
+       numpad5: 'Numpad 5',\r
+       numpad6: 'Numpad 6',\r
+       numpad7: 'Numpad 7',\r
+       numpad8: 'umpad 8',\r
+       numpad9: 'Numpad 9',\r
+       multiply: 'Množenje',\r
+       add: 'Zbrajanje',\r
+       subtract: 'Oduzimanje',\r
+       decimalPoint: 'Decimalna točka',\r
+       divide: 'Dijeljenje',\r
+       f1: 'F1',\r
+       f2: 'F2',\r
+       f3: 'F3',\r
+       f4: 'F4',\r
+       f5: 'F5',\r
+       f6: 'F6',\r
+       f7: 'F7',\r
+       f8: 'F8',\r
+       f9: 'F9',\r
+       f10: 'F10',\r
+       f11: 'F11',\r
+       f12: 'F12',\r
+       numLock: 'Num Lock',\r
+       scrollLock: 'Scroll Lock',\r
+       semiColon: 'Točka zarez',\r
+       equalSign: 'Jednako',\r
+       comma: 'Zarez',\r
+       dash: 'Crtica',\r
+       period: 'Točka',\r
+       forwardSlash: 'Kosa crta',\r
+       graveAccent: 'Akcent',\r
+       openBracket: 'Otvorena uglata zagrada',\r
+       backSlash: 'Obrnuta kosa crta',\r
+       closeBracket: 'Zatvorena uglata zagrada',\r
+       singleQuote: 'Jednostruki navodnik'\r
 } );\r
index f14f17dc5e2d64150168cb61271a6cfb93084bd9..1bae59f4a7cf9b88f1e62b7d109cbfae1f48e6b3 100644 (file)
@@ -18,7 +18,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'hu', {
                        {\r
                        name: 'Szerkesző párbeszéd ablak',\r
                        legend:\r
-                               'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.'  // MISSING\r
+                               'Párbeszédablakban nyomjon TAB-ot a következő párbeszédmezőhöz ugráshoz, nyomjon SHIFT + TAB-ot az előző mezőhöz ugráshoz, nyomjon ENTER-t a párbeszédablak elfogadásához, nyomjon ESC-et a párbeszédablak elvetéséhez. Azokhoz a párbeszédablakokhoz, amik több fület tartalmaznak, nyomjon ALT + F10-et vagy TAB-ot hogy a fülekre ugorjon. Ezután a TAB-al vagy a JOBB NYÍLLAL a következő fülre ugorhat.'\r
                },\r
 \r
                        {\r
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'hu', {
                        {\r
                        name: 'Kisegítő súgó',\r
                        legend: 'Nyomjon ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 7799b3845cdc79fc8b46df5ce765358c1defe0d4..89aeee7d01704756e9d4347a70bd1b49fd30fb11 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'id', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 55ecadc982896b0462691b263b0b71d5b8072579..224bd49ffd11c9209fa8e6c970ce21de6a294bae 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'it', {
                        {\r
                        name: ' Aiuto Accessibilità',\r
                        legend: 'Premi ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Incolla come testo semplice',\r
+                       legend: 'Premi ${pastetext}',\r
+                       legendEdge: 'Premi ${pastetext}, seguito da ${paste}'\r
                }\r
                ]\r
        }\r
index 9053e3712deaafc80ad46ba7ceb3f5499a4bdb30..b21d7405020150ba144d4fbebf09315cce06cd1a 100644 (file)
@@ -65,7 +65,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ja', {
                        legend: '${link} をクリック'\r
                },\r
                        {\r
-                       name: 'ツールバーを縮める',\r
+                       name: 'ツールバーをたたむ',\r
                        legend: '${toolbarCollapse} をクリック'\r
                },\r
                        {\r
@@ -73,12 +73,17 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ja', {
                        legend: '${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。'\r
                },\r
                        {\r
-                       name: '次のカーソル移動のできないポイントへ',\r
+                       name: '次のカーソルポイントへ移動する',\r
                        legend: '${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。'\r
                },\r
                        {\r
                        name: 'ユーザー補助ヘルプ',\r
                        legend: '${a11yHelp} をクリック'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 4cdd04839bae4a2bd8c4608d4c88a35da1df3ae1..91018f504cf4203e67b4649e8f1a7525cd66c754 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'km', {
                        {\r
                        name: 'ជំនួយ​ពី​ភាព​ងាយស្រួល',\r
                        legend: 'ជួយ ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index e5ed19283f880c8543ad370289fc679e67315d18..78fc71c7262f70beae077f849cdde6e1be640aac 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ko', {
                        {\r
                        name: ' 접근성 도움말',\r
                        legend: '${a11yHelp} 누르시오'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 3f044a202c07e79e934b40d6b4e129a8ca05a632..d293c65a189a44c94955759ed3758932d1247b8c 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ku', {
                        {\r
                        name: 'دەستپێگەیشتنی یارمەتی',\r
                        legend: 'کلیك ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index c27e3ba5b41fd2f586f5050ac8e41a984f2e6aae..b4095c4d5c619f442f2b3e6b3b269f0eb52b3c7b 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'lt', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index aac4129be81f9c4140ef9864671be1acec3a0d45..67d0d6ee90dcaee83eb714c4659591b69a49d6cf 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'lv', {
                        {\r
                        name: 'Pieejamības palīdzība',\r
                        legend: 'Nospiediet ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 8316358e577492dd32d6693d9ecc4af8ed14fbbd..bd24e38718f126b54b11f1323a6871eaa5db0414 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'mk', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index eb116346c343a1bf757a525a11d8e54cadd15fc5..30373126adafa650b9186957472091f35a5a0b9d 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'mn', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index ccfeb665f0ecba373c7e076ae92ee77628b1011a..dc493572bbafd35dc559502752d1980f82912108 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'nb', {
                        {\r
                        name: 'Hjelp for tilgjengelighet',\r
                        legend: 'Trykk ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Lim inn som ren tekst',\r
+                       legend: 'Trykk ${pastetext}',\r
+                       legendEdge: 'Trykk ${pastetext}, etterfulgt av ${past}'\r
                }\r
                ]\r
        }\r
index 00d53ea70d07832028ae1263ccff9a2f44500e6f..4ee8799bbaaec28f753950461aa6d84e6f68393e 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'nl', {
                        {\r
                        name: 'Toegankelijkheidshulp',\r
                        legend: 'Druk op ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 4402ddf6668a99576bc4f4e30d3aeb182738ea0f..e015fc3d1f8ff332ffabcb9e830d8fe50f70ec01 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'no', {
                        {\r
                        name: 'Hjelp for tilgjengelighet',\r
                        legend: 'Trykk ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 8df209d62356231fe79149fbff2f22669e168610..fe313f4935f2f20b6466c33f55a208c12b78f18d 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'oc', {
                        {\r
                        name: ' Ajuda sus l\'accessibilitat',\r
                        legend: 'Quichar sus ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 825ea08b96d2520203a053d20b5342eae4cf46f6..23801fa1f7946ffa8b94a9490d618f286d232a81 100644 (file)
@@ -69,16 +69,21 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pl', {
                        legend: 'Naciśnij ${toolbarCollapse}'\r
                },\r
                        {\r
-                       name: ' Access previous focus space command', // MISSING\r
-                       legend: 'Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.' // MISSING\r
+                       name: 'Przejdź do poprzedniego miejsca, w którym można ustawić focus',\r
+                       legend: 'Naciśnij ${accessPreviousSpace}, aby przejść do najbliższego niedostępnego miejsca przed kursorem, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc.'\r
                },\r
                        {\r
-                       name: ' Access next focus space command', // MISSING\r
-                       legend: 'Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.' // MISSING\r
+                       name: 'Przejdź do następnego miejsca, w którym można ustawić focus',\r
+                       legend: 'Naciśnij ${accessNextSpace}, aby przejść do najbliższego niedostępnego miejsca po kursorze, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc.'\r
                },\r
                        {\r
                        name: 'Pomoc dotycząca dostępności',\r
                        legend: 'Naciśnij ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Wklej jako tekst',\r
+                       legend: 'Naciśnij ${pastetext}',\r
+                       legendEdge: 'Naciśnij ${pastetext}, a następnie ${paste}'\r
                }\r
                ]\r
        }\r
index 030df9868aa149b4a77489190b425caffb8b8368..b233f2ee0dee497cdc32d3a321903e1a076e8e00 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pt-br', {
                        {\r
                        name: ' Ajuda de Acessibilidade',\r
                        legend: 'Pressione ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 986a377911b88641575e14c6d0bb25e2279b3d2a..cc02ae20a6dc0d601993555a779e6edcff3a696f 100644 (file)
@@ -23,7 +23,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pt', {
 \r
                        {\r
                        name: 'Menu de contexto do editor',\r
-                       legend: 'Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com  SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu.  Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. GVá para o item do menu parente  com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC.'\r
+                       legend: 'Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com  SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu.  Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. Vá para o item do menu contentor com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC.'\r
                },\r
 \r
                        {\r
@@ -79,24 +79,29 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pt', {
                        {\r
                        name: 'Ajuda a acessibilidade',\r
                        legend: 'Pressione ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
        ],\r
-       tab: 'Tab', // MISSING\r
+       tab: 'Separador',\r
        pause: 'Pausa',\r
        capslock: 'Maiúsculas',\r
        escape: 'Esc',\r
-       pageUp: 'Page Up', // MISSING\r
-       pageDown: 'Page Down', // MISSING\r
+       pageUp: 'Subir página',\r
+       pageDown: 'Descer página',\r
        leftArrow: 'Seta esquerda',\r
        upArrow: 'Seta para cima',\r
        rightArrow: 'Seta direita',\r
        downArrow: 'Seta para baixo',\r
        insert: 'Inserir',\r
-       leftWindowKey: 'Left Windows key', // MISSING\r
-       rightWindowKey: 'Right Windows key', // MISSING\r
-       selectKey: 'Select key', // MISSING\r
+       leftWindowKey: 'Tecla esquerda Windows',\r
+       rightWindowKey: 'Tecla direita Windows',\r
+       selectKey: 'Selecionar tecla',\r
        numpad0: 'Numpad 0', // MISSING\r
        numpad1: 'Numpad 1', // MISSING\r
        numpad2: 'Numpad 2', // MISSING\r
@@ -110,7 +115,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pt', {
        multiply: 'Multiplicar',\r
        add: 'Adicionar',\r
        subtract: 'Subtrair',\r
-       decimalPoint: 'Decimal Point', // MISSING\r
+       decimalPoint: 'Ponto decimal',\r
        divide: 'Separar',\r
        f1: 'F1',\r
        f2: 'F2',\r
@@ -126,8 +131,8 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'pt', {
        f12: 'F12',\r
        numLock: 'Num Lock', // MISSING\r
        scrollLock: 'Scroll Lock', // MISSING\r
-       semiColon: 'Semicolon', // MISSING\r
-       equalSign: 'Equal Sign', // MISSING\r
+       semiColon: 'Ponto e vírgula',\r
+       equalSign: 'Sinald e igual',\r
        comma: 'Vírgula',\r
        dash: 'Cardinal',\r
        period: 'Ponto',\r
index a182bbdc0629cfdde3667410f7efddbfbc838d11..11177baf95b02927f85b9b41d18e9b5ca5b3c829 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ro', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 19d502a38e7c1ec0c1609849acd709f819a44f29..852a17f693966a5d7485de72c1c5c2e274a96f04 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ru', {
                        {\r
                        name: 'Справка по горячим клавишам',\r
                        legend: 'Нажмите ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Вставить только текст',\r
+                       legend: 'Нажмите ${pastetext}',\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 14d94ad1a1e141eca60103068b1f986b59571b85..ce72579441db7d7c46baafe97d5decb537ea332a 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'si', {
                        {\r
                        name: 'ප්‍රවේශ ',\r
                        legend: 'ඔබන්න  ${a11y }'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 2d74c3bc2c03e3ec495dc7262d697b2244ce0d24..3800f141047c5ece76f59392c5259164c1167122 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sk', {
                        {\r
                        name: 'Pomoc prístupnosti',\r
                        legend: 'Stlačte ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index bb38713bbce152dc6a0b1b32b296449f17b82908..779b41095f7ce642e95e9706a16fc332edd09888 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sl', {
                        {\r
                        name: 'Pomoč dostopnosti',\r
                        legend: 'Pritisnite ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index c5947cc33e79acff7a86c9bc747fc51ab5b3e8a2..6283fee1588a561dcf9f4b5d60f946821955c9f0 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sq', {
                        {\r
                        name: 'Ndihmë Qasjeje',\r
                        legend: 'Shtyp ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 5b743ac18902df5fe9d57a76949cd084caf643cc..f8caf0146de3e15dfe818e1e438256f53f92936f 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sr-latn', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 0e3e9791268be97aebbdaf4d989cb01dc0469bf9..0ef022227cceb4c8a707e71ffd7dcb5063a39486 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sr', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 4962b95b03ee0e0a6993c4bff461ef529e2b2836..867bedaf914669f1bd8062a955bdc798c8622b49 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'sv', {
                        {\r
                        name: 'Hjälp om tillgänglighet',\r
                        legend: 'Tryck ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: 'Klistra in som vanlig text',\r
+                       legend: 'Tryck ${pastetext}',\r
+                       legendEdge: 'Tryck ${pastetext}, följt av ${paste}'\r
                }\r
                ]\r
        }\r
index 13828941cc86fe2e5ed26ea2ddbd12a8310ff0d0..5da604f98a63b4b050b82058f3af2b42018d1a15 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'th', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: 'Press ${a11yHelp}' // MISSING\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 15306a55a6d7280ce71a3221393ba5dfa188f49c..86b4c972198d3a17757ed9a3d3ab9702908488b2 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'tr', {
                        {\r
                        name: 'Erişilebilirlik Yardımı',\r
                        legend: '${a11yHelp}\'e basın'\r
+               },\r
+                       {\r
+                       name: 'Düz Metin Olarak Yapıştır',\r
+                       legend: '${pastetext} basın',\r
+                       legendEdge: 'Önce ${pastetext} ardından${paste} basın'\r
                }\r
                ]\r
        }\r
index bdd984782b19b7c4007b7ee57e91e7bddc6aec62..e73f5dd66e300c990b32762ca2416c25b933c4e3 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'tt', {
                        {\r
                        name: ' Accessibility Help', // MISSING\r
                        legend: '${a11yHelp} басыгыз'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 1771562c26125a3e49b3c5e2ce2344e082da5d07..4768c55fb4540c2c22cdca003b88e8fa8d373e8b 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'ug', {
                        {\r
                        name: 'توسالغۇسىز لايىھە چۈشەندۈرۈشى',\r
                        legend: '${a11yHelp} نى بېسىڭ'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index d1e8589ca7c44ce8485d2622ae6ec7c3f5b268aa..99a7002746378f52c144d6ecdfa090f68e99a57e 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'uk', {
                        {\r
                        name: 'Допомога з доступності',\r
                        legend: 'Натисніть ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 497deb285d3ce410fe113502ecff75995ed5c7f5..b8c9fe9cf07058706b2695c7e025321c66d7756e 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'vi', {
                        {\r
                        name: 'Trợ giúp liên quan',\r
                        legend: 'Nhấn ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index d2d0f2b8c6ee020bcd10d080e3dd68ba701aaef1..0ce61d2bd3677e489cb1d58b7540d1db3f94dd0b 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'zh-cn', {
                        {\r
                        name: '辅助功能帮助',\r
                        legend: '按 ${a11yHelp}'\r
+               },\r
+                       {\r
+                       name: '粘贴为纯文本',\r
+                       legend: '按 ${pastetext}',\r
+                       legendEdge: '按 ${pastetext},然后再按 ${paste}'\r
                }\r
                ]\r
        }\r
index 0fe1310a6c9b1bddd2c1567d444a337229b17042..2e35e1dbe3facc36d758d597af93efab69017314 100644 (file)
@@ -79,6 +79,11 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'zh', {
                        {\r
                        name: '協助工具說明',\r
                        legend: '請按下「${a11yHelp}」'\r
+               },\r
+                       {\r
+                       name: ' Paste as plain text', // MISSING\r
+                       legend: 'Press ${pastetext}', // MISSING\r
+                       legendEdge: 'Press ${pastetext}, followed by ${paste}' // MISSING\r
                }\r
                ]\r
        }\r
index 9e2925a58e07d58e611b4e179d8fbaf2e4d88181..65da25eac8d9b56a4afa37306e5bd6341093b11f 100644 (file)
@@ -17,7 +17,7 @@
 \r
                // List of available localizations.\r
                // jscs:disable\r
-               availableLangs: { af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,'fr-ca':1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,'pt-br':1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,'sr-latn':1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 },\r
+               availableLangs: { af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,'es-mx':1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,'fr-ca':1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,'pt-br':1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,'sr-latn':1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 },\r
                // jscs:enable\r
 \r
                init: function( editor ) {\r
diff --git a/sources/plugins/basicstyles/lang/es-mx.js b/sources/plugins/basicstyles/lang/es-mx.js
new file mode 100644 (file)
index 0000000..a57ba4b
--- /dev/null
@@ -0,0 +1,12 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'basicstyles', 'es-mx', {\r
+       bold: 'Negrita',\r
+       italic: 'Cursiva',\r
+       strike: 'Tachado',\r
+       subscript: 'subíndice',\r
+       superscript: 'Sobrescrito',\r
+       underline: 'Subrayada'\r
+} );\r
index 6ddfb31e84a4d5929a64aa9770a12ddd69a24ed4..94bc730382c9546662b8543bcaabfbc522b19fc9 100644 (file)
@@ -3,8 +3,8 @@ Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
 CKEDITOR.plugins.setLang( 'basicstyles', 'hr', {\r
-       bold: 'Podebljaj',\r
-       italic: 'Ukosi',\r
+       bold: 'Podebljano',\r
+       italic: 'Ukošeno',\r
        strike: 'Precrtano',\r
        subscript: 'Subscript',\r
        superscript: 'Superscript',\r
index 4a6325a86d0194432b054035ef3e3c48951e17bf..474ea09321af7ec10422704c928533709dfa1077 100644 (file)
@@ -5,7 +5,7 @@
 \r
 CKEDITOR.plugins.add( 'basicstyles', {\r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
        icons: 'bold,italic,underline,strike,subscript,superscript', // %REMOVE_LINE_CORE%\r
        hidpi: true, // %REMOVE_LINE_CORE%\r
diff --git a/sources/plugins/button/lang/es-mx.js b/sources/plugins/button/lang/es-mx.js
new file mode 100644 (file)
index 0000000..3b1b47b
--- /dev/null
@@ -0,0 +1,8 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+\r
+CKEDITOR.plugins.setLang( 'button', 'es-mx', {\r
+       selectedLabel: '%1 (Seleccionado)'\r
+} );\r
diff --git a/sources/plugins/button/lang/hr.js b/sources/plugins/button/lang/hr.js
new file mode 100644 (file)
index 0000000..031f8f5
--- /dev/null
@@ -0,0 +1,8 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+\r
+CKEDITOR.plugins.setLang( 'button', 'hr', {\r
+       selectedLabel: '%1 (Odabrano)'\r
+} );\r
index 6d2db3343e04ba7bf56190444e75a8a824d5ad17..e91fa86cbd5568f7f2643d963a933f1623ffca7d 100644 (file)
@@ -29,7 +29,7 @@
 \r
        template += ' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event);"' +\r
                ' onfocus="return CKEDITOR.tools.callFunction({focusFn},event);" ' +\r
-               ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // #188\r
+               ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // http://dev.ckeditor.com/ticket/188\r
                        '="CKEDITOR.tools.callFunction({clickFn},this);return false;">' +\r
                '<span class="cke_button_icon cke_button__{iconName}_icon" style="{style}"';\r
 \r
@@ -49,7 +49,7 @@
                btnTpl = CKEDITOR.addTemplate( 'button', template );\r
 \r
        CKEDITOR.plugins.add( 'button', {\r
-               lang: 'af,ar,az,bg,ca,cs,da,de,de-ch,el,en,en-gb,eo,es,eu,fa,fi,fr,gl,he,hu,id,it,ja,km,ko,ku,lt,nb,nl,no,oc,pl,pt,pt-br,ro,ru,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,ca,cs,da,de,de-ch,el,en,en-gb,eo,es,es-mx,eu,fa,fi,fr,gl,he,hr,hu,id,it,ja,km,ko,ku,lt,nb,nl,no,oc,pl,pt,pt-br,ro,ru,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                beforeInit: function( editor ) {\r
                        editor.ui.addHandler( CKEDITOR.UI_BUTTON, CKEDITOR.ui.button.handler );\r
                }\r
                                }\r
                                instance.execute();\r
 \r
-                               // Fixed iOS focus issue when your press disabled button (#12381).\r
+                               // Fixed iOS focus issue when your press disabled button (http://dev.ckeditor.com/ticket/12381).\r
                                if ( env.iOS ) {\r
                                        editor.focus();\r
                                }\r
                        var name = this.name || this.command,\r
                                iconName = name;\r
 \r
-                       // Check if we're pointing to an icon defined by another command. (#9555)\r
+                       // Check if we're pointing to an icon defined by another command. (http://dev.ckeditor.com/ticket/9555)\r
                        if ( this.icon && !( /\./ ).test( this.icon ) ) {\r
                                iconName = this.icon;\r
                                this.icon = null;\r
                                        element.removeAttribute( 'aria-disabled' );\r
 \r
                                if ( !this.hasArrow ) {\r
-                                       // Note: aria-pressed attribute should not be added to menuButton instances. (#11331)\r
+                                       // Note: aria-pressed attribute should not be added to menuButton instances. (http://dev.ckeditor.com/ticket/11331)\r
                                        state == CKEDITOR.TRISTATE_ON ?\r
                                                element.setAttribute( 'aria-pressed', true ) :\r
                                                element.removeAttribute( 'aria-pressed' );\r
index 2dfb2bef1c62508e0dbd2f22fc334b184a8f8eab..c45475b61c5a61df7d9e0e3ed5979980d02a68b0 100644 (file)
@@ -6,7 +6,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
 <html>\r
 <head>\r
        <meta charset="utf-8">\r
-       <title>Manual test for #11460</title>\r
+       <title>Manual test for http://dev.ckeditor.com/ticket/11460</title>\r
        <script src="../../../ckeditor.js"></script>\r
        <script src="../../../dev/console/console.js"></script>\r
        <script src="../../../plugins/clipboard/dev/console.js"></script>\r
diff --git a/sources/plugins/clipboard/dialogs/paste.js b/sources/plugins/clipboard/dialogs/paste.js
deleted file mode 100644 (file)
index 80ce29f..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/**\r
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
- * For licensing, see LICENSE.md or http://ckeditor.com/license\r
- */\r
-\r
-CKEDITOR.dialog.add( 'paste', function( editor ) {\r
-       var lang = editor.lang.clipboard,\r
-               clipboard = CKEDITOR.plugins.clipboard,\r
-               lastDataTransfer;\r
-\r
-       function onPasteFrameLoad( win ) {\r
-               var doc = new CKEDITOR.dom.document( win.document ),\r
-                       body = doc.getBody(),\r
-                       script = doc.getById( 'cke_actscrpt' );\r
-\r
-               script && script.remove();\r
-\r
-               body.setAttribute( 'contenteditable', true );\r
-\r
-               // Forward dataTransfer (#13883).\r
-               body.on( clipboard.mainPasteEvent, function( evt ) {\r
-                       var dataTransfer = clipboard.initPasteDataTransfer( evt );\r
-\r
-                       if ( !lastDataTransfer ) {\r
-                               lastDataTransfer = dataTransfer;\r
-                       } else\r
-                       // For two paste with the same dataTransfer we can use that dataTransfer (two internal pastes are\r
-                       // considered as an internal paste).\r
-                       if ( dataTransfer != lastDataTransfer ) {\r
-                               // If there were two paste with different DataTransfer objects create a new, empty, data transfer\r
-                               // and use it (one internal and one external paste are considered as external paste).\r
-                               lastDataTransfer = clipboard.initPasteDataTransfer();\r
-                       }\r
-               } );\r
-\r
-               // IE before version 8 will leave cursor blinking inside the document after\r
-               // editor blurred unless we clean up the selection. (#4716)\r
-               if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) {\r
-                       doc.getWindow().on( 'blur', function() {\r
-                               doc.$.selection.empty();\r
-                       } );\r
-               }\r
-\r
-               doc.on( 'keydown', function( e ) {\r
-                       var domEvent = e.data,\r
-                               key = domEvent.getKeystroke(),\r
-                               processed;\r
-\r
-                       switch ( key ) {\r
-                               case 27:\r
-                                       this.hide();\r
-                                       processed = 1;\r
-                                       break;\r
-\r
-                               case 9:\r
-                               case CKEDITOR.SHIFT + 9:\r
-                                       this.changeFocus( 1 );\r
-                                       processed = 1;\r
-                       }\r
-\r
-                       processed && domEvent.preventDefault();\r
-               }, this );\r
-\r
-               editor.fire( 'ariaWidget', new CKEDITOR.dom.element( win.frameElement ) );\r
-\r
-               // Handle pending focus.\r
-               if ( doc.getWindow().getFrame().removeCustomData( 'pendingFocus' ) )\r
-                       body.focus();\r
-       }\r
-\r
-       // If pasteDialogCommit wasn't canceled by e.g. editor.getClipboardData\r
-       // then fire paste event.\r
-       // Do not use editor#paste, because it would start from beforePaste event.\r
-       editor.on( 'pasteDialogCommit', function( evt ) {\r
-               if ( evt.data )\r
-                       editor.fire( 'paste', {\r
-                               type: 'auto',\r
-                               dataValue: evt.data.dataValue,\r
-                               method: 'paste',\r
-                               dataTransfer: evt.data.dataTransfer || clipboard.initPasteDataTransfer()\r
-                       } );\r
-       }, null, null, 1000 );\r
-\r
-       return {\r
-               title: lang.title,\r
-\r
-               minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 370 : 350,\r
-               minHeight: CKEDITOR.env.quirks ? 250 : 245,\r
-               onShow: function() {\r
-                       // FIREFOX BUG: Force the browser to render the dialog to make the to-be-\r
-                       // inserted iframe editable. (#3366)\r
-                       this.parts.dialog.$.offsetHeight;\r
-\r
-                       this.setupContent();\r
-\r
-                       // Set dialog title to the custom value (set e.g. in editor.openDialog callback) and reset this value.\r
-                       // If custom title not set, use default one.\r
-                       this.parts.title.setHtml( this.customTitle || lang.title );\r
-                       this.customTitle = null;\r
-               },\r
-\r
-               onLoad: function() {\r
-                       if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) && editor.lang.dir == 'rtl' )\r
-                               this.parts.contents.setStyle( 'overflow', 'hidden' );\r
-               },\r
-\r
-               onOk: function() {\r
-                       this.commitContent();\r
-               },\r
-\r
-               contents: [ {\r
-                       id: 'general',\r
-                       label: editor.lang.common.generalTab,\r
-                       elements: [\r
-                               {\r
-                                       type: 'html',\r
-                                       id: 'securityMsg',\r
-                                       html: '<div style="white-space:normal;width:340px">' + lang.securityMsg + '</div>'\r
-                               },\r
-                               {\r
-                                       type: 'html',\r
-                                       id: 'pasteMsg',\r
-                                       html: '<div style="white-space:normal;width:340px">' + lang.pasteMsg + '</div>'\r
-                               },\r
-                               {\r
-                                       type: 'html',\r
-                                       id: 'editing_area',\r
-                                       style: 'width:100%;height:100%',\r
-                                       html: '',\r
-                                       focus: function() {\r
-                                               var iframe = this.getInputElement(),\r
-                                                       doc = iframe.getFrameDocument(),\r
-                                                       body = doc.getBody();\r
-\r
-                                               // Frame content may not loaded at the moment.\r
-                                               if ( !body || body.isReadOnly() )\r
-                                                       iframe.setCustomData( 'pendingFocus', 1 );\r
-                                               else\r
-                                                       body.focus();\r
-                                       },\r
-                                       setup: function() {\r
-                                               var dialog = this.getDialog();\r
-                                               var htmlToLoad = '<html dir="' + editor.config.contentsLangDirection + '"' +\r
-                                                       ' lang="' + ( editor.config.contentsLanguage || editor.langCode ) + '">' +\r
-                                                       '<head><style>body{margin:3px;height:95%;word-break:break-all;}</style></head><body>' +\r
-                                                       '<script id="cke_actscrpt" type="text/javascript">' +\r
-                                                       'window.parent.CKEDITOR.tools.callFunction(' + CKEDITOR.tools.addFunction( onPasteFrameLoad, dialog ) + ',this);' +\r
-                                                       '</script></body>' +\r
-                                                       '</html>';\r
-\r
-                                               var src =\r
-                                                       CKEDITOR.env.air ?\r
-                                                               'javascript:void(0)' : // jshint ignore:line\r
-                                                       ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) ?\r
-                                                               'javascript:void((function(){' + encodeURIComponent( // jshint ignore:line\r
-                                                                       'document.open();' +\r
-                                                                       '(' + CKEDITOR.tools.fixDomain + ')();' +\r
-                                                                       'document.close();'\r
-                                                               ) + '})())"'\r
-                                                       : '';\r
-\r
-                                               var iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +\r
-                                                       ' class="cke_pasteframe"' +\r
-                                                       ' frameborder="0" ' +\r
-                                                       ' allowTransparency="true"' +\r
-                                                       ' src="' + src + '"' +\r
-                                                       ' aria-label="' + lang.pasteArea + '"' +\r
-                                                       ' aria-describedby="' + dialog.getContentElement( 'general', 'pasteMsg' ).domId + '"' +\r
-                                                       '></iframe>' );\r
-\r
-                                               // Reset last data transfer.\r
-                                               lastDataTransfer = null;\r
-\r
-                                               iframe.on( 'load', function( e ) {\r
-                                                       e.removeListener();\r
-\r
-                                                       var doc = iframe.getFrameDocument();\r
-                                                       doc.write( htmlToLoad );\r
-\r
-                                                       editor.focusManager.add( doc.getBody() );\r
-\r
-                                                       if ( CKEDITOR.env.air )\r
-                                                               onPasteFrameLoad.call( this, doc.getWindow().$ );\r
-                                               }, dialog );\r
-\r
-                                               iframe.setCustomData( 'dialog', dialog );\r
-\r
-                                               var container = this.getElement();\r
-                                               container.setHtml( '' );\r
-                                               container.append( iframe );\r
-\r
-                                               // IE need a redirect on focus to make\r
-                                               // the cursor blinking inside iframe. (#5461)\r
-                                               if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) {\r
-                                                       var focusGrabber = CKEDITOR.dom.element.createFromHtml( '<span tabindex="-1" style="position:absolute" role="presentation"></span>' );\r
-                                                       focusGrabber.on( 'focus', function() {\r
-                                                               // Since fixDomain is called in src attribute,\r
-                                                               // IE needs some slight delay to correctly move focus.\r
-                                                               setTimeout( function() {\r
-                                                                       iframe.$.contentWindow.focus();\r
-                                                               } );\r
-                                                       } );\r
-                                                       container.append( focusGrabber );\r
-\r
-                                                       // Override focus handler on field.\r
-                                                       this.focus = function() {\r
-                                                               focusGrabber.focus();\r
-                                                               this.fire( 'focus' );\r
-                                                       };\r
-                                               }\r
-\r
-                                               this.getInputElement = function() {\r
-                                                       return iframe;\r
-                                               };\r
-\r
-                                               // Force container to scale in IE.\r
-                                               if ( CKEDITOR.env.ie ) {\r
-                                                       container.setStyle( 'display', 'block' );\r
-                                                       container.setStyle( 'height', ( iframe.$.offsetHeight + 2 ) + 'px' );\r
-                                               }\r
-                                       },\r
-                                       commit: function() {\r
-                                               var editor = this.getDialog().getParentEditor(),\r
-                                                       body = this.getInputElement().getFrameDocument().getBody(),\r
-                                                       bogus = body.getBogus(),\r
-                                                       html;\r
-                                               bogus && bogus.remove();\r
-\r
-                                               // Saving the contents so changes until paste is complete will not take place (#7500)\r
-                                               html = body.getHtml();\r
-\r
-                                               // Opera needs some time to think about what has happened and what it should do now.\r
-                                               setTimeout( function() {\r
-                                                       editor.fire( 'pasteDialogCommit', {\r
-                                                               dataValue: html,\r
-                                                               // Avoid error if there was no paste so lastDataTransfer is null.\r
-                                                               dataTransfer: lastDataTransfer || clipboard.initPasteDataTransfer()\r
-                                                       } );\r
-                                               }, 0 );\r
-                                       }\r
-                               }\r
-                       ]\r
-               } ]\r
-       };\r
-} );\r
-\r
-/**\r
- * Internal event to pass paste dialog's data to the listeners.\r
- *\r
- * @private\r
- * @event pasteDialogCommit\r
- * @member CKEDITOR.editor\r
- * @param {CKEDITOR.editor} editor This editor instance.\r
- */\r
index f87522f1a3b094ce37b3890de3e3a8e1502024c4..5860867b3d9e5b48ba4261c9d639a6ed8cd1b8ff 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'af', {
        cut: 'Knip',\r
        cutError: 'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).',\r
        paste: 'Plak',\r
-       pasteArea: 'Plak-area',\r
-       pasteMsg: 'Plak die teks in die volgende teks-area met die sleutelbordkombinasie (<STRONG>Ctrl/Cmd+V</STRONG>) en druk <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Weens u blaaier se sekuriteitsinstelling is data op die knipbord nie toeganklik nie. U kan dit eers weer in hierdie venster plak.',\r
-       title: 'Byvoeg'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index aa96596586b25fd47ff8b703036b6f06c25e3a3b..6d1a0b0f823a6a91ca1000d785cd6232049e8988 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ar', {
        cut: 'قص',\r
        cutError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).',\r
        paste: 'لصق',\r
-       pasteArea: 'منطقة اللصق',\r
-       pasteMsg: 'الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر  <STRONG>موافق</STRONG>.',\r
-       securityMsg: 'نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.',\r
-       title: 'لصق'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 1fc1a999958bbc5638e87258e4b2fc4b5e45af13..8f60f35d62bff1da50b45373ecf10261f5b3151e 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'az', {
        cut: 'Kəs',\r
        cutError: 'Avtomatik kəsmə mümkün deyil. Ctrl+X basın.',\r
        paste: 'Əlavə et',\r
-       pasteArea: 'Əlavəetmə sahəsi',\r
-       pasteMsg: 'Bu sahəyə əlavə edin (<strong>Ctrl+V</strong>)',\r
-       securityMsg: 'Mübadilə buferi açmaq mümkün deyil. Bu pəncərədə yenidən əlavə edin.',\r
-       title: 'Əlavə et'\r
+       pasteNotification: 'Sizin İnternet bələdçisi bu cür mətnin köçürməsi dəstəklənmir. Əlavə etmək üçün %1 basın.'\r
 } );\r
index 93a5a9c541240546665f49bcedec250447b19252..2d8eedecb8ef127e9c03b4809bdb981e17b229cb 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bg', {
        cut: 'Отрежи',\r
        cutError: 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).',\r
        paste: 'Вмъкни',\r
-       pasteArea: 'Зона за вмъкване',\r
-       pasteMsg: 'Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl/Cmd+V</STRONG>) и натиснете <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Заради настройките за сигурност на Вашия браузър, редакторът не може да прочете данните от клипборда коректно.',\r
-       title: 'Вмъкни'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index f821fa01548a98a8df0aaab9d7fb2bc6f6163b38..1d0922ac096a40e5c888e8f0928dccbd313005e3 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bn', {
        cut: 'কাট',\r
        cutError: 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।',\r
        paste: 'পেস্ট',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (<STRONG>Ctrl/Cmd+V</STRONG>) পেস্ট করুন এবং <STRONG>OK</STRONG> চাপ দিন',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'পেস্ট'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 1c23a61ccebf4d112637495bc3c0f5e5646d78ab..62f3f1b2c95df45a95e99d7d55e62927db1149c5 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bs', {
        cut: 'Izreži',\r
        cutError: 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).',\r
        paste: 'Zalijepi',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'Zalijepi'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 52179c1e4287487223337736dc3696b189dc800c..6cd3b582c9bc5d4de38887815b0dfe20d5db9308 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ca', {
        cut: 'Retallar',\r
        cutError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).',\r
        paste: 'Enganxar',\r
-       pasteArea: 'Àrea d\'enganxat',\r
-       pasteMsg: 'Si us plau, enganxi dins del següent camp utilitzant el teclat (<strong>Ctrl/Cmd+V</strong>) i premi OK.',\r
-       securityMsg: 'A causa de la configuració de seguretat del vostre navegador, l\'editor no pot accedir a les dades del porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.',\r
-       title: 'Enganxar'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 7cf573e1e67aa009c27f885db22a5f0f04381869..4cbf3b416d486ae3dd4a75f2e7969039c7bb216e 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'cs', {
        cut: 'Vyjmout',\r
        cutError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).',\r
        paste: 'Vložit',\r
-       pasteArea: 'Oblast vkládání',\r
-       pasteMsg: 'Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.',\r
-       title: 'Vložit'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 00c5eebc02a36abead8b6996a5009517e97832ea..e854e13399cc5653526e7af52a21404134932436 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'cy', {
        cut: 'Torri',\r
        cutError: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).',\r
        paste: 'Gludo',\r
-       pasteArea: 'Ardal Gludo',\r
-       pasteMsg: 'Gludwch i mewn i\'r blwch canlynol gan ddefnyddio\'r bysellfwrdd (<strong>Ctrl/Cmd+V</strong>) a phwyso <strong>Iawn</strong>.',\r
-       securityMsg: 'Oherwydd gosodiadau diogelwch eich porwr, \'dyw\'r porwr ddim yn gallu ennill mynediad i\'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i\'r ffenestr hon.',\r
-       title: 'Gludo'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index c0290169d0844a6fbb8897f3c0207aa6b1d08d44..257c9d4cea62f413fab9d0005b40d6250af3f821 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'da', {
        cut: 'Klip',\r
        cutError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).',\r
        paste: 'Indsæt',\r
-       pasteArea: 'Indsæt område',\r
-       pasteMsg: 'Indsæt i feltet herunder (<STRONG>Ctrl/Cmd+V</STRONG>) og klik på <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Du skal indsætte udklipsholderens indhold i dette vindue igen.',\r
-       title: 'Indsæt'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 325b1007e723c04cad4f43711e2a9872484920a7..e3b9eadf901266feec8629037117570adb126f7f 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'de-ch', {
        cut: 'Ausschneiden',\r
        cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).',\r
        paste: 'Einfügen',\r
-       pasteArea: 'Einfügebereich',\r
-       pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.',\r
-       title: 'Einfügen'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 2d6b30b925f07419a95d4209dc0b8ce1117f7d92..524408160dede8ac94bea52890b2cc555d17b35b 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'de', {
        cut: 'Ausschneiden',\r
        cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).',\r
        paste: 'Einfügen',\r
-       pasteArea: 'Einfügebereich',\r
-       pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.',\r
-       title: 'Einfügen'\r
+       pasteNotification: 'Ihr Browser verhindert das Einfügen über diesen Weg. Zum einfügen drücken Sie %1.'\r
 } );\r
index 05288405109f2fb367b0c9bfd80fb9754bc18f6f..4ee396bc01d762782b82f58166fdfc44b1a5da59 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'el', {
        cut: 'Αποκοπή',\r
        cutError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).',\r
        paste: 'Επικόλληση',\r
-       pasteArea: 'Περιοχή Επικόλλησης',\r
-       pasteMsg: 'Παρακαλώ επικολλήστε στο ακόλουθο κουτί χρησιμοποιώντας το πληκτρολόγιο (<strong>Ctrl/Cmd+V</strong>) και πατήστε OK.',\r
-       securityMsg: 'Λόγων των ρυθμίσεων ασφάλειας του περιηγητή σας, ο επεξεργαστής δεν μπορεί να έχει πρόσβαση στην μνήμη επικόλλησης. Χρειάζεται να επικολλήσετε ξανά σε αυτό το παράθυρο.',\r
-       title: 'Επικόλληση'\r
+       pasteNotification: 'Ο περιηγητής σας δεν σας επιτρέπει να επικολλήσετε με αυτόν τον τρόπο. Πατήστε %1 για επικόλληση.'\r
 } );\r
index 5c497fb02146c2fa00bb2ba9deac9fd97330d32c..018a7549b8ce995ae91545beb2103a9441b6bb5f 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-au', {
        cut: 'Cut',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',\r
        paste: 'Paste',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',\r
-       title: 'Paste'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 036ebab349b67fd7f888451706546aba340b6be5..fd76ba76ee96a583c7c64cdcb61f0ddabd60e41d 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-ca', {
        cut: 'Cut',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',\r
        paste: 'Paste',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',\r
-       title: 'Paste'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index bb511ce7c2308ac1b634d0f638338cdd26fb7290..fb6aa2e97898e5e5a9d386fee69b4349e07e804c 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-gb', {
        cut: 'Cut',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',\r
        paste: 'Paste',\r
-       pasteArea: 'Paste Area',\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',\r
-       title: 'Paste'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 4db696006110aea6bce0cf68fc1b30390cb7c78b..5d81cc0b7baa2acb5ba7aee6a7d9b31d91e78aef 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en', {
        cut: 'Cut',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',\r
        paste: 'Paste',\r
-       pasteArea: 'Paste Area',\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',\r
-       title: 'Paste'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.'\r
 } );\r
index 2df415026c34891ca400069b20faf8bf79808e8c..3a012130db03d231a6573e62d3c92bce8f433fcd 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'eo', {
        cut: 'Eltondi',\r
        cutError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).',\r
        paste: 'Interglui',\r
-       pasteArea: 'Intergluoareo',\r
-       pasteMsg: 'Bonvolu glui la tekston en la jenan areon per uzado de la klavaro (<strong>Ctrl/Cmd+V</strong>) kaj premu OK',\r
-       securityMsg: 'Pro la sekurecagordo de via TTT-legilo, la redaktilo ne povas rekte atingi viajn datenojn en la poŝo. Bonvolu denove interglui la datenojn en tiun fenestron.',\r
-       title: 'Interglui'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
diff --git a/sources/plugins/clipboard/lang/es-mx.js b/sources/plugins/clipboard/lang/es-mx.js
new file mode 100644 (file)
index 0000000..f4a1be2
--- /dev/null
@@ -0,0 +1,12 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'clipboard', 'es-mx', {\r
+       copy: 'Copiar',\r
+       copyError: 'La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de copiado. Por favor, utilice el teclado para (Ctrl/Cmd+C).',\r
+       cut: 'Cortar',\r
+       cutError: 'La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de corte. Por favor, utilice el teclado para (Ctrl/Cmd+X).',\r
+       paste: 'Pegar',\r
+       pasteNotification: 'Tu navegador no permite pegar de esta manera. Presiona %1 para pegar.'\r
+} );\r
index c455992cd31cb6f81fdb017eb6a16aa0469726bc..741d912d14ab3160d0635e952cff143f16e0aac5 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'es', {
        cut: 'Cortar',\r
        cutError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).',\r
        paste: 'Pegar',\r
-       pasteArea: 'Zona de pegado',\r
-       pasteMsg: 'Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl/Cmd+V</STRONG>);\r\nluego presione <STRONG>Aceptar</STRONG>.',\r
-       securityMsg: 'Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles.\r\nEs necesario que lo pegue de nuevo en esta ventana.',\r
-       title: 'Pegar'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 7d86b3076b44e42cd618b31ce4a66eda1678a142..106ca6161d7732724bd1ecdb8507b2ec8ad42cf3 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'et', {
        cut: 'Lõika',\r
        cutError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).',\r
        paste: 'Aseta',\r
-       pasteArea: 'Asetamise ala',\r
-       pasteMsg: 'Palun aseta tekst järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl/Cmd+V</STRONG>) ja vajuta seejärel <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Sinu veebisirvija turvaseadete tõttu ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead asetama need uuesti siia aknasse.',\r
-       title: 'Asetamine'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 93240b5caeee6210aefa6a2cbfa33669f2a80d3e..140fcb8f93a51bda06e89406abdfa223dcc634f8 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'eu', {
        cut: 'Ebaki',\r
        cutError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).',\r
        paste: 'Itsatsi',\r
-       pasteArea: 'Itsasteko area',\r
-       pasteMsg: 'Mesedez teklatua erabiliz (<strong>Ctrl/Cmd+V</strong>) ondorengo eremuan testua itsatsi eta sakatu <strong>Ados</strong>.',\r
-       securityMsg: 'Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.',\r
-       title: 'Itsatsi'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 8abee213cf2b98866b0dfcb7c4dfaa3e34c65d57..8dca4b33de42dc3d5825c27647676784c6aebdef 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fa', {
        cut: 'برش',\r
        cutError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).',\r
        paste: 'چسباندن',\r
-       pasteArea: 'محل چسباندن',\r
-       pasteMsg: 'لطفا متن را با کلیدهای (<STRONG>Ctrl/Cmd+V</STRONG>) در این جعبهٴ متنی بچسبانید و <STRONG>پذیرش</STRONG> را بزنید.',\r
-       securityMsg: 'به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمیتواند دسترسی مستقیم به دادههای clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.',\r
-       title: 'چسباندن'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index d165fb3bcd5ff03f16c98894d7888b57aa2bf558..b2db77a6e2ede0d3b3b05a4402eb4000434521e0 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fi', {
        cut: 'Leikkaa',\r
        cutError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',\r
        paste: 'Liitä',\r
-       pasteArea: 'Leikealue',\r
-       pasteMsg: 'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',\r
-       title: 'Liitä'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 5c1ec8a01efcec4a4becb8c3987e066d905b43c4..8485ef340182e3fc370c0367170596da0c5bfc7d 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fo', {
        cut: 'Kvett',\r
        cutError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).',\r
        paste: 'Innrita',\r
-       pasteArea: 'Avritingarumráði',\r
-       pasteMsg: 'Vinarliga koyr tekstin í hendan rútin við knappaborðinum (<strong>Ctrl/Cmd+V</strong>) og klikk á <strong>Góðtak</strong>.',\r
-       securityMsg: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.',\r
-       title: 'Innrita'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 3425f560ad18d77dbf3ea86b0501fca8c9b982d5..1a2dd3d64929b0a7adc96097ae5ed5784e0d09f9 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fr-ca', {
        cut: 'Couper',\r
        cutError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).',\r
        paste: 'Coller',\r
-       pasteArea: 'Coller la zone',\r
-       pasteMsg: 'Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl/Cmd+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.',\r
-       securityMsg: 'A cause des paramètres de sécurité de votre navigateur, l\'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.',\r
-       title: 'Coller'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index bb8349f559b7467ffa5a4db4b9f0816e145f0c58..054d055805d197dd8723c3a35e1ba707e5942873 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fr', {
        cut: 'Couper',\r
        cutError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).',\r
        paste: 'Coller',\r
-       pasteArea: 'Coller la zone',\r
-       pasteMsg: 'Veuillez coller le texte dans la zone suivante en utilisant le raccourci clavier (<strong>Ctrl/Cmd+V</strong>) et cliquez sur OK.',\r
-       securityMsg: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur d\'accéder directement aux données du presse-papier. Vous devez les coller à nouveau dans cette fenêtre.',\r
-       title: 'Coller'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 3c89dd092495664d99b216d155a9cc5a7e836f97..5b4fd1a2c4d9c55dd4b8c2822521dd5da08aefad 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'gl', {
        cut: 'Cortar',\r
        cutError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).',\r
        paste: 'Pegar',\r
-       pasteArea: 'Zona de pegado',\r
-       pasteMsg: 'Pegue dentro do seguinte cadro usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e prema en Aceptar',\r
-       securityMsg: 'Por mor da configuración de seguranza do seu navegador, o editor non ten acceso ao portapapeis. É necesario pegalo novamente nesta xanela.',\r
-       title: 'Pegar'\r
+       pasteNotification: 'O seu navegador non permite pegar deste xeito. Prema %1 para pegar.'\r
 } );\r
index fcf039ac72ef871024b51db189ef30d80129d981..aeac560ab1d6079ee396db584e7d193e071d4c2a 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'gu', {
        cut: 'કાપવું',\r
        cutError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.',\r
        paste: 'પેસ્ટ',\r
-       pasteArea: 'પેસ્ટ કરવાની જગ્યા',\r
-       pasteMsg: 'Ctrl/Cmd+V નો પ્રયોગ કરી પેસ્ટ કરો',\r
-       securityMsg: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.',\r
-       title: 'પેસ્ટ'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index a3726c3ebc69cdcf4c1f4066182753d37f9dbaf2..460b9c61fe2f991c1e4972a1c18655f0f881f1bc 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'he', {
        cut: 'גזירה',\r
        cutError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).',\r
        paste: 'הדבקה',\r
-       pasteArea: 'איזור הדבקה',\r
-       pasteMsg: 'נא להדביק בתוך הקופסה באמצעות (<b>Ctrl/Cmd+V</b>) וללחוץ על <b>אישור</b>.',\r
-       securityMsg: 'עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (Clipboard) בצורה ישירה. נא להדביק שוב בחלון זה.',\r
-       title: 'הדבקה'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 738b0b9c93542f9e2273ab073ac80992eb54cd30..112853cdc432aebc42cdb211a4d87f806859ddea 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hi', {
        cut: 'कट',\r
        cutError: 'आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।',\r
        paste: 'पेस्ट',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Ctrl/Cmd+V का प्रयोग करके पेस्ट करें और ठीक है करें.',\r
-       securityMsg: 'आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.',\r
-       title: 'पेस्ट'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 7366069e86acaebcf110202402c54af505b3b5e8..4eff9ce7128f33d993a9058c49d2a1f549dfd508 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hr', {
        cut: 'Izreži',\r
        cutError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).',\r
        paste: 'Zalijepi',\r
-       pasteArea: 'Prostor za ljepljenje',\r
-       pasteMsg: 'Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl/Cmd+V</STRONG>) i kliknite <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.',\r
-       title: 'Zalijepi'\r
+       pasteNotification: 'Vaš preglednik Vam ne dozvoljava lijepljenje na ovaj način. Za lijepljenje, pritisnite %1.'\r
 } );\r
index b124e35fafff942b83fde8b4a88ed6d9181995a0..646fb15057f575f3e4ba48979da789aaa9b13f1a 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hu', {
        cut: 'Kivágás',\r
        cutError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).',\r
        paste: 'Beillesztés',\r
-       pasteArea: 'Beszúrás mező',\r
-       pasteMsg: 'Másolja be az alábbi mezőbe a <STRONG>Ctrl/Cmd+V</STRONG> billentyűk lenyomásával, majd nyomjon <STRONG>Rendben</STRONG>-t.',\r
-       securityMsg: 'A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.',\r
-       title: 'Beillesztés'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e7b40ad2a06bf9c2eaab4db81b13f57ef69d95e9..b68425f20b7b8977c4539970f5b1060c230f25b0 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'id', {
        cut: 'Potong',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING\r
        paste: 'Tempel',\r
-       pasteArea: 'Area Tempel',\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING\r
-       securityMsg: 'Karena pengaturan keamanan peramban anda, editor tida dapat mengakses data clipboard anda secara langsung. Anda harus mem-paste kembali pada halaman ini',\r
-       title: 'Tempel'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 6b36cef5bc9a1fc4619ff1e3920a6d8dabc9bf0e..32a0fce435c79ff666aaa9f87b8b60069cc0d4d4 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'is', {
        cut: 'Klippa',\r
        cutError: 'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).',\r
        paste: 'Líma',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Límdu í svæðið hér að neðan og (<STRONG>Ctrl/Cmd+V</STRONG>) og smelltu á <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.',\r
-       title: 'Líma'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 21f881575b3a25ed2b291390206bb05f6800f940..46e015c0b7f157a551db0cf31d20eb1eee9bc1dd 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'it', {
        cut: 'Taglia',\r
        cutError: 'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).',\r
        paste: 'Incolla',\r
-       pasteArea: 'Incolla',\r
-       pasteMsg: 'Incolla il testo all\'interno dell\'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl/Cmd+V</STRONG>) e premi <STRONG>OK</STRONG>.',\r
-       securityMsg: 'A causa delle impostazioni di sicurezza del browser,l\'editor non è in grado di accedere direttamente agli appunti. E\' pertanto necessario incollarli di nuovo in questa finestra.',\r
-       title: 'Incolla'\r
+       pasteNotification: 'Il browser non permette di incollare in questo modo. Premere %1 per incollare.'\r
 } );\r
index f09938027935b41e71c2b6bb76cf15d2fc777b4e..f527e7c1e528f41fa2e3a4384d520c77adf38262 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ja', {
        cut: '切り取り',\r
        cutError: 'ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。',\r
        paste: '貼り付け',\r
-       pasteArea: '貼り付け場所',\r
-       pasteMsg: 'キーボード(<STRONG>Ctrl/Cmd+V</STRONG>)を使用して、次の入力エリア内で貼り付けて、<STRONG>OK</STRONG>を押してください。',\r
-       securityMsg: 'ブラウザのセキュリティ設定により、エディタはクリップボードデータに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。',\r
-       title: '貼り付け'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e1af8cb080f248921691514779c165420e5d5f28..2fa9e23a3f867bcdf612ff643292a2579c04c253 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ka', {
        cut: 'ამოჭრა',\r
        cutError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).',\r
        paste: 'ჩასმა',\r
-       pasteArea: 'ჩასმის არე',\r
-       pasteMsg: 'ჩასვით ამ არის შიგნით კლავიატურის გამოყენებით (<strong>Ctrl/Cmd+V</strong>) და დააჭირეთ OK-ს',\r
-       securityMsg: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა clipboard-ის მონაცემების წვდომის უფლებას. კიდევ უნდა ჩასვათ ტექსტი ამ ფანჯარაში.',\r
-       title: 'ჩასმა'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 32c30cb791639f5041c93ccca271e7ab3ba840b0..dc66ee8baa985426ebee91d3944bb33c848b00a4 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'km', {
        cut: 'កាត់យក',\r
        cutError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ  (Ctrl/Cmd+X) ។',\r
        paste: 'បិទ​ភ្ជាប់',\r
-       pasteArea: 'តំបន់​បិទ​ភ្ជាប់',\r
-       pasteMsg: 'សូមចំលងអត្ថបទទៅដាក់ក្នុងប្រអប់ដូចខាងក្រោមដោយប្រើប្រាស់ ឃី ​(<STRONG>Ctrl/Cmd+V</STRONG>) ហើយចុច <STRONG>OK</STRONG> ។',\r
-       securityMsg: 'ព្រោះតែ​ការកំណត់​សុវត្ថិភាព ប្រអប់សរសេរ​មិន​អាចចាប់​យកទិន្នន័យពីក្តារតម្បៀតខ្ទាស់​អ្នក​​ដោយផ្ទាល់​បានទេ។ អ្នក​ត្រូវចំលង​ដាក់វាម្តង​ទៀត ក្នុងផ្ទាំងនេះ។',\r
-       title: 'បិទ​ភ្ជាប់'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 0a0d1e926bcb7e9bec98ba3333e24c076c597a0a..84723581127bf5114b7a765b789ce4213473ca11 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ko', {
        cut: '잘라내기',\r
        cutError: '브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오',\r
        paste: '붙여넣기',\r
-       pasteArea: '붙여넣기 범위',\r
-       pasteMsg: '키보드(<strong>Ctrl/Cmd+V</strong>)를 이용해서 상자안에 붙여넣고 <strong>확인</strong> 를 누르세요.',\r
-       securityMsg: '브라우저 보안 설정으로 인해, 클립보드에 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.',\r
-       title: '붙여넣기'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 86e1778420dec79761b82d85592486b9dfe931e3..b87aa8bb82fd2c87c89543bda5d4b766ea1fd858 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ku', {
        cut: 'بڕین',\r
        cutError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).',\r
        paste: 'لکاندن',\r
-       pasteArea: 'ناوچەی لکاندن',\r
-       pasteMsg: 'تکایە بیلکێنە لەناوەوەی ئەم سنوقە لەڕێی تەختەکلیلەکەت بە بەکارهێنانی کلیلی (<STRONG>Ctrl/Cmd+V</STRONG>) دووای کلیکی باشە بکە.',\r
-       securityMsg: 'بەهۆی شێوەپێدانی پارێزی وێبگەڕەکەت، سەرنووسەکه ناتوانێت دەستبگەیەنێت بەهەڵگیراوەکە ڕاستەوخۆ. بۆیه پێویسته دووباره بیلکێنیت لەم پەنجەرەیه.',\r
-       title: 'لکاندن'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 86ecbbb2b10fc466af96535894c094b57168ecfc..c8d3611377d4d24c23b9c5356f510d24d8fc500a 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'lt', {
        cut: 'Iškirpti',\r
        cutError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+X).',\r
        paste: 'Įdėti',\r
-       pasteArea: 'Įkelti dalį',\r
-       pasteMsg: 'Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl/Cmd+V</STRONG>) ir paspauskite mygtuką <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Dėl jūsų naršyklės saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartą į šį langą.',\r
-       title: 'Įdėti'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index c762fc6d699f5edbfb4465e9b8bd5c0bebc48088..49775de590d359fddf83b8e6c0361cfbe7b77d05 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'lv', {
        cut: 'Izgriezt',\r
        cutError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt izgriezšanas darbību.  Lūdzu, izmantojiet (Ctrl/Cmd+X), lai veiktu šo darbību.',\r
        paste: 'Ielīmēt',\r
-       pasteArea: 'Ielīmēšanas zona',\r
-       pasteMsg: 'Lūdzu, ievietojiet tekstu šajā laukumā, izmantojot klaviatūru (<STRONG>Ctrl/Cmd+V</STRONG>) un apstipriniet ar <STRONG>Darīts!</STRONG>.',\r
-       securityMsg: 'Jūsu pārlūka drošības uzstādījumu dēļ, nav iespējams tieši piekļūt jūsu starpliktuvei. Jums jāielīmē atkārtoti šajā logā.',\r
-       title: 'Ievietot'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index eb16066769328372b37b6b933869139bed5ad226..07a3d560d85e07d70911869f00096070c47b871c 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'mk', {
        cut: 'Исечи (Cut)',\r
        cutError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)',\r
        paste: 'Залепи (Paste)',\r
-       pasteArea: 'Простор за залепување',\r
-       pasteMsg: 'Ве молиме да залепите во следниот квадрат користејќи ја тастатурата (<string>Ctrl/Cmd+V</string>) и да притиснете OK',\r
-       securityMsg: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот директно да пристапи до копираните податоци. Потребно е повторно да се обидете во овој прозорец.',\r
-       title: 'Залепи (Paste)'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 5351941e790af1e228f54cf92b31006e2d180ef0..3ba66f54e3de425e2ed1f7d663649a9d7ca57382 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'mn', {
        cut: 'Хайчлах',\r
        cutError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.',\r
        paste: 'Буулгах',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: '(<strong>Ctrl/Cmd+V</strong>) товчийг ашиглан paste хийнэ үү. Мөн <strong>OK</strong> дар.',\r
-       securityMsg: 'Таны үзүүлэгч/browser/-н хамгаалалтын тохиргооноос болоод editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Энэ цонход дахин paste хийхийг оролд.',\r
-       title: 'Буулгах'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 3a01be4869e7c970a9c4ed9f574770743722c957..b9e479a21ea3345d755abf437367ff16e505f592 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ms', {
        cut: 'Potong',\r
        cutError: 'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).',\r
        paste: 'Tampal',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'Tampal'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 5355b8a245c8cfbe045cc52c06577792cd0bdfb4..bdf1563ea5f217d2e7a19cfb04302e418dab46fd 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'nb', {
        cut: 'Klipp ut',\r
        cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).',\r
        paste: 'Lim inn',\r
-       pasteArea: 'Innlimingsområde',\r
-       pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (<strong>Ctrl/Cmd+V</strong>) og trykk <strong>OK</strong>.',\r
-       securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',\r
-       title: 'Lim inn'\r
+       pasteNotification: 'Nettleseren din lar deg ikke lime inn på denne måten. Trykk %1 for å lime inn.'\r
 } );\r
index bae806f51f442775a78d36546b891832fcf168f8..16bafd89dd07ee0d9aec94f60b9182d3b96271b9 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'nl', {
        cut: 'Knippen',\r
        cutError: 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.',\r
        paste: 'Plakken',\r
-       pasteArea: 'Plakgebied',\r
-       pasteMsg: 'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (<strong>Ctrl/Cmd+V</strong>) en klik op OK.',\r
-       securityMsg: 'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.',\r
-       title: 'Plakken'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e8c48dae9b70de184c7b1e22c992c75e319b8fb6..77ff08a8b8f7e8eaadd5688287270bc4651de2e3 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'no', {
        cut: 'Klipp ut',\r
        cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).',\r
        paste: 'Lim inn',\r
-       pasteArea: 'Innlimingsområde',\r
-       pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',\r
-       title: 'Lim inn'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e9e78cd92c3556efa78a2d2293b7b2ba6eeb30f7..40d99fa51b928dc419ddbaf6e2d808aee5a5f019 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'oc', {
        cut: 'Talhar',\r
        cutError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Talhar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+X).',\r
        paste: 'Pegar',\r
-       pasteArea: 'Pegar la zòna',\r
-       pasteMsg: 'Pegatz lo tèxte dins la zòna seguenta en utilizant l\'acorchi de clavièr (<strong>Ctrl/Cmd+V</strong>) e clicatz sus D\'acòrdi.',\r
-       securityMsg: 'Los paramètres de seguretat de vòstre navigador empach l\'editor d\'accedir dirèctament a las donadas del quichapapièr. Las vos cal pegar tornamai dins aquesta fenèstra.',\r
-       title: 'Pegar'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e2ccd168be13c2db87da45043c51ce6cc67a0bb0..494c9c101dd0d70dbea6885f9887f08f6a00b87f 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pl', {
        cut: 'Wytnij',\r
        cutError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.',\r
        paste: 'Wklej',\r
-       pasteArea: 'Obszar wklejania',\r
-       pasteMsg: 'Wklej tekst w poniższym polu, używając skrótu klawiaturowego (<STRONG>Ctrl/Cmd+V</STRONG>), i kliknij <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Zabezpieczenia przeglądarki uniemożliwiają wklejenie danych bezpośrednio do edytora. Proszę ponownie wkleić dane w tym oknie.',\r
-       title: 'Wklej'\r
+       pasteNotification: 'Twoja przeglądarka nie pozwala na wklejanie treści w ten sposób. Naciśnij %1 by wkleić tekst.'\r
 } );\r
index 74608baaaacd9917c32b2ad5fb71ba10c3424cc5..e0359d9671b64bef79ce6960752f9b3bc75a7261 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pt-br', {
        cut: 'Recortar',\r
        cutError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).',\r
        paste: 'Colar',\r
-       pasteArea: 'Área para Colar',\r
-       pasteMsg: 'Transfira o link usado na caixa usando o teclado com (<STRONG>Ctrl/Cmd+V</STRONG>) e <STRONG>OK</STRONG>.',\r
-       securityMsg: 'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo manualmente nesta janela.',\r
-       title: 'Colar'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 623ce06adddc00f47e1e687a42c2d3479a89ce61..6a6df67347cfd00c2e3018b68268b88f60d8a214 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pt', {
        cut: 'Cortar',\r
        cutError: 'A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).',\r
        paste: 'Colar',\r
-       pasteArea: 'Colar área',\r
-       pasteMsg: 'Por favor, cole dentro da seguinte caixa usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e carregue em <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Devido ás definições de segurança do teu browser, o editor não pode aceder ao clipboard diretamente. É necessário que voltes a colar as informações nesta janela.',\r
-       title: 'Colar'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 1e57798927f6c75f3806bb88de98b8047a2c9323..4eb472a2955233f1a23e0ea3550a068a56fa07db 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ro', {
        cut: 'Taie',\r
        cutError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).',\r
        paste: 'Adaugă',\r
-       pasteArea: 'Suprafața de adăugare',\r
-       pasteMsg: 'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (<strong>Ctrl/Cmd+V</strong>) şi apăsaţi OK',\r
-       securityMsg: 'Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.',\r
-       title: 'Adaugă'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index d9b4d58840b330d4e59276279e089383f526316b..9ef951f7795e8ccc4eafecbaa1978fc7f8cd2265 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ru', {
        cut: 'Вырезать',\r
        cutError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).',\r
        paste: 'Вставить',\r
-       pasteArea: 'Зона для вставки',\r
-       pasteMsg: 'Пожалуйста, вставьте текст в зону ниже, используя клавиатуру (<strong>Ctrl/Cmd+V</strong>) и нажмите кнопку "OK".',\r
-       securityMsg: 'Настройки безопасности вашего браузера не разрешают редактору напрямую обращаться к буферу обмена. Вы должны вставить текст снова в это окно.',\r
-       title: 'Вставить'\r
+       pasteNotification: 'Ваш браузер не поддерживает данный метод вставки. Для вставки нажмите %1'\r
 } );\r
index 8430d01aa472ae9dfffef0766bd2f232084bb2b5..7356cf42469f788b665eae0836f6efd1a0f785d2 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'si', {
        cut: 'කපාගන්න',\r
        cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING\r
        paste: 'අලවන්න',\r
-       pasteArea: 'අලවන ප්‍රදේශ',\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'අලවන්න'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 6b2b4f492178ade2a8d6782dde5688ff6e808593..b844e5874cd7bc3c6288bb01c4b2704f0b4b83e8 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sk', {
        cut: 'Vystrihnúť',\r
        cutError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Použite na to klávesnicu (Ctrl/Cmd+X).',\r
        paste: 'Vložiť',\r
-       pasteArea: 'Miesto na vloženie',\r
-       pasteMsg: 'Použitím klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) vložte text do rámčeka a stlačte OK.',\r
-       securityMsg: 'Kvôli bezpečnostným nastaveniam vášho prehliadača editor nemôže pristupovať k schránke na kopírovanie priamo. Vložte to preto do tohto okna.',\r
-       title: 'Vložiť'\r
+       pasteNotification: 'Váš prehliadač nepovoľuje prilepiť text takýmto spôsobom. Pre prilepenie stlačte %1.'\r
 } );\r
index 3ddc89e1ae2c831dd43a454a26c91338d99d3383..787e6fcc718cdbcb936cd3c319bd06a94341bc4f 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sl', {
        cut: 'Izreži',\r
        cutError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).',\r
        paste: 'Prilepi',\r
-       pasteArea: 'Prilepi območje',\r
-       pasteMsg: 'Prosimo, prilepite v sleči okvir s pomočjo tipkovnice (<strong>Ctrl/Cmd+V</strong>) in pritisnite V redu.',\r
-       securityMsg: 'Zaradi varnostnih nastavitev vašega brskalnika urejevalnik ne more neposredno dostopati do odložišča. Vsebino odložišča ponovno prilepite v to okno.',\r
-       title: 'Prilepi'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index eda22e7faecbfbb9e787af02ae79b4094d1e8517..d78b2e7871f5138df7456ad2930a422fb55c2de2 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sq', {
        cut: 'Preje',\r
        cutError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e prerjes. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+X).',\r
        paste: 'Hidhe',\r
-       pasteArea: 'Hapësira Hedhëse',\r
-       pasteMsg: 'Ju lutemi hidhni brenda kutizës në vijim duke shfrytëzuar tastierën (<strong>Ctrl/Cmd+V</strong>) dhe shtypni Mirë.',\r
-       securityMsg: 'Për shkak të dhënave të sigurisë së shfletuesit tuaj, redaktuesi nuk është në gjendje të i qaset drejtpërdrejtë të dhanve të tabelës suaj të punës. Ju duhet të hidhni atë përsëri në këtë dritare.',\r
-       title: 'Hidhe'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 52102f6f3ee0b57a479e89471c2c8c58508f0b51..797429f92d22d4dc9f660233a6b7e10d0c7e25a2 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sr-latn', {
        cut: 'Iseci',\r
        cutError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+X).',\r
        paste: 'Zalepi',\r
-       pasteArea: 'Prostor za lepljenje',\r
-       pasteMsg: 'Molimo Vas da zalepite unutar donje povrine koristeći tastaturnu prečicu (<STRONG>Ctrl/Cmd+V</STRONG>) i da pritisnete <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Zbog sigurnosnih postavki vašeg pregledača, editor nije u mogućnosti da direktno pristupi podacima u klipbordu. Potrebno je da zalepite još jednom u ovom prozoru.',\r
-       title: 'Zalepi'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index c59ff1f9208ae1f1bef5d8d79ec9ccef320c4565..bd4e65521f39a94a443c9247a9b064df956d0c85 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sr', {
        cut: 'Исеци',\r
        cutError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).',\r
        paste: 'Залепи',\r
-       pasteArea: 'Залепи зону',\r
-       pasteMsg: 'Молимо Вас да залепите унутар доње површине користећи тастатурну пречицу (<STRONG>Ctrl/Cmd+V</STRONG>) и да притиснете <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Због сигурносних подешавања претраживача, едитор не може да приступи оставу. Требате да га поново залепите у овом прозору.',\r
-       title: 'Залепи'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 9663daa54ec15b281ee692e6d25625d58f93f616..d1ab00b861e186b612a545dfe7016d965966625d 100644 (file)
@@ -4,12 +4,9 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
 */\r
 CKEDITOR.plugins.setLang( 'clipboard', 'sv', {\r
        copy: 'Kopiera',\r
-       copyError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.',\r
+       copyError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.',\r
        cut: 'Klipp ut',\r
-       cutError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.',\r
+       cutError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.',\r
        paste: 'Klistra in',\r
-       pasteArea: 'Paste Area',\r
-       pasteMsg: 'Var god och klistra in Er text i rutan nedan genom att använda (<strong>Ctrl/Cmd+V</strong>) klicka sen på OK.',\r
-       securityMsg: 'På grund av din webbläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.',\r
-       title: 'Klistra in'\r
+       pasteNotification: 'Din webbläsare tillåter dig inte att klistra in på detta vis. Tryck på %1 för att klistra in.'\r
 } );\r
index 29664a6b4ba4644f68010010390968dac03fc54e..b645b900bd3b78c7c989d1e5adac8ae8251d72d2 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'th', {
        cut: 'ตัด',\r
        cutError: 'ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).',\r
        paste: 'วาง',\r
-       pasteArea: 'Paste Area', // MISSING\r
-       pasteMsg: 'กรุณาใช้คีย์บอร์ดเท่านั้น โดยกดปุ๋ม (<strong>Ctrl/Cmd และ V</strong>)พร้อมๆกัน และกด <strong>OK</strong>.',\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'วาง'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index a60ddc795ef589b9f0d4c14499900896b713e981..464533543237de4404243d3832203fc4c1c14492 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'tr', {
        cut: 'Kes',\r
        cutError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.',\r
        paste: 'Yapıştır',\r
-       pasteArea: 'Yapıştırma Alanı',\r
-       pasteMsg: 'Lütfen aşağıdaki kutunun içine yapıştırın. (<STRONG>Ctrl/Cmd+V</STRONG>) ve <STRONG>Tamam</STRONG> butonunu tıklayın.',\r
-       securityMsg: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..',\r
-       title: 'Yapıştır'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index e4b053750862781a08f68d687b74815c62bf73d3..5e641e3b6ed89d916bee3d4bfbcfb5b4b34e58b8 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'tt', {
        cut: 'Кисеп алу',\r
        cutError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.',\r
        paste: 'Өстәү',\r
-       pasteArea: 'Өстәү мәйданы',\r
-       pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING\r
-       securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING\r
-       title: 'Өстәү'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index dcdf29c154ba02ea4edd439e4f8fb1a50dc5adec..deb1d2b54b6ee333126ba6fd30343f3e1d071dc1 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ug', {
        cut: 'كەس',\r
        cutError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ',\r
        paste: 'چاپلا',\r
-       pasteArea: 'چاپلاش دائىرىسى',\r
-       pasteMsg: 'ھەرپتاختا تېز كۇنۇپكا (<STRONG>Ctrl/Cmd+V</STRONG>) نى ئىشلىتىپ مەزمۇننى تۆۋەندىكى رامكىغا كۆچۈرۈڭ، ئاندىن <STRONG>جەزملە</STRONG>نى بېسىڭ',\r
-       securityMsg: 'توركۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى سەۋەبىدىن بۇ تەھرىرلىگۈچ چاپلاش تاختىسىدىكى مەزمۇننى بىۋاستە زىيارەت قىلالمايدۇ، بۇ كۆزنەكتە قايتا بىر قېتىم چاپلىشىڭىز كېرەك.',\r
-       title: 'چاپلا'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 242688faeaae1c73dc8badfd0729d2c8b8c2a4e9..f3e06a56b35e7057e9c3510492074fcf4a68d59d 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'uk', {
        cut: 'Вирізати',\r
        cutError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)',\r
        paste: 'Вставити',\r
-       pasteArea: 'Область вставки',\r
-       pasteMsg: 'Будь ласка, вставте інформацію з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>), та натисніть <STRONG>OK</STRONG>.',\r
-       securityMsg: 'Редактор не може отримати прямий доступ до буферу обміну у зв\'язку з налаштуваннями Вашого браузера. Вам потрібно вставити інформацію в це вікно.',\r
-       title: 'Вставити'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index fd36e1f534643aecc7fa0badd712ad1530bf74f9..2928a951378723bb0b6fc51404548a3b022bb5e3 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'vi', {
        cut: 'Cắt',\r
        cutError: 'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+X).',\r
        paste: 'Dán',\r
-       pasteArea: 'Khu vực dán',\r
-       pasteMsg: 'Hãy dán nội dung vào trong khung bên dưới, sử dụng tổ hợp phím (<STRONG>Ctrl/Cmd+V</STRONG>) và nhấn vào nút <STRONG>Đồng ý</STRONG>.',\r
-       securityMsg: 'Do thiết lập bảo mật của trình duyệt nên trình biên tập không thể truy cập trực tiếp vào nội dung đã sao chép. Bạn cần phải dán lại nội dung vào cửa sổ này.',\r
-       title: 'Dán'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 930f24e0b498d5a256d19c09a5083e04c99c5b53..4b738cbde5773e40e1b5659d5c6a7bc9523a6c81 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'zh-cn', {
        cut: '剪切',\r
        cutError: '您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。',\r
        paste: '粘贴',\r
-       pasteArea: '粘贴区域',\r
-       pasteMsg: '请使用键盘快捷键(<STRONG>Ctrl/Cmd+V</STRONG>)把内容粘贴到下面的方框里,再按 <STRONG>确定</STRONG>',\r
-       securityMsg: '因为您的浏览器的安全设置原因,本编辑器不能直接访问您的剪贴板内容,你需要在本窗口重新粘贴一次。',\r
-       title: '粘贴'\r
+       pasteNotification: '您的浏览器不允许用此方式粘贴,要粘贴请按 %1。'\r
 } );\r
index 33a4ef076ff33be6e8de9fda8c7c84d2e91e6245..f91de7ee419ee8a0a4d98c02c87cad782706c737 100644 (file)
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'zh', {
        cut: '剪下',\r
        cutError: '瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。',\r
        paste: '貼上',\r
-       pasteArea: '貼上區',\r
-       pasteMsg: '請使用鍵盤快捷鍵 (<strong>Ctrl/Cmd+V</strong>) 貼到下方區域中並按下「確定」。',\r
-       securityMsg: '因為瀏覽器的安全性設定,本編輯器無法直接存取您的剪貼簿資料,請您自行在本視窗進行貼上動作。',\r
-       title: '貼上'\r
+       pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING\r
 } );\r
index 5c387b3a74944db5e1383fef9f2480637b6f7d35..433f547366860502fcc91e013e45148b955a4c5c 100644 (file)
@@ -44,7 +44,6 @@
 // -- Paste command\r
 //             * fire 'paste' on editable ('beforepaste' for IE)\r
 //             * !canceled && execCommand 'paste'\r
-//             * !success && fire 'pasteDialog' on editor\r
 // -- Paste from native context menu & menubar\r
 //             (Fx & Webkits are handled in 'paste' default listener.\r
 //             Opera cannot be handled at all because it doesn't fire any events\r
 ( function() {\r
        // Register the plugin.\r
        CKEDITOR.plugins.add( 'clipboard', {\r
-               requires: 'dialog',\r
+               requires: 'notification,toolbar',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'copy,copy-rtl,cut,cut-rtl,paste,paste-rtl', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                        initPasteClipboard( editor );\r
                        initDragDrop( editor );\r
 \r
-                       CKEDITOR.dialog.add( 'paste', CKEDITOR.getUrl( this.path + 'dialogs/paste.js' ) );\r
-\r
                        // Convert image file (if present) to base64 string for Firefox. Do it as the first\r
                        // step as the conversion is asynchronous and should hold all further paste processing.\r
                        if ( CKEDITOR.env.gecko ) {\r
                                                data = dataObj.dataValue,\r
                                                dataTransfer = dataObj.dataTransfer;\r
 \r
-                                       // If data empty check for image content inside data transfer. #16705\r
+                                       // If data empty check for image content inside data transfer. http://dev.ckeditor.com/ticket/16705\r
                                        if ( !data && dataObj.method == 'paste' && dataTransfer && dataTransfer.getFilesCount() == 1 && latestId != dataTransfer.id ) {\r
                                                var file = dataTransfer.getFile( 0 );\r
 \r
                                        data = data.replace( /(<[^>]+) class="Apple-[^"]*"/gi, '$1' );\r
                                }\r
 \r
-                               // Strip editable that was copied from inside. (#9534)\r
+                               // Strip editable that was copied from inside. (http://dev.ckeditor.com/ticket/9534)\r
                                if ( data.match( /^<[^<]+cke_(editable|contents)/i ) ) {\r
                                        var tmp,\r
                                                editable_wrapper,\r
                                                wrapper = new CKEDITOR.dom.element( 'div' );\r
 \r
                                        wrapper.setHtml( data );\r
-                                       // Verify for sure and check for nested editor UI parts. (#9675)\r
+                                       // Verify for sure and check for nested editor UI parts. (http://dev.ckeditor.com/ticket/9675)\r
                                        while ( wrapper.getChildCount() == 1 &&\r
                                                        ( tmp = wrapper.getFirst() ) &&\r
                                                        tmp.type == CKEDITOR.NODE_ELEMENT &&    // Make sure first-child is element.\r
 \r
                        editor.on( 'paste', function( evt ) {\r
                                var dataObj = evt.data,\r
-                                       type = dataObj.type,\r
+                                       type = editor._.nextPasteType || dataObj.type,\r
                                        data = dataObj.dataValue,\r
                                        trueType,\r
                                        // Default is 'html'.\r
                                        trueType = recogniseContentType( data );\r
                                }\r
 \r
+                               delete editor._.nextPasteType;\r
+\r
                                // Unify text markup.\r
                                if ( trueType == 'htmlifiedtext' ) {\r
                                        data = htmlifiedTextHtmlification( editor.config, data );\r
                                }\r
 \r
                                // Strip presentational markup & unify text markup.\r
-                               // Forced plain text (dialog or forcePAPT).\r
+                               // Forced plain text.\r
                                // Note: we do not check dontFilter option in this case, because forcePAPT was implemented\r
                                // before pasteFilter and pasteFilter is automatically used on Webkit&Blink since 4.5, so\r
                                // forcePAPT should have priority as it had before 4.5.\r
                                        }, 0 );\r
                                }\r
                        }, null, null, 1000 );\r
-\r
-                       editor.on( 'pasteDialog', function( evt ) {\r
-                               // TODO it's possible that this setTimeout is not needed any more,\r
-                               // because of changes introduced in the same commit as this comment.\r
-                               // Editor.getClipboardData adds listener to the dialog's events which are\r
-                               // fired after a while (not like 'showDialog').\r
-                               setTimeout( function() {\r
-                                       // Open default paste dialog.\r
-                                       editor.openDialog( 'paste', evt.data );\r
-                               }, 0 );\r
-                       } );\r
                }\r
        } );\r
 \r
                }\r
 \r
                // Because of FF bug we need to use this hack, otherwise cursor is hidden\r
-               // or it is not possible to move it (#12420).\r
-               // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (#13305).\r
+               // or it is not possible to move it (http://dev.ckeditor.com/ticket/12420).\r
+               // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (http://dev.ckeditor.com/ticket/13305).\r
                if ( CKEDITOR.env.gecko && data.method == 'drop' && editor.toolbox ) {\r
                        editor.once( 'afterPaste', function() {\r
                                editor.toolbox.focus();\r
                addButtonsCommands();\r
 \r
                /**\r
-                * Gets clipboard data by directly accessing the clipboard (IE only) or opening the paste dialog window.\r
+                * Gets clipboard data by directly accessing the clipboard (IE only).\r
                 *\r
-                *              editor.getClipboardData( { title: 'Get my data' }, function( data ) {\r
+                *              editor.getClipboardData( function( data ) {\r
                 *                      if ( data )\r
                 *                              alert( data.type + ' ' + data.dataValue );\r
                 *              } );\r
                 *\r
                 * @member CKEDITOR.editor\r
-                * @param {Object} options\r
-                * @param {String} [options.title] The title of the paste dialog window.\r
-                * @param {Function} callback A function that will be executed with `data.type` and `data.dataValue`\r
-                * or `null` if none of the capturing methods succeeded.\r
+                * @param {Function/Object} callbackOrOptions For function, see the `callback` parameter documentation. The object was used before 4.7.0 with the `title` property, to set the paste dialog's title.\r
+                * @param {Function} callback A function that will be executed with the `data` property of the\r
+                * {@link CKEDITOR.editor#event-paste paste event} or `null` if none of the capturing methods succeeded.\r
+                * Since 4.7.0 the `callback` should be provided as a first argument, just like in the example above. This parameter will be removed in\r
+                * an upcoming major release.\r
                 */\r
-               editor.getClipboardData = function( options, callback ) {\r
-                       var beforePasteNotCanceled = false,\r
-                               dataType = 'auto',\r
-                               dialogCommited = false;\r
-\r
+               editor.getClipboardData = function( callbackOrOptions, callback ) {\r
                        // Options are optional - args shift.\r
                        if ( !callback ) {\r
-                               callback = options;\r
-                               options = null;\r
+                               callback = callbackOrOptions;\r
+                               callbackOrOptions = null;\r
                        }\r
 \r
                        // Listen with maximum priority to handle content before everyone else.\r
                        // access to the clipboard succeed in IE.\r
                        editor.on( 'paste', onPaste, null, null, 0 );\r
 \r
-                       // Listen at the end of listeners chain to see if event wasn't canceled\r
-                       // and to retrieve modified data.type.\r
-                       editor.on( 'beforePaste', onBeforePaste, null, null, 1000 );\r
-\r
-                       // getClipboardDataDirectly() will fire 'beforePaste' synchronously, so we can\r
-                       // check if it was canceled and if any listener modified data.type.\r
-\r
                        // If command didn't succeed (only IE allows to access clipboard and only if\r
-                       // user agrees) open and handle paste dialog.\r
+                       // user agrees) invoke callback with null, meaning that paste is not blocked.\r
                        if ( getClipboardDataDirectly() === false ) {\r
                                // Direct access to the clipboard wasn't successful so remove listener.\r
                                editor.removeListener( 'paste', onPaste );\r
 \r
-                               // If beforePaste was canceled do not open dialog.\r
-                               // Add listeners only if dialog really opened. 'pasteDialog' can be canceled.\r
-                               if ( beforePasteNotCanceled && editor.fire( 'pasteDialog', onDialogOpen ) ) {\r
-                                       editor.on( 'pasteDialogCommit', onDialogCommit );\r
-\r
-                                       // 'dialogHide' will be fired after 'pasteDialogCommit'.\r
-                                       editor.on( 'dialogHide', function( evt ) {\r
-                                               evt.removeListener();\r
-                                               evt.data.removeListener( 'pasteDialogCommit', onDialogCommit );\r
-\r
-                                               // Because Opera has to wait a while in pasteDialog we have to wait here.\r
-                                               setTimeout( function() {\r
-                                                       // Notify even if user canceled dialog (clicked 'cancel', ESC, etc).\r
-                                                       if ( !dialogCommited )\r
-                                                               callback( null );\r
-                                               }, 10 );\r
-                                       } );\r
-                               } else {\r
-                                       callback( null );\r
-                               }\r
+                               callback( null );\r
                        }\r
 \r
                        function onPaste( evt ) {\r
                                evt.cancel();\r
                                callback( evt.data );\r
                        }\r
-\r
-                       function onBeforePaste( evt ) {\r
-                               evt.removeListener();\r
-                               beforePasteNotCanceled = true;\r
-                               dataType = evt.data.type;\r
-                       }\r
-\r
-                       function onDialogCommit( evt ) {\r
-                               evt.removeListener();\r
-                               // Cancel pasteDialogCommit so paste dialog won't automatically fire\r
-                               // 'paste' evt by itself.\r
-                               evt.cancel();\r
-                               dialogCommited = true;\r
-                               callback( {\r
-                                       type: dataType,\r
-                                       dataValue: evt.data.dataValue,\r
-                                       dataTransfer: evt.data.dataTransfer,\r
-                                       method: 'paste'\r
-                               } );\r
-                       }\r
-\r
-                       function onDialogOpen() {\r
-                               this.customTitle = ( options && options.title );\r
-                       }\r
                };\r
 \r
                function addButtonsCommands() {\r
 \r
                        if ( CKEDITOR.plugins.clipboard.isCustomCopyCutSupported ) {\r
                                var initOnCopyCut = function( evt ) {\r
-                                       // If user tries to cut in read-only editor, we must prevent default action. (#13872)\r
+                                       // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872)\r
                                        if ( !editor.readOnly || evt.name != 'cut' ) {\r
                                                clipboard.initPasteDataTransfer( evt, editor );\r
                                        }\r
 \r
                                // Delete content with the low priority so one can overwrite cut data.\r
                                editable.on( 'cut', function() {\r
-                                       // If user tries to cut in read-only editor, we must prevent default action. (#13872)\r
+                                       // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872)\r
                                        if ( !editor.readOnly ) {\r
                                                editor.extractSelectedHtml();\r
                                        }\r
                                        pasteDataFromClipboard( evt );\r
 \r
                                        // Force IE to paste content into pastebin so pasteDataFromClipboard will work.\r
-                                       if ( !execIECommand( 'paste' ) ) {\r
-                                               editor.openDialog( 'paste' );\r
-                                       }\r
+                                       execIECommand( 'paste' );\r
                                } );\r
 \r
                                // If mainPasteEvent is 'beforePaste' (IE before Edge),\r
-                               // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (#7953)\r
+                               // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (http://dev.ckeditor.com/ticket/7953)\r
                                editable.on( 'contextmenu', preventBeforePasteEventNow, null, null, 0 );\r
 \r
                                editable.on( 'beforepaste', function( evt ) {\r
-                                       // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (#11970).\r
+                                       // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (http://dev.ckeditor.com/ticket/11970).\r
                                        if ( evt.data && !evt.data.$.ctrlKey && !evt.data.$.shiftKey )\r
                                                preventBeforePasteEventNow();\r
                                }, null, null, 0 );\r
 \r
                        // Use editor.document instead of editable in non-IEs for observing mouseup\r
                        // since editable won't fire the event if selection process started within\r
-                       // iframe and ended out of the editor (#9851).\r
+                       // iframe and ended out of the editor (http://dev.ckeditor.com/ticket/9851).\r
                        editable.attachListener( CKEDITOR.env.ie ? editable : editor.document.getDocumentElement(), 'mouseup', function() {\r
                                mouseupTimeout = setTimeout( function() {\r
                                        setToolbarStates();\r
 \r
                        // Make sure that deferred mouseup callback isn't executed after editor instance\r
                        // had been destroyed. This may happen when editor.destroy() is called in parallel\r
-                       // with mouseup event (i.e. a button with onclick callback) (#10219).\r
+                       // with mouseup event (i.e. a button with onclick callback) (http://dev.ckeditor.com/ticket/10219).\r
                        editor.on( 'destroy', function() {\r
                                clearTimeout( mouseupTimeout );\r
                        } );\r
                                canUndo: false,\r
                                async: true,\r
                                fakeKeystroke: CKEDITOR.CTRL + 86 /*V*/,\r
+\r
+                               /**\r
+                                * The default implementation of the paste command.\r
+                                *\r
+                                * @private\r
+                                * @param {CKEDITOR.editor} editor An instance of the editor where the command is being executed.\r
+                                * @param {Object/String} data If `data` is a string, then it is considered content that is being pasted.\r
+                                * Otherwise it is treated as an object with options.\r
+                                * @param {Boolean/String} [data.notification=true] Content for a notification shown after an unsuccessful\r
+                                * paste attempt. If `false`, the notification will not be displayed. This parameter was added in 4.7.0.\r
+                                * @param {String} [data.type='html'] The type of pasted content. There are two allowed values:\r
+                                * * 'html'\r
+                                * * 'text'\r
+                                * @param {String/Object} data.dataValue Content being pasted. If this parameter is an object, it\r
+                                * is supposed to be a `data` property of the {@link CKEDITOR.editor#paste} event.\r
+                                * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer Data transfer instance connected\r
+                                * with the current paste action.\r
+                                * @member CKEDITOR.editor.commands.paste\r
+                                */\r
                                exec: function( editor, data ) {\r
+                                       data = typeof data !== 'undefined' && data !== null ? data : {};\r
+\r
                                        var cmd = this,\r
-                                               fire = function( data, withBeforePaste ) {\r
-                                                       data && firePasteEvents( editor, data, !!withBeforePaste );\r
-\r
-                                                       editor.fire( 'afterCommandExec', {\r
-                                                               name: 'paste',\r
-                                                               command: cmd,\r
-                                                               returnValue: !!data\r
-                                                       } );\r
-                                               };\r
-\r
-                                       // Check data precisely - don't open dialog on empty string.\r
-                                       if ( typeof data == 'string' )\r
-                                               fire( {\r
-                                                               dataValue: data,\r
-                                                               method: 'paste',\r
-                                                               dataTransfer: clipboard.initPasteDataTransfer()\r
-                                                       }, 1 );\r
-                                       else\r
-                                               editor.getClipboardData( fire );\r
+                                               notification = typeof data.notification !== 'undefined' ? data.notification : true,\r
+                                               forcedType = data.type,\r
+                                               keystroke = CKEDITOR.tools.keystrokeToString( editor.lang.common.keyboard,\r
+                                                       editor.getCommandKeystroke( this ) ),\r
+                                               msg = typeof notification === 'string' ? notification : editor.lang.clipboard.pasteNotification\r
+                                                       .replace( /%1/, '<kbd aria-label="' + keystroke.aria + '">' + keystroke.display + '</kbd>' ),\r
+                                               pastedContent = typeof data === 'string' ? data : data.dataValue;\r
+\r
+                                       function callback( data, withBeforePaste ) {\r
+                                               withBeforePaste = typeof withBeforePaste !== 'undefined' ? withBeforePaste : true;\r
+\r
+                                               if ( data ) {\r
+                                                       data.method = 'paste';\r
+\r
+                                                       if ( !data.dataTransfer ) {\r
+                                                               data.dataTransfer = clipboard.initPasteDataTransfer();\r
+                                                       }\r
+\r
+                                                       firePasteEvents( editor, data, withBeforePaste );\r
+                                               } else if ( notification ) {\r
+                                                       editor.showNotification( msg, 'info', editor.config.clipboard_notificationDuration );\r
+                                               }\r
+\r
+                                               editor.fire( 'afterCommandExec', {\r
+                                                       name: 'paste',\r
+                                                       command: cmd,\r
+                                                       returnValue: !!data\r
+                                               } );\r
+                                       }\r
+\r
+                                       // Force type for the next paste.\r
+                                       if ( forcedType ) {\r
+                                               editor._.nextPasteType = forcedType;\r
+                                       } else {\r
+                                               delete editor._.nextPasteType;\r
+                                       }\r
+\r
+                                       if ( typeof pastedContent === 'string' ) {\r
+                                               callback( {\r
+                                                       dataValue: pastedContent\r
+                                               } );\r
+                                       } else {\r
+                                               editor.getClipboardData( callback );\r
+                                       }\r
                                }\r
                        };\r
                }\r
                        return enabled;\r
                }\r
 \r
-               // Cutting off control type element in IE standards breaks the selection entirely. (#4881)\r
+               // Cutting off control type element in IE standards breaks the selection entirely. (http://dev.ckeditor.com/ticket/4881)\r
                function fixCut() {\r
                        if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks )\r
                                return;\r
                                },\r
                                blurListener;\r
 \r
-                       // Avoid recursions on 'paste' event or consequent paste too fast. (#5730)\r
+                       // Avoid recursions on 'paste' event or consequent paste too fast. (http://dev.ckeditor.com/ticket/5730)\r
                        if ( doc.getById( 'cke_pastebin' ) )\r
                                return;\r
 \r
                        var sel = editor.getSelection();\r
                        var bms = sel.createBookmarks();\r
 \r
-                       // #11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most\r
+                       // http://dev.ckeditor.com/ticket/11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most\r
                        // recent selection which we then lock on editable blur. See selection.js for more info.\r
                        // selectionchange fired before getClipboardDataByPastebin() cached selection\r
                        // before creating bookmark (cached selection will be invalid, because bookmarks modified the DOM),\r
                                // It's better to paste close to the real paste destination, so inherited styles\r
                                // (which Webkits will try to compensate by styling span) differs less from the destination's one.\r
                                editable.append( pastebin );\r
-                               // Style pastebin like .cke_editable, to minimize differences between origin and destination. (#9754)\r
+                               // Style pastebin like .cke_editable, to minimize differences between origin and destination. (http://dev.ckeditor.com/ticket/9754)\r
                                pastebin.addClass( 'cke_editable' );\r
 \r
                                // Compensate position of offsetParent.\r
                                padding: 0\r
                        } );\r
 \r
-                       // Paste fails in Safari when the body tag has 'user-select: none'. (#12506)\r
+                       // Paste fails in Safari when the body tag has 'user-select: none'. (http://dev.ckeditor.com/ticket/12506)\r
                        if ( CKEDITOR.env.safari )\r
                                pastebin.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'text' ) );\r
 \r
 \r
                        // Webkit fill fire blur on editable when moving selection to\r
                        // pastebin (if body is used). Cancel it because it causes incorrect\r
-                       // selection lock in case of inline editor (#10644).\r
-                       // The same seems to apply to Firefox (#10787).\r
+                       // selection lock in case of inline editor (http://dev.ckeditor.com/ticket/10644).\r
+                       // The same seems to apply to Firefox (http://dev.ckeditor.com/ticket/10787).\r
                        if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko )\r
                                blurListener = editable.once( 'blur', cancel, null, null, -100 );\r
 \r
                        // If non-native paste is executed, IE will open security alert and blur editable.\r
                        // Editable will then lock selection inside itself and after accepting security alert\r
                        // this selection will be restored. We overwrite stored selection, so it's restored\r
-                       // in pastebin. (#9552)\r
+                       // in pastebin. (http://dev.ckeditor.com/ticket/9552)\r
                        if ( CKEDITOR.env.ie ) {\r
                                blurListener = editable.once( 'blur', function() {\r
                                        editor.lockSelection( selPastebin );\r
                        // Wait a while and grab the pasted contents.\r
                        setTimeout( function() {\r
                                // Restore main window's scroll position which could have been changed\r
-                               // by browser in cases described in #9771.\r
+                               // by browser in cases described in http://dev.ckeditor.com/ticket/9771.\r
                                if ( CKEDITOR.env.webkit )\r
                                        CKEDITOR.document.getBody().$.scrollTop = scrollTop;\r
 \r
                                // Blur will be fired only on non-native paste. In other case manually remove listener.\r
                                blurListener && blurListener.removeListener();\r
 \r
-                               // Restore properly the document focus. (#8849)\r
+                               // Restore properly the document focus. (http://dev.ckeditor.com/ticket/8849)\r
                                if ( CKEDITOR.env.ie )\r
                                        editable.focus();\r
 \r
-                               // IE7: selection must go before removing pastebin. (#8691)\r
+                               // IE7: selection must go before removing pastebin. (http://dev.ckeditor.com/ticket/8691)\r
                                sel.selectBookmarks( bms );\r
                                pastebin.remove();\r
 \r
                // On other browsers we should fire beforePaste event and return false.\r
                function getClipboardDataDirectly() {\r
                        if ( clipboard.mainPasteEvent == 'paste' ) {\r
-                               // beforePaste should be fired when dialog open so it can be canceled.\r
                                editor.fire( 'beforePaste', { type: 'auto', method: 'paste' } );\r
                                return false;\r
                        }\r
                        // we're canceling it.\r
                        preventPasteEventNow();\r
 \r
-                       // #9247: Lock focus to prevent IE from hiding toolbar for inline editor.\r
+                       // http://dev.ckeditor.com/ticket/9247: Lock focus to prevent IE from hiding toolbar for inline editor.\r
                        var focusManager = editor.focusManager;\r
                        focusManager.lock();\r
 \r
                                        editor.fire( 'saveSnapshot' ); // Save before cut\r
                                        setTimeout( function() {\r
                                                editor.fire( 'saveSnapshot' ); // Save after cut\r
-                                       }, 50 ); // OSX is slow (#11416).\r
+                                       }, 50 ); // OSX is slow (http://dev.ckeditor.com/ticket/11416).\r
                        }\r
                }\r
 \r
 \r
                        // -------------- DRAGOVER TOP & BOTTOM --------------\r
 \r
-                       // Not allowing dragging on toolbar and bottom (#12613).\r
+                       // Not allowing dragging on toolbar and bottom (http://dev.ckeditor.com/ticket/12613).\r
                        clipboard.preventDefaultDropOnElement( top );\r
                        clipboard.preventDefaultDropOnElement( bottom );\r
 \r
                                // Save drag range globally for cross editor D&D.\r
                                var dragRange = clipboard.dragRange = editor.getSelection().getRanges()[ 0 ];\r
 \r
-                               // Store number of children, so we can later tell if any text node was split on drop. (#13011, #13447)\r
+                               // Store number of children, so we can later tell if any text node was split on drop. (http://dev.ckeditor.com/ticket/13011, http://dev.ckeditor.com/ticket/13447)\r
                                if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) {\r
                                        clipboard.dragStartContainerChildCount = dragRange ? getContainerChildCount( dragRange.startContainer ) : null;\r
                                        clipboard.dragEndContainerChildCount = dragRange ? getContainerChildCount( dragRange.endContainer ) : null;\r
                        // we drop image it will overwrite document.\r
 \r
                        editable.attachListener( dropTarget, 'dragover', function( evt ) {\r
+                               // Edge requires this handler to have `preventDefault()` regardless of the situation.\r
+                               if ( CKEDITOR.env.edge ) {\r
+                                       evt.data.preventDefault();\r
+                                       return;\r
+                               }\r
+\r
                                var target = evt.data.getTarget();\r
 \r
-                               // Prevent reloading page when dragging image on empty document (#12619).\r
+                               // Prevent reloading page when dragging image on empty document (http://dev.ckeditor.com/ticket/12619).\r
                                if ( target && target.is && target.is( 'html' ) ) {\r
                                        evt.data.preventDefault();\r
                                        return;\r
                        // -------------- DROP --------------\r
 \r
                        editable.attachListener( dropTarget, 'drop', function( evt ) {\r
-                               // Do nothing if event was already prevented. (#13879)\r
+                               // Do nothing if event was already prevented. (http://dev.ckeditor.com/ticket/13879)\r
                                if ( evt.data.$.defaultPrevented ) {\r
                                        return;\r
                                }\r
                                var target = evt.data.getTarget(),\r
                                        readOnly = target.isReadOnly();\r
 \r
-                               // Do nothing if drop on non editable element (#13015).\r
+                               // Do nothing if drop on non editable element (http://dev.ckeditor.com/ticket/13015).\r
                                // The <html> tag isn't editable (body is), but we want to allow drop on it\r
                                // (so it is possible to drop below editor contents).\r
                                if ( readOnly && !( target.type == CKEDITOR.NODE_ELEMENT && target.is( 'html' ) ) ) {\r
                        }\r
 \r
                        // In Chrome we can trust Clipboard API, with the exception of Chrome on Android (in both - mobile and desktop modes), where\r
-                       // clipboard API is not available so we need to check it (#13187).\r
+                       // clipboard API is not available so we need to check it (http://dev.ckeditor.com/ticket/13187).\r
                        if ( CKEDITOR.env.chrome && !dataTransfer.isEmpty() ) {\r
                                return true;\r
                        }\r
 \r
                        // Because of a Firefox bug HTML data are not available in some cases (e.g. paste from Word), in such cases we\r
-                       // need to use the pastebin (#13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686).\r
+                       // need to use the pastebin (http://dev.ckeditor.com/ticket/13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686).\r
                        if ( CKEDITOR.env.gecko && ( dataTransfer.getData( 'text/html' ) || dataTransfer.getFilesCount() ) ) {\r
                                return true;\r
                        }\r
 \r
-                       // In Safari and IE HTML data is not available though the Clipboard API.\r
+                       // Safari fixed clipboard in 10.1 (https://bugs.webkit.org/show_bug.cgi?id=19893) (http://dev.ckeditor.com/ticket/16982).\r
+                       // However iOS version still doesn't work well enough (https://bugs.webkit.org/show_bug.cgi?id=19893#c34).\r
+                       if ( CKEDITOR.env.safari && CKEDITOR.env.version >= 603 && !CKEDITOR.env.iOS ) {\r
+                               return true;\r
+                       }\r
+\r
+                       // In older Safari and IE HTML data is not available though the Clipboard API.\r
                        // In Edge things are a bit messy at the moment -\r
                        // https://connect.microsoft.com/IE/feedback/details/1572456/edge-clipboard-api-text-html-content-messed-up-in-event-clipboarddata\r
                        // It is safer to use the paste bin in unknown cases.\r
                getDropTarget: function( editor ) {\r
                        var editable = editor.editable();\r
 \r
-                       // #11123 Firefox needs to listen on document, because otherwise event won't be fired.\r
-                       // #11086 IE8 cannot listen on document.\r
+                       // http://dev.ckeditor.com/ticket/11123 Firefox needs to listen on document, because otherwise event won't be fired.\r
+                       // http://dev.ckeditor.com/ticket/11086 IE8 cannot listen on document.\r
                        if ( ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ) {\r
                                return editable;\r
                        } else {\r
                        // Check if drop range is inside range.\r
                        // This is an edge case when we drop something on editable's margin/padding.\r
                        // That space is not treated as a part of the range we drag, so it is possible to drop there.\r
-                       // When we drop, browser tries to find closest drop position and it finds it inside drag range. (#13453)\r
+                       // When we drop, browser tries to find closest drop position and it finds it inside drag range. (http://dev.ckeditor.com/ticket/13453)\r
                        var startNode = dragBookmark.startNode,\r
                                endNode = dragBookmark.endNode,\r
                                dropNode = dropBookmark.startNode,\r
                                return dropEvt.data.testRange;\r
 \r
                        // Webkits.\r
-                       if ( document.caretRangeFromPoint ) {\r
+                       if ( document.caretRangeFromPoint && editor.document.$.caretRangeFromPoint( x, y ) ) {\r
                                $range = editor.document.$.caretRangeFromPoint( x, y );\r
                                range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset );\r
                                range.collapse( true );\r
                 */\r
                initPasteDataTransfer: function( evt, sourceEditor ) {\r
                        if ( !this.isCustomCopyCutSupported ) {\r
-                               // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (#13755).\r
+                               // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (http://dev.ckeditor.com/ticket/13755).\r
                                return new this.dataTransfer( ( CKEDITOR.env.edge && evt && evt.data.$ && evt.data.$.clipboardData ) || null, sourceEditor );\r
                        } else if ( evt && evt.data && evt.data.$ ) {\r
                                var dataTransfer = new this.dataTransfer( evt.data.$.clipboardData, sourceEditor );\r
                 * Facade for the native `getData` method.\r
                 *\r
                 * @param {String} type The type of data to retrieve.\r
+                * @param {Boolean} [getNative=false] Indicates if the whole, original content of the dataTransfer should be returned.\r
+                * Introduced in CKEditor 4.7.0.\r
                 * @returns {String} type Stored data for the given type or an empty string if the data for that type does not exist.\r
                 */\r
-               getData: function( type ) {\r
+               getData: function( type, getNative ) {\r
                        function isEmpty( data ) {\r
                                return data === undefined || data === null || data === '';\r
                        }\r
 \r
+                       function filterUnwantedCharacters( data ) {\r
+                               if ( typeof data !== 'string' ) {\r
+                                       return data;\r
+                               }\r
+\r
+                               var htmlEnd = data.indexOf( '</html>' );\r
+\r
+                               if ( htmlEnd !== -1 ) {\r
+                                       // Just cut everything after `</html>`, so everything after htmlEnd index + length of `</html>`.\r
+                                       // Required to workaround bug: https://bugs.chromium.org/p/chromium/issues/detail?id=696978\r
+                                       return data.substring( 0, htmlEnd + 7 );\r
+                               }\r
+\r
+                               return data;\r
+                       }\r
+\r
                        type = this._.normalizeType( type );\r
 \r
                        var data = this._.data[ type ],\r
                        // This code removes meta tags and returns only the contents of the <body> element if found. Note that\r
                        // some significant content may be placed outside Start/EndFragment comments so it's kept.\r
                        //\r
-                       // See #13583 for more details.\r
-                       if ( type == 'text/html' ) {\r
+                       // See http://dev.ckeditor.com/ticket/13583 for more details.\r
+                       // Additionally http://dev.ckeditor.com/ticket/16847 adds a flag allowing to get the whole, original content.\r
+                       if ( type == 'text/html' && !getNative ) {\r
                                data = data.replace( this._.metaRegExp, '' );\r
 \r
                                // Keep only contents of the <body> element\r
                                data = '';\r
                        }\r
 \r
-                       return data;\r
+                       return filterUnwantedCharacters( data );\r
                },\r
 \r
                /**\r
                        }\r
 \r
                        // If we use the text type to bind the ID, then if someone tries to set the text, we must also\r
-                       // update ID accordingly. #13468.\r
+                       // update ID accordingly. http://dev.ckeditor.com/ticket/13468.\r
                        if ( clipboardIdDataType == 'Text' && type == 'Text' ) {\r
                                this.id = value;\r
                        }\r
                        function getAndSetData( type ) {\r
                                type = that._.normalizeType( type );\r
 \r
-                               var data = that.getData( type );\r
+                               var data = that.getData( type, true );\r
                                if ( data ) {\r
                                        that._.data[ type ] = data;\r
                                }\r
                        if ( ( this.$ && this.$.files ) || file ) {\r
                                this._.files = [];\r
 \r
-                               // Edge have empty files property with no length (#13755).\r
+                               // Edge have empty files property with no length (http://dev.ckeditor.com/ticket/13755).\r
                                if ( this.$.files && this.$.files.length ) {\r
                                        for ( i = 0; i < this.$.files.length; i++ ) {\r
                                                this._.files.push( this.$.files[ i ] );\r
 \r
                /**\r
                 * When the content of the clipboard is pasted in Chrome, the clipboard data object has an empty `files` property,\r
-                * but it is possible to get the file as `items[0].getAsFile();` (#12961).\r
+                * but it is possible to get the file as `items[0].getAsFile();` (http://dev.ckeditor.com/ticket/12961).\r
                 *\r
                 * @private\r
                 * @returns {File} File instance or `null` if not found.\r
  * @member CKEDITOR.editor\r
  */\r
 \r
- /**\r
+/**\r
  * Fired after the {@link #paste} event if content was modified. Note that if the paste\r
  * event does not insert any data, the `afterPaste` event will not be fired.\r
  *\r
  * @member CKEDITOR.editor\r
  */\r
 \r
-/**\r
- * Internal event to open the Paste dialog window.\r
- *\r
- * @private\r
- * @event pasteDialog\r
- * @member CKEDITOR.editor\r
- * @param {CKEDITOR.editor} editor This editor instance.\r
- * @param {Function} [data] Callback that will be passed to {@link CKEDITOR.editor#openDialog}.\r
- */\r
-\r
 /**\r
  * Facade for the native `drop` event. Fired when the native `drop` event occurs.\r
  *\r
  * @property {CKEDITOR.filter} [pasteFilter]\r
  * @member CKEDITOR.editor\r
  */\r
+\r
+/**\r
+ * Duration of the notification displayed after pasting was blocked by the browser.\r
+ *\r
+ * @since 4.7.0\r
+ * @cfg {Number} [clipboard_notificationDuration=10000]\r
+ * @member CKEDITOR.config\r
+ */\r
+CKEDITOR.config.clipboard_notificationDuration = 10000;\r
index 6d989ff8375345a3379077cf862f7b9a47115287..9c118ac86d34d64852f744b032a2542bfb719a9a 100644 (file)
@@ -24,7 +24,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'az', {
                '808080': 'Boz',\r
                F00: 'Qırmızı',\r
                FF8C00: 'Tünd narıncı',\r
-               FFD700: 'Qızıl',\r
+               FFD700: 'Qızılı',\r
                '008000': 'Yaşıl',\r
                '0FF': 'Mavi',\r
                '00F': 'Göy',\r
@@ -41,33 +41,33 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'az', {
                FFF0F5: 'Yasəmən',\r
                FAEBD7: 'Kağız',\r
                FFFFE0: 'Acıq sarı',\r
-               F0FFF0: 'Bal',\r
+               F0FFF0: 'Yemişi',\r
                F0FFFF: 'Gömgöy',\r
                F0F8FF: 'Solğun göy',\r
                E6E6FA: 'Lavanda',\r
                FFF: 'Ağ',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Güclü mavi',\r
+               '2ECC71': 'Zümrüd',\r
+               '3498DB': 'Parlaq göy',\r
+               '9B59B6': 'Ametist',\r
+               '4E5F70': 'Bozlu göy',\r
+               'F1C40F': 'Sapsarı',\r
+               '16A085': 'Tünd mavi',\r
+               '27AE60': 'Tünd zümrüd',\r
+               '2980B9': 'Güclü göy',\r
+               '8E44AD': 'Tünd bənövşəyi',\r
+               '2C3E50': 'Rəngsiz göy',\r
+               'F39C12': 'Narıncı',\r
+               'E67E22': 'Yerkökülü',\r
+               'E74C3C': 'Solğun qırmızı',\r
+               'ECF0F1': 'Parlaq gümüşü',\r
+               '95A5A6': 'Acıq bozlu mavi',\r
+               'DDD': 'Acıq boz',\r
+               'D35400': 'Balqabaqlı',\r
+               'C0392B': 'Güclü qırmızı',\r
+               'BDC3C7': 'Gümüşü',\r
+               '7F8C8D': 'Bozlu mavi',\r
+               '999': 'Tünd boz'\r
        },\r
        more: 'Digər rənglər...',\r
        panelTitle: 'Rənglər',\r
index 2361bd293121a8de7b8857873f94f367d7ead9cf..0ea045fbecc2096bb05c10b78a6ec494ba8c7082 100644 (file)
@@ -47,9 +47,9 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'cs', {
                E6E6FA: 'Levandulová',\r
                FFF: 'Bílá',\r
                '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
+               '2ECC71': 'Emeraldová',\r
+               '3498DB': 'Jasně modrá',\r
+               '9B59B6': 'Ametystová',\r
                '4E5F70': 'Grayish Blue', // MISSING\r
                'F1C40F': 'Vivid Yellow', // MISSING\r
                '16A085': 'Dark Cyan', // MISSING\r
@@ -57,15 +57,15 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'cs', {
                '2980B9': 'Strong Blue', // MISSING\r
                '8E44AD': 'Dark Violet', // MISSING\r
                '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
+               'F39C12': 'Oranžová',\r
+               'E67E22': 'Mrkvová',\r
                'E74C3C': 'Pale Red', // MISSING\r
                'ECF0F1': 'Bright Silver', // MISSING\r
                '95A5A6': 'Light Grayish Cyan', // MISSING\r
                'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
+               'D35400': 'Dýňová',\r
                'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
+               'BDC3C7': 'Stříbrná',\r
                '7F8C8D': 'Grayish Cyan', // MISSING\r
                '999': 'Dark Gray' // MISSING\r
        },\r
index f6d8b6e2d4409bff61efed07b966400e118e3eab..389718f93d2c8d5abe56a593ace01f78745f45de 100644 (file)
@@ -47,27 +47,27 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'de', {
                E6E6FA: 'Lavendel',\r
                FFF: 'Weiß',\r
                '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
+               '2ECC71': 'Smaragdgrün',\r
                '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
+               '9B59B6': 'Amethystblau',\r
+               '4E5F70': 'Graublau',\r
                'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
+               '16A085': 'Dunkelcyan',\r
+               '27AE60': 'Dunkelsmaragdgrün',\r
                '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
+               '8E44AD': 'Dunkelviolett',\r
+               '2C3E50': 'Entsättigtes blau',\r
+               'F39C12': 'Orange',\r
+               'E67E22': 'Möhrenfarben',\r
+               'E74C3C': 'Blassrot',\r
+               'ECF0F1': 'Glänzendes Silber',\r
+               '95A5A6': 'Helles Graublau',\r
+               'DDD': 'Hellgrau',\r
+               'D35400': 'Kürbisfarben',\r
                'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               'BDC3C7': 'Silber',\r
+               '7F8C8D': 'Graucyan',\r
+               '999': 'Dunkelgrau'\r
        },\r
        more: 'Weitere Farben...',\r
        panelTitle: 'Farben',\r
index cb6ca5b060430836eb9c2604d7430f72f81bb013..a61cd4a8f2a137e5e7a07a0683a464d6f33b381b 100644 (file)
@@ -57,15 +57,15 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'el', {
                '2980B9': 'Strong Blue', // MISSING\r
                '8E44AD': 'Dark Violet', // MISSING\r
                '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
+               'F39C12': 'Πορτοκαλί',\r
+               'E67E22': 'Καροτί',\r
                'E74C3C': 'Pale Red', // MISSING\r
                'ECF0F1': 'Bright Silver', // MISSING\r
                '95A5A6': 'Light Grayish Cyan', // MISSING\r
                'DDD': 'Light Gray', // MISSING\r
                'D35400': 'Pumpkin', // MISSING\r
                'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
+               'BDC3C7': 'Αργυρό',\r
                '7F8C8D': 'Grayish Cyan', // MISSING\r
                '999': 'Dark Gray' // MISSING\r
        },\r
index 65ecc24dd3ecdee043dd5ef818207bd483c51f61..6bd50e8360121d6cf837938335b51aea946193c2 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'eo', {
                F0F8FF: 'Aliceblua',\r
                E6E6FA: 'Lavendkolora',\r
                FFF: 'Blanka',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Fortverdblua',\r
+               '2ECC71': 'Smeraldkolora',\r
+               '3498DB': 'Brilblua',\r
+               '9B59B6': 'Ametistkolora',\r
+               '4E5F70': 'Grizblua',\r
+               'F1C40F': 'Brilflava',\r
+               '16A085': 'Malhelverdblua',\r
+               '27AE60': 'Malhelsmeraldkolora',\r
+               '2980B9': 'Fortblua',\r
+               '8E44AD': 'Malhelviola',\r
+               '2C3E50': 'Malsaturita Bluo',\r
+               'F39C12': 'Oranĝkolora',\r
+               'E67E22': 'Karotkolora',\r
+               'E74C3C': 'Pale Ruĝa',\r
+               'ECF0F1': 'Brile Arĝenta',\r
+               '95A5A6': 'Helgrizverdblua',\r
+               'DDD': 'Helgriza',\r
+               'D35400': 'Kukurbokolora',\r
+               'C0392B': 'Forte ruĝa',\r
+               'BDC3C7': 'Arĝenta',\r
+               '7F8C8D': 'Grizverdblua',\r
+               '999': 'Malhelgriza'\r
        },\r
        more: 'Pli da Koloroj...',\r
        panelTitle: 'Koloroj',\r
diff --git a/sources/plugins/colorbutton/lang/es-mx.js b/sources/plugins/colorbutton/lang/es-mx.js
new file mode 100644 (file)
index 0000000..de3998a
--- /dev/null
@@ -0,0 +1,75 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'colorbutton', 'es-mx', {\r
+       auto: 'Automático',\r
+       bgColorTitle: 'Color de fondo',\r
+       colors: {\r
+               '000': 'Negro',\r
+               '800000': 'Marrón',\r
+               '8B4513': 'Café sucio',\r
+               '2F4F4F': 'Gris pizarra oscuro',\r
+               '008080': 'Teal',\r
+               '000080': 'Armada',\r
+               '4B0082': 'Indigo',\r
+               '696969': 'Gris oscuro',\r
+               B22222: 'Ladrillo de fuego',\r
+               A52A2A: 'Café',\r
+               DAA520: 'Barra de oro',\r
+               '006400': 'Verde oscuro',\r
+               '40E0D0': 'Turquesa',\r
+               '0000CD': 'Azul medio',\r
+               '800080': 'Morado',\r
+               '808080': 'Gris',\r
+               F00: 'Rojo',\r
+               FF8C00: 'Naranja oscuro',\r
+               FFD700: 'Oro',\r
+               '008000': 'Verde',\r
+               '0FF': 'Cian',\r
+               '00F': 'Azul',\r
+               EE82EE: 'Violeta',\r
+               A9A9A9: 'Gris oscuro',\r
+               FFA07A: 'Salmón claro',\r
+               FFA500: 'Naranja',\r
+               FFFF00: 'Amarillo',\r
+               '00FF00': 'Lima',\r
+               AFEEEE: 'Turquesa pálido',\r
+               ADD8E6: 'Azul claro',\r
+               DDA0DD: 'Ciruela',\r
+               D3D3D3: 'Gris claro',\r
+               FFF0F5: 'Rubor de lavanda',\r
+               FAEBD7: 'Blanco antiguo',\r
+               FFFFE0: 'Amarillo claro',\r
+               F0FFF0: 'Gotas de miel',\r
+               F0FFFF: 'Azul celeste',\r
+               F0F8FF: 'Azul Alicia',\r
+               E6E6FA: 'Lavanda',\r
+               FFF: 'Blanco',\r
+               '1ABC9C': 'Cian fuerte',\r
+               '2ECC71': 'Esmeralda',\r
+               '3498DB': 'Azul brillante',\r
+               '9B59B6': 'Amatista',\r
+               '4E5F70': 'Azul grisáceo',\r
+               'F1C40F': 'Amarillo vívido',\r
+               '16A085': 'Cian oscuro',\r
+               '27AE60': 'Esmeralda oscuro',\r
+               '2980B9': 'Azul fuerte',\r
+               '8E44AD': 'Violeta oscuro',\r
+               '2C3E50': 'Azul Desaturado',\r
+               'F39C12': 'Naranja',\r
+               'E67E22': 'Zanahoria',\r
+               'E74C3C': 'Rojo pálido',\r
+               'ECF0F1': 'Plata brillante',\r
+               '95A5A6': 'Cian grisáceo claro',\r
+               'DDD': 'Gris claro',\r
+               'D35400': 'Calabaza',\r
+               'C0392B': 'Rojo fuerte',\r
+               'BDC3C7': 'Plata',\r
+               '7F8C8D': 'Cian grisáceo',\r
+               '999': 'Gris oscuro'\r
+       },\r
+       more: 'Más colores...',\r
+       panelTitle: 'Colores',\r
+       textColorTitle: 'Color de texto'\r
+} );\r
index 0245d8f541eb8f71c77bcba55398536937c96215..aa6710974f769dd16c1f6f1c921999934feeb039 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'fr', {
                F0F8FF: 'Bleu Alice',\r
                E6E6FA: 'Lavande',\r
                FFF: 'Blanc',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Cyan dur',\r
+               '2ECC71': 'Émeraude',\r
+               '3498DB': 'Bleu brillant',\r
+               '9B59B6': 'Améthyste',\r
+               '4E5F70': 'Bleu-gris',\r
+               'F1C40F': 'Jaune vif',\r
+               '16A085': 'Cyan foncé',\r
+               '27AE60': 'Émeraude foncée',\r
+               '2980B9': 'Bleu dur',\r
+               '8E44AD': 'Violet foncé',\r
+               '2C3E50': 'Bleu désaturé',\r
+               'F39C12': 'Orange',\r
+               'E67E22': 'Carotte',\r
+               'E74C3C': 'Rouge pâle',\r
+               'ECF0F1': 'Argent brillant',\r
+               '95A5A6': 'Cyan-gris clair',\r
+               'DDD': 'Gris clair',\r
+               'D35400': 'Citrouille',\r
+               'C0392B': 'Rouge dur',\r
+               'BDC3C7': 'Argent',\r
+               '7F8C8D': 'Cyan-gris',\r
+               '999': 'Gris foncé'\r
        },\r
        more: 'Plus de couleurs...',\r
        panelTitle: 'Couleurs',\r
index b27b0bde898425f6255b0ef82facaaca78356b34..b72f01c9d3dafd925830b883c45700ee6ede9f3e 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'gl', {
                F0F8FF: 'Azul pálido',\r
                E6E6FA: 'Lavanda',\r
                FFF: 'Branco',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Cian forte',\r
+               '2ECC71': 'Esmeralda',\r
+               '3498DB': 'Azul brillante',\r
+               '9B59B6': 'Amatista',\r
+               '4E5F70': 'Azul agrisado',\r
+               'F1C40F': 'Amarelo vívido',\r
+               '16A085': 'Cian escuro',\r
+               '27AE60': 'Esmeralda escuro',\r
+               '2980B9': 'Azul forte',\r
+               '8E44AD': 'Violeta escuro',\r
+               '2C3E50': 'Azul desaturado',\r
+               'F39C12': 'Laranxa',\r
+               'E67E22': 'Cenoria',\r
+               'E74C3C': 'Vermello pálido',\r
+               'ECF0F1': 'Plata brillante',\r
+               '95A5A6': 'Cian agrisado claro',\r
+               'DDD': 'Gris claro',\r
+               'D35400': 'Cabaza',\r
+               'C0392B': 'Vermello forte',\r
+               'BDC3C7': 'Plata',\r
+               '7F8C8D': 'Cian agrisado',\r
+               '999': 'Gris escuro'\r
        },\r
        more: 'Máis cores...',\r
        panelTitle: 'Cores',\r
index 397dbb8d0139bef0d65a9fe8486e5a7e4295c359..27901a983db4d5c75dc327fad0314c54ebc13d25 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'hr', {
                F0F8FF: 'Alice plava',\r
                E6E6FA: 'Lavanda',\r
                FFF: 'Bijela',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Jaka cijan',\r
+               '2ECC71': 'Emerald',\r
+               '3498DB': 'Svijetlo plava',\r
+               '9B59B6': 'Ametist',\r
+               '4E5F70': 'Sivkasto plava',\r
+               'F1C40F': 'Žarka žuta',\r
+               '16A085': 'Tamna cijan',\r
+               '27AE60': 'Tamna emerald',\r
+               '2980B9': 'Jaka plava',\r
+               '8E44AD': 'Tamno ljubičasta',\r
+               '2C3E50': 'Desatuirarana plava',\r
+               'F39C12': 'Narančasta',\r
+               'E67E22': 'Mrkva',\r
+               'E74C3C': 'Blijedo crvena',\r
+               'ECF0F1': 'Sjana srebrna',\r
+               '95A5A6': 'Svijetlo sivkasta cijan',\r
+               'DDD': 'Svijetlo siva',\r
+               'D35400': 'Tikva',\r
+               'C0392B': 'Jaka crvena',\r
+               'BDC3C7': 'Srebrna',\r
+               '7F8C8D': 'Sivkasto cijan',\r
+               '999': 'Tamno siva'\r
        },\r
        more: 'Više boja...',\r
        panelTitle: 'Boje',\r
index 3f89b9eb95d2322a967efb727871c7e551e076a2..ce23c0ee4916ed3f1c2ce3d602e622581bbc8eef 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'hu', {
                F0F8FF: 'Halvány kék',\r
                E6E6FA: 'Lavender',\r
                FFF: 'Fehér',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Erős cián',\r
+               '2ECC71': 'Smaragd',\r
+               '3498DB': 'Fényes kék',\r
+               '9B59B6': 'Ametiszt',\r
+               '4E5F70': 'Szürkéskék',\r
+               'F1C40F': 'Világossárga',\r
+               '16A085': 'Sötét cián',\r
+               '27AE60': 'Sötét smaragd',\r
+               '2980B9': 'Erős kék',\r
+               '8E44AD': 'Sötétlila',\r
+               '2C3E50': 'Világoskék',\r
+               'F39C12': 'Narancs',\r
+               'E67E22': 'Répa',\r
+               'E74C3C': 'Sápadt vörös',\r
+               'ECF0F1': 'Fényes ezüst',\r
+               '95A5A6': 'Világos szürkés cián',\r
+               'DDD': 'Világosszürke',\r
+               'D35400': 'Tök',\r
+               'C0392B': 'Erős vörös',\r
+               'BDC3C7': 'Ezüst',\r
+               '7F8C8D': 'Szürkés cián',\r
+               '999': 'Sötétszürke'\r
        },\r
        more: 'További színek...',\r
        panelTitle: 'Színek',\r
index 25d26985eea023466288f766f8044396678398aa..5b110d78a7ff8f909faa784cd733f314d5f51922 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'ja', {
                F0F8FF: 'Alice Blue',\r
                E6E6FA: 'Lavender',\r
                FFF: 'White',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Strong Cyan',\r
+               '2ECC71': 'Emerald',\r
+               '3498DB': 'Bright Blue',\r
+               '9B59B6': 'Amethyst',\r
+               '4E5F70': 'Grayish Blue',\r
+               'F1C40F': 'Vivid Yellow',\r
+               '16A085': 'Dark Cyan',\r
+               '27AE60': 'Dark Emerald',\r
+               '2980B9': 'Strong Blue',\r
+               '8E44AD': 'Dark Violet',\r
+               '2C3E50': 'Desaturated Blue',\r
+               'F39C12': 'Orange',\r
+               'E67E22': 'Carrot',\r
+               'E74C3C': 'Pale Red',\r
+               'ECF0F1': 'Bright Silver',\r
+               '95A5A6': 'Light Grayish Cyan',\r
+               'DDD': 'Light Gray',\r
+               'D35400': 'Pumpkin',\r
+               'C0392B': 'Strong Red',\r
+               'BDC3C7': 'Silver',\r
+               '7F8C8D': 'Grayish Cyan',\r
+               '999': 'Dark Gray'\r
        },\r
        more: 'その他の色...',\r
        panelTitle: '色',\r
index 69ab16a6a28f807aa53b6a9570edfe1727b7334d..33b434799b71c1174fc986dbfa00dab40acaddb5 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'ko', {
                F0F8FF: '앨리스 블루',\r
                E6E6FA: '라벤더',\r
                FFF: '흰색',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': '진한 청록색',\r
+               '2ECC71': '에메랄드',\r
+               '3498DB': '밝은 파랑',\r
+               '9B59B6': '자수정',\r
+               '4E5F70': '회청색',\r
+               'F1C40F': '선명한 노랑',\r
+               '16A085': '다크 시안',\r
+               '27AE60': '다크 에메랄드',\r
+               '2980B9': '진한 파랑',\r
+               '8E44AD': '다크 바이올렛',\r
+               '2C3E50': '탁한 파랑',\r
+               'F39C12': '주황',\r
+               'E67E22': '당근',\r
+               'E74C3C': '창백한 빨강',\r
+               'ECF0F1': '밝은 은색',\r
+               '95A5A6': '밝은 회청록',\r
+               'DDD': '밝은 회색',\r
+               'D35400': '호박',\r
+               'C0392B': '진한 빨강',\r
+               'BDC3C7': '은색',\r
+               '7F8C8D': '회청록',\r
+               '999': '암회색'\r
        },\r
        more: '색상 선택...',\r
        panelTitle: '색상',\r
index ffbe225cb106acd2b8a06a889ec35d966a873a9d..c5c6e91e1d62d32782dcbd2bdec87b25b8798b20 100644 (file)
@@ -48,26 +48,26 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'ku', {
                FFF: 'سپی',\r
                '1ABC9C': 'Strong Cyan', // MISSING\r
                '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
+               '3498DB': 'شینی ناتۆخ',\r
                '9B59B6': 'Amethyst', // MISSING\r
                '4E5F70': 'Grayish Blue', // MISSING\r
                'F1C40F': 'Vivid Yellow', // MISSING\r
                '16A085': 'Dark Cyan', // MISSING\r
                '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
+               '2980B9': 'شینی تۆخ',\r
+               '8E44AD': 'پەمەیی تاریک',\r
                '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
+               'F39C12': 'نارنجی',\r
+               'E67E22': 'گێزەر',\r
                'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
+               'ECF0F1': 'زیوی ڕووناک',\r
                '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
+               'DDD': 'ڕەساسی بریسکەدار',\r
+               'D35400': 'کولەکەی شیرین',\r
+               'C0392B': 'سوری بەهێز',\r
+               'BDC3C7': 'زیوی',\r
                '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '999': 'ڕەساسی تۆخ'\r
        },\r
        more: 'ڕەنگی زیاتر...',\r
        panelTitle: 'ڕەنگەکان',\r
index b1e9f92df5813b579586dd09814ea5e88d40c92d..d576ec7c5c289026cbbf0bf1832c2ca09ee0ecf9 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'nb', {
                F0F8FF: 'Svak cyan',\r
                E6E6FA: 'Lavendel',\r
                FFF: 'Hvit',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Sterk cyan',\r
+               '2ECC71': 'Smaragd',\r
+               '3498DB': 'Lys blå',\r
+               '9B59B6': 'Ametyst',\r
+               '4E5F70': 'Gråaktig blå',\r
+               'F1C40F': 'Livaktig gul',\r
+               '16A085': 'Mørk cyan',\r
+               '27AE60': 'Mørk smaragd',\r
+               '2980B9': 'Sterk blå',\r
+               '8E44AD': 'Mørk fiolett',\r
+               '2C3E50': 'Desaturert blå',\r
+               'F39C12': 'Oransje',\r
+               'E67E22': 'Gulrot',\r
+               'E74C3C': 'Blek rød',\r
+               'ECF0F1': 'Klar sølv',\r
+               '95A5A6': 'Lys gråaktig cyan',\r
+               'DDD': 'Lys grå',\r
+               'D35400': 'Gresskar',\r
+               'C0392B': 'Sterk rød',\r
+               'BDC3C7': 'Sølv',\r
+               '7F8C8D': 'Gråaktig cyan',\r
+               '999': 'Mørk grå'\r
        },\r
        more: 'Flere farger...',\r
        panelTitle: 'Farger',\r
index b33da35637f16011f9abd77626791d04d899ea96..2deba28a8c6e30260bac4842ee7473b158e3c5a5 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'pt-br', {
                F0F8FF: 'Azul Alice',\r
                E6E6FA: 'Lavanda 2',\r
                FFF: 'Branco',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Ciano Forte',\r
+               '2ECC71': 'Esmeralda',\r
+               '3498DB': 'Azul Brilhante',\r
+               '9B59B6': 'Ametista',\r
+               '4E5F70': 'Azul acinzentado',\r
+               'F1C40F': 'Amarelo Vívido',\r
+               '16A085': 'Ciano Escuro',\r
+               '27AE60': 'Esmeralda Escura',\r
+               '2980B9': 'Azul Forte',\r
+               '8E44AD': 'Violeta Escura',\r
+               '2C3E50': 'Azul Dessaturado',\r
+               'F39C12': 'Laranja',\r
+               'E67E22': 'Laranja Cenoura',\r
+               'E74C3C': 'Vermelho Pálido',\r
+               'ECF0F1': 'Prata Brilhante',\r
+               '95A5A6': 'Ciano Acinzentado Claro ',\r
+               'DDD': 'Cinza Claro',\r
+               'D35400': 'Abóbora',\r
+               'C0392B': 'Vermelho Forte',\r
+               'BDC3C7': 'Prata',\r
+               '7F8C8D': 'Ciano Acinzentado',\r
+               '999': 'Cinza Escuro'\r
        },\r
        more: 'Mais Cores...',\r
        panelTitle: 'Cores',\r
index 78481a9100109ff17661b16e7934a307d65605d1..afadf7fa11323d39724a2ca8ea68df7f9aaf1037 100644 (file)
@@ -9,7 +9,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'pt', {
                '000': 'Black',\r
                '800000': 'Castanho',\r
                '8B4513': 'Saddle Brown',\r
-               '2F4F4F': 'Dark Slate Gray',\r
+               '2F4F4F': 'Cinza lousa escuro',\r
                '008080': 'Teal',\r
                '000080': 'Azul naval',\r
                '4B0082': 'Indigo',\r
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'pt', {
                F0F8FF: 'Azul Alice (f0f8ff)',\r
                E6E6FA: 'Lavanda',\r
                FFF: 'Branco',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
+               '1ABC9C': 'Ciano forte',\r
+               '2ECC71': 'Esmeralda',\r
+               '3498DB': 'Azul brilhante',\r
                '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
+               '4E5F70': 'Azul acinzentado',\r
+               'F1C40F': 'Amarelo vívido',\r
+               '16A085': 'Ciano escuro',\r
+               '27AE60': 'Esmeralda escuro',\r
+               '2980B9': 'Azul forte',\r
+               '8E44AD': 'Violeta escuro',\r
                '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
+               'F39C12': 'Laranja',\r
+               'E67E22': 'Cenoura',\r
+               'E74C3C': 'Vermelho claro',\r
+               'ECF0F1': 'Prateado brilhante',\r
+               '95A5A6': 'Ciano acinzentado claro',\r
+               'DDD': 'Cinza claro',\r
+               'D35400': 'Abóbora',\r
                'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               'BDC3C7': 'Prateado',\r
+               '7F8C8D': 'Ciano acinzentado',\r
+               '999': 'Cinza escuro'\r
        },\r
        more: 'Mais cores...',\r
        panelTitle: 'Cores',\r
index 3a01781f62ae29c6cc94692eab8552e046e73264..3d5cc99eb946bdedaa7b9b31e50cdb9fc13fc8bf 100644 (file)
@@ -47,27 +47,27 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'ru', {
                E6E6FA: 'Лавандовый',\r
                FFF: 'Белый',\r
                '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
+               '2ECC71': 'Изумрудный',\r
                '3498DB': 'Bright Blue', // MISSING\r
                '9B59B6': 'Amethyst', // MISSING\r
                '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
+               'F1C40F': 'Ярко-желтый',\r
                '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
+               '27AE60': 'Тёмно-изумрудный',\r
                '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
+               '8E44AD': 'Тёмно-фиолетовый',\r
                '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
+               'F39C12': 'Оранжевый',\r
+               'E67E22': 'Морковный',\r
                'E74C3C': 'Pale Red', // MISSING\r
                'ECF0F1': 'Bright Silver', // MISSING\r
                '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
+               'DDD': 'Светло-серый',\r
                'D35400': 'Pumpkin', // MISSING\r
                'C0392B': 'Strong Red', // MISSING\r
                'BDC3C7': 'Silver', // MISSING\r
                '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '999': 'Тёмно-серый'\r
        },\r
        more: 'Ещё цвета...',\r
        panelTitle: 'Цвета',\r
index 158ff9ed15c096fb0bf5c7c71dd71af868e95ed2..83c49463a625c6bb2dfe0b6143f187efb6257ebc 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'sk', {
                F0F8FF: 'Alicovo modrá',\r
                E6E6FA: 'Levanduľová',\r
                FFF: 'Biela',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Silno tyrkysová',\r
+               '2ECC71': 'Smaragdová',\r
+               '3498DB': 'Svetlo modrá',\r
+               '9B59B6': 'Ametystová',\r
+               '4E5F70': 'Sivo modrá',\r
+               'F1C40F': 'Sýto žltá',\r
+               '16A085': 'Tmavo tyrkysová',\r
+               '27AE60': 'Tmavo smaragdová',\r
+               '2980B9': 'Silno modrá',\r
+               '8E44AD': 'Tmavo fialová',\r
+               '2C3E50': 'Nesýto modrá',\r
+               'F39C12': 'Oranžová',\r
+               'E67E22': 'Mrkvová',\r
+               'E74C3C': 'Bledo červená',\r
+               'ECF0F1': 'Svetlá bronzová',\r
+               '95A5A6': 'Svetlá sivo-tyrkysová',\r
+               'DDD': 'Svetlo sivá',\r
+               'D35400': 'Tekvicová',\r
+               'C0392B': 'Silno červená',\r
+               'BDC3C7': 'Strieborná',\r
+               '7F8C8D': 'Sivo tyrkysová',\r
+               '999': 'Tmavo sivá'\r
        },\r
        more: 'Viac farieb...',\r
        panelTitle: 'Farby',\r
index 72be37373a514ebfaef6e0a8a96454c0c885c6b2..4131fbd54530113da79cc565cfe1de25447bc81a 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'sv', {
                F0F8FF: 'Aliceblå',\r
                E6E6FA: 'Lavendel',\r
                FFF: 'Vit',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Stark turkos',\r
+               '2ECC71': 'Smaragd',\r
+               '3498DB': 'Klarblå',\r
+               '9B59B6': 'Ametist',\r
+               '4E5F70': 'Gråblå',\r
+               'F1C40F': 'Klargul',\r
+               '16A085': 'Mörk turkos',\r
+               '27AE60': 'Mörk smaragd',\r
+               '2980B9': 'Stark blå',\r
+               '8E44AD': 'Mörk violett',\r
+               '2C3E50': 'Blek blå',\r
+               'F39C12': 'Orange',\r
+               'E67E22': 'Morot',\r
+               'E74C3C': 'Blekröd',\r
+               'ECF0F1': 'Stark silver',\r
+               '95A5A6': 'Ljus gråaktig turkos',\r
+               'DDD': 'Ljusgrå',\r
+               'D35400': 'Pumpa',\r
+               'C0392B': 'Stark röd',\r
+               'BDC3C7': 'Silver',\r
+               '7F8C8D': 'Gråaktig turkos',\r
+               '999': 'Mörkgrå'\r
        },\r
        more: 'Fler färger...',\r
        panelTitle: 'Färger',\r
index 9a3e6f8619cefd64d1de3bcbdc5395b2e259d7f5..1e0e6e15065e9beaae3c3d4990748bd8da736231 100644 (file)
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'tr', {
                F0F8FF: 'Reha Mavi',\r
                E6E6FA: 'Eflatun',\r
                FFF: 'Beyaz',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': 'Koyu Camgöbeği',\r
+               '2ECC71': 'Zümrüt Yeşili',\r
+               '3498DB': 'Parlak Mavi',\r
+               '9B59B6': 'Ametist Moru',\r
+               '4E5F70': 'Kirli Gri Mavi',\r
+               'F1C40F': 'Canlı Sarı',\r
+               '16A085': 'Koyu Camgöbeği',\r
+               '27AE60': 'Koyu Zümrüt Yeşili',\r
+               '2980B9': 'Koyu Mavi',\r
+               '8E44AD': 'Koyu Menekşe',\r
+               '2C3E50': 'Koyu Lacivert',\r
+               'F39C12': 'Turuncu',\r
+               'E67E22': 'Havuç Turuncusu',\r
+               'E74C3C': 'Soluk Kırmızı',\r
+               'ECF0F1': 'Parlak Gümüş',\r
+               '95A5A6': 'Açık Kirli Gri Camgöbeği',\r
+               'DDD': 'Açık Gri',\r
+               'D35400': 'Balkabağı Turuncusu',\r
+               'C0392B': 'Kan Kırmızı',\r
+               'BDC3C7': 'Gümüş',\r
+               '7F8C8D': 'Kirli Gri Camgöbeği',\r
+               '999': 'Koyu Gri'\r
        },\r
        more: 'Diğer renkler...',\r
        panelTitle: 'Renkler',\r
index 6d7cb7a10156e4bfc99209279a43dd2da7e9ccd5..d440572bc06eba593798ed092b9a99293b5642b2 100644 (file)
@@ -6,68 +6,68 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'zh-cn', {
        auto: '自动',\r
        bgColorTitle: '背景颜色',\r
        colors: {\r
-               '000': '黑',\r
-               '800000': '褐红',\r
-               '8B4513': '深褐',\r
-               '2F4F4F': '墨绿',\r
-               '008080': '绿松石',\r
-               '000080': '海军蓝',\r
-               '4B0082': 'é\9d\9bè\93\9d',\r
-               '696969': 'æ\9a\97ç\81°',\r
-               B22222: 'ç \96红',\r
-               A52A2A: '褐',\r
-               DAA520: '金',\r
-               '006400': '深绿',\r
-               '40E0D0': '蓝绿',\r
-               '0000CD': '中蓝',\r
-               '800080': '紫',\r
-               '808080': '灰',\r
-               F00: '红',\r
-               FF8C00: '深橙',\r
-               FFD700: '金',\r
-               '008000': '绿',\r
-               '0FF': '青',\r
-               '00F': '蓝',\r
-               EE82EE: '紫罗兰',\r
-               A9A9A9: 'æ·±ç\81°',\r
-               FFA07A: '亮橙',\r
-               FFA500: '橙',\r
-               FFFF00: '黄',\r
-               '00FF00': '水绿',\r
-               AFEEEE: 'ç²\89è\93\9d',\r
-               ADD8E6: '亮蓝',\r
-               DDA0DD: '梅红',\r
-               D3D3D3: 'æ·¡ç\81°',\r
-               FFF0F5: '淡紫红',\r
-               FAEBD7: '古董白',\r
-               FFFFE0: 'æ·¡é»\84',\r
-               F0FFF0: 'è\9c\9cç\99½',\r
-               F0FFFF: '天蓝',\r
-               F0F8FF: '淡蓝',\r
-               E6E6FA: '淡紫',\r
-               FFF: '白',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '000': '黑',\r
+               '800000': '栗色',\r
+               '8B4513': '鞍褐色',\r
+               '2F4F4F': '深岩灰色',\r
+               '008080': '凫绿色',\r
+               '000080': '海军蓝',\r
+               '4B0082': 'é\9d\9bè\89²',\r
+               '696969': 'æ·±ç\81°è\89²',\r
+               B22222: 'ç\81«ç \96红è\89²',\r
+               A52A2A: '褐',\r
+               DAA520: '金菊色',\r
+               '006400': '深绿',\r
+               '40E0D0': '绿松石色',\r
+               '0000CD': '中蓝',\r
+               '800080': '紫',\r
+               '808080': '灰',\r
+               F00: '红',\r
+               FF8C00: '深橙',\r
+               FFD700: '金',\r
+               '008000': '绿',\r
+               '0FF': '青',\r
+               '00F': '蓝',\r
+               EE82EE: '紫罗兰',\r
+               A9A9A9: 'æ\9a\97ç\81°è\89²',\r
+               FFA07A: '浅鲑红色',\r
+               FFA500: '橙',\r
+               FFFF00: '黄',\r
+               '00FF00': '鲜绿色',\r
+               AFEEEE: 'ç\81°ç»¿æ\9d¾ç\9f³è\89²',\r
+               ADD8E6: '浅蓝色',\r
+               DDA0DD: '梅红',\r
+               D3D3D3: 'æµ\85ç\81°è\89²',\r
+               FFF0F5: '薰衣草紫红色',\r
+               FAEBD7: '古董白',\r
+               FFFFE0: 'æµ\85é»\84è\89²',\r
+               F0FFF0: 'è\9c\9cç\93\9c绿è\89²',\r
+               F0FFFF: '浅蓝色',\r
+               F0F8FF: '爱丽丝蓝色',\r
+               E6E6FA: '薰衣草紫色',\r
+               FFF: '白',\r
+               '1ABC9C': '浓青色',\r
+               '2ECC71': '碧绿色',\r
+               '3498DB': '亮蓝色',\r
+               '9B59B6': '紫水晶色',\r
+               '4E5F70': '灰蓝色',\r
+               'F1C40F': '鲜黄色',\r
+               '16A085': '深青色',\r
+               '27AE60': '深碧绿色',\r
+               '2980B9': '浓蓝色',\r
+               '8E44AD': '深紫罗兰色',\r
+               '2C3E50': '不饱和蓝色',\r
+               'F39C12': '橙色',\r
+               'E67E22': '红萝卜红色',\r
+               'E74C3C': '灰红色',\r
+               'ECF0F1': '亮银色',\r
+               '95A5A6': '浅灰青色',\r
+               'DDD': '浅灰色',\r
+               'D35400': '南瓜黄色',\r
+               'C0392B': '浓红色',\r
+               'BDC3C7': '银色',\r
+               '7F8C8D': '灰青色',\r
+               '999': '深灰色'\r
        },\r
        more: '其它颜色...',\r
        panelTitle: '颜色',\r
index 85a7293a57bb0ad7627d01b738d3ef1200077a88..888d3b145310f9b126c8356b471039b2b77a7b76 100644 (file)
@@ -26,7 +26,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'zh', {
                FF8C00: '深橘色',\r
                FFD700: '金色',\r
                '008000': '綠色',\r
-               '0FF': '藍綠色',\r
+               '0FF': '色',\r
                '00F': '藍色',\r
                EE82EE: '紫色',\r
                A9A9A9: '暗灰色',\r
@@ -46,28 +46,28 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'zh', {
                F0F8FF: '愛麗斯蘭',\r
                E6E6FA: '淺紫色',\r
                FFF: '白色',\r
-               '1ABC9C': 'Strong Cyan', // MISSING\r
-               '2ECC71': 'Emerald', // MISSING\r
-               '3498DB': 'Bright Blue', // MISSING\r
-               '9B59B6': 'Amethyst', // MISSING\r
-               '4E5F70': 'Grayish Blue', // MISSING\r
-               'F1C40F': 'Vivid Yellow', // MISSING\r
-               '16A085': 'Dark Cyan', // MISSING\r
-               '27AE60': 'Dark Emerald', // MISSING\r
-               '2980B9': 'Strong Blue', // MISSING\r
-               '8E44AD': 'Dark Violet', // MISSING\r
-               '2C3E50': 'Desaturated Blue', // MISSING\r
-               'F39C12': 'Orange', // MISSING\r
-               'E67E22': 'Carrot', // MISSING\r
-               'E74C3C': 'Pale Red', // MISSING\r
-               'ECF0F1': 'Bright Silver', // MISSING\r
-               '95A5A6': 'Light Grayish Cyan', // MISSING\r
-               'DDD': 'Light Gray', // MISSING\r
-               'D35400': 'Pumpkin', // MISSING\r
-               'C0392B': 'Strong Red', // MISSING\r
-               'BDC3C7': 'Silver', // MISSING\r
-               '7F8C8D': 'Grayish Cyan', // MISSING\r
-               '999': 'Dark Gray' // MISSING\r
+               '1ABC9C': '深青色',\r
+               '2ECC71': '翠綠色',\r
+               '3498DB': '亮藍色',\r
+               '9B59B6': '紫色',\r
+               '4E5F70': '藍灰色',\r
+               'F1C40F': '鮮黃色',\r
+               '16A085': '暗青色',\r
+               '27AE60': '暗綠色',\r
+               '2980B9': '深藍色',\r
+               '8E44AD': '暗紫色',\r
+               '2C3E50': '不飽和藍色',\r
+               'F39C12': '橘色',\r
+               'E67E22': '胡蘿蔔色',\r
+               'E74C3C': '淡紅色',\r
+               'ECF0F1': '亮銀色',\r
+               '95A5A6': '淺灰青色',\r
+               'DDD': '淺灰色',\r
+               'D35400': '南瓜色',\r
+               'C0392B': '深紅色',\r
+               'BDC3C7': '銀色',\r
+               '7F8C8D': '灰青色',\r
+               '999': '深灰色'\r
        },\r
        more: '更多顏色',\r
        panelTitle: '顏色',\r
index 538233316dec59230c85b252e349225445d2ee17..a293ba65a2517f562afa7073e34c17cf64fb0c2f 100644 (file)
@@ -11,7 +11,7 @@
 CKEDITOR.plugins.add( 'colorbutton', {\r
        requires: 'panelbutton,floatpanel',\r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
        icons: 'bgcolor,textcolor', // %REMOVE_LINE_CORE%\r
        hidpi: true, // %REMOVE_LINE_CORE%\r
@@ -85,7 +85,8 @@ CKEDITOR.plugins.add( 'colorbutton', {
 \r
                function addButton( name, type, title, order, options ) {\r
                        var style = new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ] ),\r
-                               colorBoxId = CKEDITOR.tools.getNextId() + '_colorBox';\r
+                               colorBoxId = CKEDITOR.tools.getNextId() + '_colorBox',\r
+                               panelBlock;\r
 \r
                        options = options || {};\r
 \r
@@ -105,10 +106,12 @@ CKEDITOR.plugins.add( 'colorbutton', {
                                },\r
 \r
                                onBlock: function( panel, block ) {\r
+                                       panelBlock = block;\r
+\r
                                        block.autoSize = true;\r
                                        block.element.addClass( 'cke_colorblock' );\r
                                        block.element.setHtml( renderColors( panel, type, colorBoxId ) );\r
-                                       // The block should not have scrollbars (#5933, #6056)\r
+                                       // The block should not have scrollbars (http://dev.ckeditor.com/ticket/5933, http://dev.ckeditor.com/ticket/6056)\r
                                        block.element.getDocument().getBody().setStyle( 'overflow', 'hidden' );\r
 \r
                                        CKEDITOR.ui.fire( 'ready', this );\r
@@ -129,13 +132,13 @@ CKEDITOR.plugins.add( 'colorbutton', {
                                                this.setState( CKEDITOR.TRISTATE_DISABLED );\r
                                },\r
 \r
-                               // The automatic colorbox should represent the real color (#6010)\r
+                               // The automatic colorbox should represent the real color (http://dev.ckeditor.com/ticket/6010)\r
                                onOpen: function() {\r
 \r
                                        var selection = editor.getSelection(),\r
                                                block = selection && selection.getStartElement(),\r
                                                path = editor.elementPath( block ),\r
-                                               color;\r
+                                               automaticColor;\r
 \r
                                        if ( !path )\r
                                                return;\r
@@ -145,19 +148,46 @@ CKEDITOR.plugins.add( 'colorbutton', {
 \r
                                        // The background color might be transparent. In that case, look up the color in the DOM tree.\r
                                        do {\r
-                                               color = block && block.getComputedStyle( type == 'back' ? 'background-color' : 'color' ) || 'transparent';\r
+                                               automaticColor = block && block.getComputedStyle( type == 'back' ? 'background-color' : 'color' ) || 'transparent';\r
                                        }\r
-                                       while ( type == 'back' && color == 'transparent' && block && ( block = block.getParent() ) );\r
+                                       while ( type == 'back' && automaticColor == 'transparent' && block && ( block = block.getParent() ) );\r
 \r
                                        // The box should never be transparent.\r
-                                       if ( !color || color == 'transparent' )\r
-                                               color = '#ffffff';\r
+                                       if ( !automaticColor || automaticColor == 'transparent' )\r
+                                               automaticColor = '#ffffff';\r
 \r
                                        if ( config.colorButton_enableAutomatic !== false ) {\r
-                                               this._.panel._.iframe.getFrameDocument().getById( colorBoxId ).setStyle( 'background-color', color );\r
+                                               this._.panel._.iframe.getFrameDocument().getById( colorBoxId ).setStyle( 'background-color', automaticColor );\r
                                        }\r
 \r
-                                       return color;\r
+                                       var range = selection && selection.getRanges()[ 0 ];\r
+\r
+                                       if ( range ) {\r
+                                               var walker = new CKEDITOR.dom.walker( range ),\r
+                                                       element = range.collapsed ? range.startContainer : walker.next(),\r
+                                                       finalColor = '',\r
+                                                       currentColor;\r
+\r
+                                               while ( element ) {\r
+                                                       if ( element.type === CKEDITOR.NODE_TEXT ) {\r
+                                                               element = element.getParent();\r
+                                                       }\r
+\r
+                                                       currentColor = normalizeColor( element.getComputedStyle( type == 'back' ? 'background-color' : 'color'  ) );\r
+                                                       finalColor = finalColor || currentColor;\r
+\r
+                                                       if ( finalColor !== currentColor ) {\r
+                                                               finalColor = '';\r
+                                                               break;\r
+                                                       }\r
+\r
+                                                       element = walker.next();\r
+                                               }\r
+\r
+                                               selectColor( panelBlock, finalColor );\r
+                                       }\r
+\r
+                                       return automaticColor;\r
                                }\r
                        } );\r
                }\r
@@ -169,53 +199,44 @@ CKEDITOR.plugins.add( 'colorbutton', {
                                // Tells if we should include "More Colors..." button.\r
                                moreColorsEnabled = editor.plugins.colordialog && config.colorButton_enableMore !== false,\r
                                // aria-setsize and aria-posinset attributes are used to indicate size of options, because\r
-                               // screen readers doesn't play nice with table, based layouts (#12097).\r
+                               // screen readers doesn't play nice with table, based layouts (http://dev.ckeditor.com/ticket/12097).\r
                                total = colors.length + ( moreColorsEnabled ? 2 : 1 );\r
 \r
-                       var clickFn = CKEDITOR.tools.addFunction( function( color, type ) {\r
-                               var applyColorStyle = arguments.callee;\r
-                               function onColorDialogClose( evt ) {\r
-                                       this.removeListener( 'ok', onColorDialogClose );\r
-                                       this.removeListener( 'cancel', onColorDialogClose );\r
+                       var clickFn = CKEDITOR.tools.addFunction( function applyColorStyle( color, type ) {\r
 \r
-                                       evt.name == 'ok' && applyColorStyle( this.getContentElement( 'picker', 'selectedColor' ).getValue(), type );\r
-                               }\r
+                               editor.focus();\r
+                               editor.fire( 'saveSnapshot' );\r
 \r
                                if ( color == '?' ) {\r
-                                       editor.openDialog( 'colordialog', function() {\r
-                                               this.on( 'ok', onColorDialogClose );\r
-                                               this.on( 'cancel', onColorDialogClose );\r
+                                       editor.getColorFromDialog( function( color ) {\r
+                                               if ( color ) {\r
+                                                       return applyColor( color );\r
+                                               }\r
                                        } );\r
-\r
-                                       return;\r
+                               } else {\r
+                                       return applyColor( color );\r
                                }\r
 \r
-                               editor.focus();\r
-\r
-                               panel.hide();\r
-\r
-                               editor.fire( 'saveSnapshot' );\r
-\r
-                               // Clean up any conflicting style within the range.\r
-                               editor.removeStyle( new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ], { color: 'inherit' } ) );\r
-\r
-                               if ( color ) {\r
+                               function applyColor( color ) {\r
+                                       // Clean up any conflicting style within the range.\r
+                                       editor.removeStyle( new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ], { color: 'inherit' } ) );\r
                                        var colorStyle = config[ 'colorButton_' + type + 'Style' ];\r
 \r
                                        colorStyle.childRule = type == 'back' ?\r
                                        function( element ) {\r
-                                               // It's better to apply background color as the innermost style. (#3599)\r
-                                               // Except for "unstylable elements". (#6103)\r
+                                               // It's better to apply background color as the innermost style. (http://dev.ckeditor.com/ticket/3599)\r
+                                               // Except for "unstylable elements". (http://dev.ckeditor.com/ticket/6103)\r
                                                return isUnstylable( element );\r
                                        } : function( element ) {\r
-                                               // Fore color style must be applied inside links instead of around it. (#4772,#6908)\r
+                                               // Fore color style must be applied inside links instead of around it. (http://dev.ckeditor.com/ticket/4772,http://dev.ckeditor.com/ticket/6908)\r
                                                return !( element.is( 'a' ) || element.getElementsByTag( 'a' ).count() ) || isUnstylable( element );\r
                                        };\r
 \r
+                                       editor.focus();\r
                                        editor.applyStyle( new CKEDITOR.style( colorStyle, { color: color } ) );\r
+                                       editor.fire( 'saveSnapshot' );\r
                                }\r
 \r
-                               editor.fire( 'saveSnapshot' );\r
                        } );\r
 \r
                        if ( config.colorButton_enableAutomatic !== false ) {\r
@@ -245,7 +266,7 @@ CKEDITOR.plugins.add( 'colorbutton', {
 \r
                                // The data can be only a color code (without #) or colorName + color code\r
                                // If only a color code is provided, then the colorName is the color with the hash\r
-                               // Convert the color from RGB to RRGGBB for better compatibility with IE and <font>. See #5676\r
+                               // Convert the color from RGB to RRGGBB for better compatibility with IE and <font>. See http://dev.ckeditor.com/ticket/5676\r
                                if ( !parts[ 1 ] )\r
                                        colorName = '#' + colorName.replace( /^(.)(.)(.)$/, '$1$1$2$2$3$3' );\r
 \r
@@ -255,6 +276,7 @@ CKEDITOR.plugins.add( 'colorbutton', {
                                                ' title="', colorLabel, '"' +\r
                                                ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'', colorName, '\',\'', type, '\'); return false;"' +\r
                                                ' href="javascript:void(\'', colorLabel, '\')"' +\r
+                                               ' data-value="' + colorCode + '"' +\r
                                                ' role="option" aria-posinset="', ( i + 2 ), '" aria-setsize="', total, '">' +\r
                                                '<span class="cke_colorbox" style="background-color:#', colorCode, '"></span>' +\r
                                        '</a>' +\r
@@ -281,6 +303,40 @@ CKEDITOR.plugins.add( 'colorbutton', {
                function isUnstylable( ele ) {\r
                        return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' );\r
                }\r
+\r
+               /*\r
+                * Selects the specified color in the specified panel block.\r
+                *\r
+                * @private\r
+                * @member CKEDITOR.plugins.colorbutton\r
+                * @param {CKEDITOR.ui.panel.block} block\r
+                * @param {String} color\r
+                */\r
+               function selectColor( block, color ) {\r
+                       var items = block._.getItems();\r
+\r
+                       for ( var i = 0; i < items.count(); i++ ) {\r
+                               var item = items.getItem( i );\r
+\r
+                               item.removeAttribute( 'aria-selected' );\r
+\r
+                               if ( color && color == normalizeColor( item.getAttribute( 'data-value' ) ) ) {\r
+                                       item.setAttribute( 'aria-selected', true );\r
+                               }\r
+                       }\r
+               }\r
+\r
+               /*\r
+                * Converts a CSS color value to an easily comparable form.\r
+                *\r
+                * @private\r
+                * @member CKEDITOR.plugins.colorbutton\r
+                * @param {String} color\r
+                * @returns {String}\r
+                */\r
+               function normalizeColor( color ) {\r
+                       return CKEDITOR.tools.convertRgbToHex( color || '' ).replace( /#/, '' ).toLowerCase();\r
+               }\r
        }\r
 } );\r
 \r
diff --git a/sources/plugins/colordialog/lang/es-mx.js b/sources/plugins/colordialog/lang/es-mx.js
new file mode 100644 (file)
index 0000000..160dd35
--- /dev/null
@@ -0,0 +1,11 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'colordialog', 'es-mx', {\r
+       clear: 'Borrar',\r
+       highlight: 'Realce',\r
+       options: 'Opciones de color',\r
+       selected: 'Color seleccionado',\r
+       title: 'Selecciona un color'\r
+} );\r
index f113e21498a8090876ea417e6884db596b4be7ee..4c3dc481731865232c6fbe7c1ab23dfd0a983dc9 100644 (file)
@@ -3,8 +3,8 @@ Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
 CKEDITOR.plugins.setLang( 'colordialog', 'nb', {\r
-       clear: 'Tøm',\r
-       highlight: 'Merk',\r
+       clear: 'Nullstill',\r
+       highlight: 'Fremhevet',\r
        options: 'Alternativer for farge',\r
        selected: 'Valgt farge',\r
        title: 'Velg farge'\r
index 1ad7e2d54820b3d6c9ad2eb835221187eb489797..344fa8ecd60e06e3504c7ced326737b79974d037 100644 (file)
@@ -6,7 +6,7 @@
 CKEDITOR.plugins.colordialog = {\r
        requires: 'dialog',\r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
        init: function( editor ) {\r
                var cmd = new CKEDITOR.dialogCommand( 'colordialog' );\r
diff --git a/sources/plugins/contextmenu/lang/es-mx.js b/sources/plugins/contextmenu/lang/es-mx.js
new file mode 100644 (file)
index 0000000..72bb1fa
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'contextmenu', 'es-mx', {\r
+       options: 'Opciones del menú contextual'\r
+} );\r
index 6cd3935af88cfc6f923e6ea85d1c5ecad9ef717b..4a3bd5f34673faa4b67515fb888b2d203fc5e672 100644 (file)
@@ -7,10 +7,10 @@ CKEDITOR.plugins.add( 'contextmenu', {
        requires: 'menu',\r
 \r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
 \r
-       // Make sure the base class (CKEDITOR.menu) is loaded before it (#3318).\r
+       // Make sure the base class (CKEDITOR.menu) is loaded before it (http://dev.ckeditor.com/ticket/3318).\r
        onLoad: function() {\r
                /**\r
                 * Class replacing the non-configurable native context menu with a configurable CKEditor's equivalent.\r
@@ -51,7 +51,7 @@ CKEDITOR.plugins.add( 'contextmenu', {
                                                var domEvent = event.data,\r
                                                        isCtrlKeyDown =\r
                                                                // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event,\r
-                                                               // which make this property unreliable. (#4826)\r
+                                                               // which make this property unreliable. (http://dev.ckeditor.com/ticket/4826)\r
                                                                ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) );\r
 \r
                                                if ( nativeContextMenuOnCtrl && isCtrlKeyDown )\r
@@ -60,7 +60,7 @@ CKEDITOR.plugins.add( 'contextmenu', {
                                                // Cancel the browser context menu.\r
                                                domEvent.preventDefault();\r
 \r
-                                               // Fix selection when non-editable element in Webkit/Blink (Mac) (#11306).\r
+                                               // Fix selection when non-editable element in Webkit/Blink (Mac) (http://dev.ckeditor.com/ticket/11306).\r
                                                if ( CKEDITOR.env.mac && CKEDITOR.env.webkit ) {\r
                                                        var editor = this.editor,\r
                                                                contentEditableParent = new CKEDITOR.dom.elementPath( domEvent.getTarget(), editor.editable() ).contains( function( el ) {\r
@@ -83,7 +83,7 @@ CKEDITOR.plugins.add( 'contextmenu', {
                                                CKEDITOR.tools.setTimeout( function() {\r
                                                        this.open( offsetParent, null, offsetX, offsetY );\r
 \r
-                                                       // IE needs a short while to allow selection change before opening menu. (#7908)\r
+                                                       // IE needs a short while to allow selection change before opening menu. (http://dev.ckeditor.com/ticket/7908)\r
                                                }, CKEDITOR.env.ie ? 200 : 0, this );\r
                                        }, this );\r
 \r
@@ -111,10 +111,14 @@ CKEDITOR.plugins.add( 'contextmenu', {
                                 * @param {Number} [offsetY]\r
                                 */\r
                                open: function( offsetParent, corner, offsetX, offsetY ) {\r
+                                       if ( this.editor.config.enableContextMenu === false ) {\r
+                                               return;\r
+                                       }\r
+\r
                                        this.editor.focus();\r
                                        offsetParent = offsetParent || CKEDITOR.document.getDocumentElement();\r
 \r
-                                       // #9362: Force selection check to update commands' states in the new context.\r
+                                       // http://dev.ckeditor.com/ticket/9362: Force selection check to update commands' states in the new context.\r
                                        this.editor.selectionChange( 1 );\r
 \r
                                        this.show( offsetParent, corner, offsetX, offsetY );\r
@@ -157,3 +161,14 @@ CKEDITOR.plugins.add( 'contextmenu', {
  * @cfg {Boolean} [browserContextMenuOnCtrl=true]\r
  * @member CKEDITOR.config\r
  */\r
+\r
+/**\r
+ * Whether to enable the context menu. Regardless of the setting the [Context Menu](http://ckeditor.com/addon/contextmenu)\r
+ * plugin is still loaded.\r
+ *\r
+ *             config.enableContextMenu = false;\r
+ *\r
+ * @since 4.7.0\r
+ * @cfg {Boolean} [enableContextMenu=true]\r
+ * @member CKEDITOR.config\r
+ */\r
index d6af6a201c75cacca073938645c1b537ce2a1502..f26f9c9b9ac7667755bfeb247b54c4032b17957e 100644 (file)
@@ -177,10 +177,10 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        title = body.getChild( 0 ),\r
                        close = body.getChild( 1 );\r
 \r
-               // Don't allow dragging on dialog (#13184).\r
+               // Don't allow dragging on dialog (http://dev.ckeditor.com/ticket/13184).\r
                editor.plugins.clipboard && CKEDITOR.plugins.clipboard.preventDefaultDropOnElement( body );\r
 \r
-               // IFrame shim for dialog that masks activeX in IE. (#7619)\r
+               // IFrame shim for dialog that masks activeX in IE. (http://dev.ckeditor.com/ticket/7619)\r
                if ( CKEDITOR.env.ie && !CKEDITOR.env.quirks && !CKEDITOR.env.edge ) {\r
                        var src = 'javascript:void(function(){' + encodeURIComponent( 'document.open();(' + CKEDITOR.tools.fixDomain + ')();document.close();' ) + '}())', // jshint ignore:line\r
                                iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +\r
@@ -229,7 +229,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        tabsToRemove = {},\r
                        i, processed, stopPropagation;\r
 \r
-               if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750)\r
+               if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (http://dev.ckeditor.com/ticket/4750)\r
                ( buttonsOrder == 'rtl' && dir == 'ltr' ) || ( buttonsOrder == 'ltr' && dir == 'rtl' ) )\r
                        defaultDefinition.buttons.reverse();\r
 \r
@@ -334,7 +334,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
 \r
                if ( definition.onOk ) {\r
                        this.on( 'ok', function( evt ) {\r
-                               // Dialog confirm might probably introduce content changes (#5415).\r
+                               // Dialog confirm might probably introduce content changes (http://dev.ckeditor.com/ticket/5415).\r
                                editor.fire( 'saveSnapshot' );\r
                                setTimeout( function() {\r
                                        editor.fire( 'saveSnapshot' );\r
@@ -451,7 +451,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                currentIndex = currentIndex + offset;\r
 \r
                                if ( hasTabs && !me._.tabBarMode && ( currentIndex == focusList.length || currentIndex == -1 ) ) {\r
-                                       // If the dialog was not in tab mode, then focus the first tab (#13027).\r
+                                       // If the dialog was not in tab mode, then focus the first tab (http://dev.ckeditor.com/ticket/13027).\r
                                        me._.tabBarMode = true;\r
                                        me._.tabs[ me._.currentTabId ][ 0 ].focus();\r
                                        me._.currentFocusIndex = -1;\r
@@ -528,7 +528,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                        button && CKEDITOR.tools.setTimeout( button.click, 0, button );\r
                                        processed = 1;\r
                                }\r
-                               stopPropagation = 1; // Always block the propagation (#4269)\r
+                               stopPropagation = 1; // Always block the propagation (http://dev.ckeditor.com/ticket/4269)\r
                        } else if ( keystroke == 27 /*ESC*/ ) {\r
                                button = this.getButton( 'cancel' );\r
 \r
@@ -539,7 +539,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                        if ( this.fire( 'cancel', { hide: true } ).hide !== false )\r
                                                this.hide();\r
                                }\r
-                               stopPropagation = 1; // Always block the propagation (#4269)\r
+                               stopPropagation = 1; // Always block the propagation (http://dev.ckeditor.com/ticket/4269)\r
                        } else {\r
                                return;\r
                        }\r
@@ -563,7 +563,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        dialogElement.on( 'keydown', keydownHandler, this );\r
 \r
                        // Some browsers instead, don't cancel key events in the keydown, but in the\r
-                       // keypress. So we must do a longer trip in those cases. (#4531,#8985)\r
+                       // keypress. So we must do a longer trip in those cases. (http://dev.ckeditor.com/ticket/4531,http://dev.ckeditor.com/ticket/8985)\r
                        if ( CKEDITOR.env.gecko )\r
                                dialogElement.on( 'keypress', keypressHandler, this );\r
 \r
@@ -612,7 +612,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        }\r
                }, this, null, 0xffffffff );\r
 \r
-               // IE6 BUG: Text fields and text areas are only half-rendered the first time the dialog appears in IE6 (#2661).\r
+               // IE6 BUG: Text fields and text areas are only half-rendered the first time the dialog appears in IE6 (http://dev.ckeditor.com/ticket/2661).\r
                // This is still needed after [2708] and [2709] because text fields in hidden TR tags are still broken.\r
                if ( CKEDITOR.env.ie6Compat ) {\r
                        this.on( 'load', function() {\r
@@ -788,7 +788,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        var element = this._.element.getFirst(), rtl = this._.editor.lang.dir == 'rtl';\r
                        var isFixed = element.getComputedStyle( 'position' ) == 'fixed';\r
 \r
-                       // (#8888) In some cases of a very small viewport, dialog is incorrectly\r
+                       // (http://dev.ckeditor.com/ticket/8888) In some cases of a very small viewport, dialog is incorrectly\r
                        // positioned in IE7. It also happens that it remains sticky and user cannot\r
                        // scroll down/up to reveal dialog's content below/above the viewport; this is\r
                        // cumbersome.\r
@@ -862,8 +862,10 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                        // Reset all inputs back to their default value.\r
                        this.reset();\r
 \r
-                       // Select the first tab by default.\r
-                       this.selectPage( this.definition.contents[ 0 ].id );\r
+                       // Selects the first tab if no tab is already selected.\r
+                       if ( this._.currentTabId === null ) {\r
+                               this.selectPage( this.definition.contents[ 0 ].id );\r
+                       }\r
 \r
                        // Set z-index.\r
                        if ( CKEDITOR.dialog._.currentZIndex === null )\r
@@ -1038,7 +1040,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                commitContent: function() {\r
                        var args = arguments;\r
                        this.foreach( function( widget ) {\r
-                               // Make sure IE triggers "change" event on last focused input before closing the dialog. (#7915)\r
+                               // Make sure IE triggers "change" event on last focused input before closing the dialog. (http://dev.ckeditor.com/ticket/7915)\r
                                if ( CKEDITOR.env.ie && this._.currentFocusIndex == widget.focusIndex )\r
                                        widget.getInputElement().$.blur();\r
 \r
@@ -1090,11 +1092,11 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                var editor = this._.editor;\r
                                editor.focus();\r
 \r
-                               // Give a while before unlock, waiting for focus to return to the editable. (#172)\r
+                               // Give a while before unlock, waiting for focus to return to the editable. (http://dev.ckeditor.com/ticket/172)\r
                                setTimeout( function() {\r
                                        editor.focusManager.unlock();\r
 \r
-                                       // Fixed iOS focus issue (#12381).\r
+                                       // Fixed iOS focus issue (http://dev.ckeditor.com/ticket/12381).\r
                                        // Keep in mind that editor.focus() does not work in this case.\r
                                        if ( CKEDITOR.env.iOS ) {\r
                                                editor.window.focus();\r
@@ -1111,7 +1113,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                contentObj.resetInitValue && contentObj.resetInitValue();\r
                        } );\r
 \r
-                       // Reset dialog state back to IDLE, if busy (#13213).\r
+                       // Reset dialog state back to IDLE, if busy (http://dev.ckeditor.com/ticket/13213).\r
                        this.setState( CKEDITOR.DIALOG_STATE_IDLE );\r
                },\r
 \r
@@ -1232,7 +1234,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
 \r
                        // [IE] an invisible input[type='text'] will enlarge it's width\r
                        // if it's value is long when it shows, so we clear it's value\r
-                       // before it shows and then recover it (#5649)\r
+                       // before it shows and then recover it (http://dev.ckeditor.com/ticket/5649)\r
                        if ( CKEDITOR.env.ie6Compat || CKEDITOR.env.ie7Compat ) {\r
                                clearOrRecoverTextInputValue( selected[ 1 ] );\r
                                selected[ 1 ].show();\r
@@ -2199,7 +2201,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                resizeCover = resizeFunc;\r
                win.on( 'resize', resizeFunc );\r
                resizeFunc();\r
-               // Using Safari/Mac, focus must be kept where it is (#7027)\r
+               // Using Safari/Mac, focus must be kept where it is (http://dev.ckeditor.com/ticket/7027)\r
                if ( !( CKEDITOR.env.mac && CKEDITOR.env.webkit ) )\r
                        coverElement.focus();\r
 \r
@@ -2560,7 +2562,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                                        if ( elementDefinition && elementDefinition.padding !== undefined ) {\r
                                                                styles.push( 'padding:' + cssLength( elementDefinition.padding ) );\r
                                                        }\r
-                                                       // In IE Quirks alignment has to be done on table cells. (#7324)\r
+                                                       // In IE Quirks alignment has to be done on table cells. (http://dev.ckeditor.com/ticket/7324)\r
                                                        if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && children[ i ].align ) {\r
                                                                styles.push( 'text-align:' + children[ i ].align );\r
                                                        }\r
@@ -2619,7 +2621,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                                        html.push( 'height:100%;' );\r
                                                html.push( 'width:' + cssLength( width || '100%' ), ';' );\r
 \r
-                                               // (#10123) Temp fix for dialog broken layout in latest webkit.\r
+                                               // (http://dev.ckeditor.com/ticket/10123) Temp fix for dialog broken layout in latest webkit.\r
                                                if ( CKEDITOR.env.webkit )\r
                                                        html.push( 'float:none;' );\r
 \r
@@ -2639,7 +2641,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
                                                                styles.push( 'height:' + Math.floor( 100 / childHtmlList.length ) + '%' );\r
                                                        if ( elementDefinition && elementDefinition.padding !== undefined )\r
                                                                styles.push( 'padding:' + cssLength( elementDefinition.padding ) );\r
-                                                       // In IE Quirks alignment has to be done on table cells. (#7324)\r
+                                                       // In IE Quirks alignment has to be done on table cells. (http://dev.ckeditor.com/ticket/7324)\r
                                                        if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && children[ i ].align )\r
                                                                styles.push( 'text-align:' + children[ i ].align );\r
                                                        if ( styles.length > 0 )\r
@@ -2984,7 +2986,7 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
        /**\r
         * Generic dialog command. It opens a specific dialog when executed.\r
         *\r
-        *              // Register the "link" command, which opens the "link" dialog.\r
+        *              // Register the "link" command which opens the "link" dialog.\r
         *              editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link' ) );\r
         *\r
         * @class\r
@@ -2993,6 +2995,10 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
         * @param {String} dialogName The name of the dialog to open when executing\r
         * this command.\r
         * @param {Object} [ext] Additional command definition's properties.\r
+        * @param {String} [ext.tabId] You can provide additional property (`tabId`) if you wish to open the dialog on a specific tabId.\r
+        *\r
+        *              // Open the dialog on the 'keystroke' tabId.\r
+        *              editor.addCommand( 'keystroke', new CKEDITOR.dialogCommand( 'a11yHelp', { tabId: 'keystroke' } ) );\r
         */\r
        CKEDITOR.dialogCommand = function( dialogName, ext ) {\r
                this.dialogName = dialogName;\r
@@ -3001,7 +3007,13 @@ CKEDITOR.DIALOG_STATE_BUSY = 2;
 \r
        CKEDITOR.dialogCommand.prototype = {\r
                exec: function( editor ) {\r
-                       editor.openDialog( this.dialogName );\r
+                       var tabId = this.tabId;\r
+                       editor.openDialog( this.dialogName, function( dialog ) {\r
+                               // Select different tab if it's provided (#830).\r
+                               if ( tabId ) {\r
+                                       dialog.selectPage( tabId );\r
+                               }\r
+                       } );\r
                },\r
 \r
                // Dialog commands just open a dialog ui, thus require no undo logic,\r
index cf9140700538ae1929150d7663f1e01c39a645c9..ab367919181125417fb7f949ba271672dddbe12b 100644 (file)
@@ -72,7 +72,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                        if ( !this._.domOnChangeRegistered ) {\r
                                                dialog.on( 'load', function() {\r
                                                        this.getInputElement().on( 'change', function() {\r
-                                                               // Make sure 'onchange' doesn't get fired after dialog closed. (#5719)\r
+                                                               // Make sure 'onchange' doesn't get fired after dialog closed. (http://dev.ckeditor.com/ticket/5719)\r
                                                                if ( !dialog.parts.dialog.isVisible() )\r
                                                                        return;\r
 \r
@@ -240,7 +240,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                                        keyPressedOnMe = true;\r
                                        } );\r
 \r
-                                       // Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)\r
+                                       // Lower the priority this 'keyup' since 'ok' will close the dialog.(http://dev.ckeditor.com/ticket/3749)\r
                                        me.getInputElement().on( 'keyup', function( evt ) {\r
                                                if ( evt.data.getKeystroke() == 13 && keyPressedOnMe ) {\r
                                                        dialog.getButton( 'ok' ) && setTimeout( function() {\r
@@ -472,7 +472,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                                if ( typeof inputDefinition.inputStyle != 'undefined' )\r
                                                        inputDefinition.style = inputDefinition.inputStyle;\r
 \r
-                                               // Make inputs of radio type focusable (#10866).\r
+                                               // Make inputs of radio type focusable (http://dev.ckeditor.com/ticket/10866).\r
                                                inputDefinition.keyboardFocusable = true;\r
 \r
                                                children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );\r
@@ -537,7 +537,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                        ( function() {\r
                                                element.on( 'click', function( evt ) {\r
                                                        me.click();\r
-                                                       // #9958\r
+                                                       // http://dev.ckeditor.com/ticket/9958\r
                                                        evt.data.preventDefault();\r
                                                } );\r
 \r
@@ -686,7 +686,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                                        ' src="javascript:void('\r
                                        ];\r
 \r
-                                       // Support for custom document.domain on IE. (#10165)\r
+                                       // Support for custom document.domain on IE. (http://dev.ckeditor.com/ticket/10165)\r
                                        html.push( CKEDITOR.env.ie ?\r
                                                '(function(){' + encodeURIComponent(\r
                                                        'document.open();' +\r
@@ -1423,7 +1423,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                                                '<label id="', _.labelId, '" for="', inputId, '" style="display:none">',\r
                                                                        CKEDITOR.tools.htmlEncode( elementDefinition.label ),\r
                                                                '</label>',\r
-                                                               // Set width to make sure that input is not clipped by the iframe (#11253).\r
+                                                               // Set width to make sure that input is not clipped by the iframe (http://dev.ckeditor.com/ticket/11253).\r
                                                                '<input style="width:100%" id="', inputId, '" aria-labelledby="', _.labelId, '" type="file" name="',\r
                                                                        CKEDITOR.tools.htmlEncode( elementDefinition.id || 'cke_upload' ),\r
                                                                        '" size="',\r
@@ -1446,7 +1446,7 @@ CKEDITOR.plugins.add( 'dialogui', {
                                                buttons[ i ].enable();\r
                                }\r
 \r
-                               // #3465: Wait for the browser to finish rendering the dialog first.\r
+                               // http://dev.ckeditor.com/ticket/3465: Wait for the browser to finish rendering the dialog first.\r
                                if ( CKEDITOR.env.gecko )\r
                                        setTimeout( generateFormField, 500 );\r
                                else\r
index 140424fdff60fdc8f844bbc96bbf27c8d1693dd3..73dde56c34028696f221dd386e20909db9916678 100644 (file)
@@ -44,7 +44,7 @@
                        var container = editor.elementPath( element ).blockLimit;\r
 \r
                        // Never consider read-only (i.e. contenteditable=false) element as\r
-                       // a first div limit (#11083).\r
+                       // a first div limit (http://dev.ckeditor.com/ticket/11083).\r
                        if ( container.isReadOnly() )\r
                                container = container.getParent();\r
 \r
                        var ancestor, divElement;\r
 \r
                        for ( i = 0; i < blockGroups.length; i++ ) {\r
+                               // Sometimes we could get empty block group if all elements inside it\r
+                               // don't have parent's nodes (http://dev.ckeditor.com/ticket/13585).\r
+                               if ( !blockGroups[ i ].length ) {\r
+                                       continue;\r
+                               }\r
+\r
                                var currentNode = blockGroups[ i ][ 0 ];\r
 \r
                                // Calculate the common parent node of all contained elements.\r
                                ancestor = currentNode.getParent();\r
-                               for ( j = 1; j < blockGroups[ i ].length; j++ )\r
+                               for ( j = 1; j < blockGroups[ i ].length; j++ ) {\r
                                        ancestor = ancestor.getCommonAncestor( blockGroups[ i ][ j ] );\r
+                               }\r
+\r
+                               // If there is no ancestor, mark editable as one (http://dev.ckeditor.com/ticket/13585).\r
+                               if ( !ancestor ) {\r
+                                       ancestor = editor.editable();\r
+                               }\r
 \r
                                divElement = new CKEDITOR.dom.element( 'div', editor.document );\r
 \r
                                for ( j = 0; j < blockGroups[ i ].length; j++ ) {\r
                                        currentNode = blockGroups[ i ][ j ];\r
 \r
-                                       while ( !currentNode.getParent().equals( ancestor ) )\r
+                                       // Check if the currentNode has a parent before attempting to operate on it (http://dev.ckeditor.com/ticket/13585).\r
+                                       while ( currentNode.getParent() && !currentNode.getParent().equals( ancestor ) ) {\r
                                                currentNode = currentNode.getParent();\r
+                                       }\r
 \r
                                        // This could introduce some duplicated elements in array.\r
                                        blockGroups[ i ][ j ] = currentNode;\r
                                                currentNode.is && CKEDITOR.dom.element.setMarker( database, currentNode, 'block_processed', true );\r
 \r
                                                // Establish new container, wrapping all elements in this group.\r
-                                               if ( !j )\r
+                                               if ( !j ) {\r
                                                        divElement.insertBefore( currentNode );\r
+                                               }\r
 \r
                                                divElement.append( currentNode );\r
                                        }\r
                                        lastDivLimit = limit;\r
                                        groups.push( [] );\r
                                }\r
-                               groups[ groups.length - 1 ].push( block );\r
+\r
+                               // Sometimes we got nodes that are not inside the DOM, which causes error (http://dev.ckeditor.com/ticket/13585).\r
+                               if ( block.getParent() ) {\r
+                                       groups[ groups.length - 1 ].push( block );\r
+                               }\r
                        }\r
+\r
                        return groups;\r
                }\r
 \r
                                        // it if no options are available at all.\r
                                        stylesField[ stylesField.items.length > 1 ? 'enable' : 'disable' ]();\r
 \r
-                                       // Now setup the field value manually if dialog was opened on element. (#9689)\r
+                                       // Now setup the field value manually if dialog was opened on element. (http://dev.ckeditor.com/ticket/9689)\r
                                        setTimeout( function() {\r
                                                dialog._element && stylesField.setup( dialog._element );\r
                                        }, 0 );\r
                                this.hide();\r
                        },\r
                        onHide: function() {\r
-                               // Remove style only when editing existing DIV. (#6315)\r
+                               // Remove style only when editing existing DIV. (http://dev.ckeditor.com/ticket/6315)\r
                                if ( command == 'editdiv' )\r
                                        this._element.removeCustomData( 'elementStyle' );\r
                                delete this._element;\r
diff --git a/sources/plugins/div/lang/es-mx.js b/sources/plugins/div/lang/es-mx.js
new file mode 100644 (file)
index 0000000..f3ef630
--- /dev/null
@@ -0,0 +1,19 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'div', 'es-mx', {\r
+       IdInputLabel: 'Id',\r
+       advisoryTitleInputLabel: 'Título del anuncio',\r
+       cssClassInputLabel: 'Clases de la hoja de estilos',\r
+       edit: 'Editar Div',\r
+       inlineStyleInputLabel: 'Estilo de línea',\r
+       langDirLTRLabel: 'Izquierda a Derecha (LTR)',\r
+       langDirLabel: 'Dirección de idiomas',\r
+       langDirRTLLabel: 'Derecha a Izquierda (RTL)',\r
+       languageCodeInputLabel: 'Código del idioma',\r
+       remove: 'Remover Div',\r
+       styleSelectLabel: 'Estilo',\r
+       title: 'Crear contenedor Div',\r
+       toolbar: 'Crear contenedor Div'\r
+} );\r
index 50abe0555d7a4db9a1ea49fc762ef071496e833f..263326e81dc9c6996b16ee58a8d284dd47290a95 100644 (file)
@@ -14,6 +14,6 @@ CKEDITOR.plugins.setLang( 'div', 'ja', {
        languageCodeInputLabel: ' 言語コード',\r
        remove: 'Divコンテナを削除',\r
        styleSelectLabel: 'スタイル',\r
-       title: 'Divコンテナ',\r
-       toolbar: 'Divコンテナ'\r
+       title: 'Divコンテナを作成',\r
+       toolbar: 'Divコンテナを作成'\r
 } );\r
index 5df020cf00b71c12f0243420d1c57a09db168267..554e2c42b8a1be194c2a2ff257cb952f09db7360 100644 (file)
@@ -7,11 +7,11 @@ CKEDITOR.plugins.setLang( 'div', 'pt', {
        advisoryTitleInputLabel: 'Título',\r
        cssClassInputLabel: 'Classes de folhas de estilo',\r
        edit: 'Editar Div',\r
-       inlineStyleInputLabel: 'Estilho em Linha',\r
+       inlineStyleInputLabel: 'Estilo na etiqueta',\r
        langDirLTRLabel: 'Esquerda para a direita (EPD)',\r
        langDirLabel: 'Orientação de idioma',\r
        langDirRTLLabel: 'Direita para a Esquerda (DPE)',\r
-       languageCodeInputLabel: 'Codigo do Idioma',\r
+       languageCodeInputLabel: 'Código do idioma',\r
        remove: 'Remover Div',\r
        styleSelectLabel: 'Estilo',\r
        title: 'Criar Div',\r
index dbced7286404a6210b15ef6b34761b4a11eae147..a64d9e9db9efe7bde01179146e004ce0ceaf8619 100644 (file)
@@ -12,7 +12,7 @@
        CKEDITOR.plugins.add( 'div', {\r
                requires: 'dialog',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'creatediv', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                getSurroundDiv: function( editor, start ) {\r
                        var path = editor.elementPath( start );\r
                        return editor.elementPath( path.blockLimit ).contains( function( node ) {\r
-                               // Avoid read-only (i.e. contenteditable="false") divs (#11083).\r
+                               // Avoid read-only (i.e. contenteditable="false") divs (http://dev.ckeditor.com/ticket/11083).\r
                                return node.is( 'div' ) && !node.isReadOnly();\r
                        }, 1 );\r
                }\r
diff --git a/sources/plugins/elementspath/lang/es-mx.js b/sources/plugins/elementspath/lang/es-mx.js
new file mode 100644 (file)
index 0000000..625d951
--- /dev/null
@@ -0,0 +1,8 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'elementspath', 'es-mx', {\r
+       eleLabel: 'Ruta de los elementos',\r
+       eleTitle: '%1 elemento'\r
+} );\r
index 90a7fd0ede3b063a98bfef69d2d523ee1284b524..004182b1e5319072532021dd52867b172645de1e 100644 (file)
@@ -3,6 +3,6 @@ Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license\r
 */\r
 CKEDITOR.plugins.setLang( 'elementspath', 'hr', {\r
-       eleLabel: 'Putanja elemenata',\r
+       eleLabel: 'Putanje elemenata',\r
        eleTitle: '%1 element'\r
 } );\r
index 07ba5c23ee70e29cb944fe18196864152426249b..f66d7adb07e6fafa98d13ee21d744465dd629734 100644 (file)
@@ -17,7 +17,7 @@
                                var idBase = editor._.elementsPath.idBase;\r
                                var element = CKEDITOR.document.getById( idBase + '0' );\r
 \r
-                               // Make the first button focus accessible for IE. (#3417)\r
+                               // Make the first button focus accessible for IE. (http://dev.ckeditor.com/ticket/3417)\r
                                // Adobe AIR instead need while of delay.\r
                                element && element.focus( CKEDITOR.env.ie || CKEDITOR.env.air );\r
                        }\r
@@ -55,7 +55,7 @@
 \r
        CKEDITOR.plugins.add( 'elementspath', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                init: function( editor ) {\r
                        editor._.elementsPath = {\r
                                selection.selectElement( element );\r
                        }\r
 \r
-                       // Explicitly fire selectionChange when clicking on an element path button. (#13548)\r
+                       // Explicitly fire selectionChange when clicking on an element path button. (http://dev.ckeditor.com/ticket/13548)\r
                        if ( CKEDITOR.env.ie ) {\r
                                editor.fire( 'selectionChange', { selection: selection, path: new CKEDITOR.dom.elementPath( element ) } );\r
                        }\r
 \r
                        // It is important to focus() *after* the above selection\r
-                       // manipulation, otherwise Firefox will have troubles. #10119\r
+                       // manipulation, otherwise Firefox will have troubles. http://dev.ckeditor.com/ticket/10119\r
                        editor.focus();\r
                }\r
 \r
                                filters = elementsPath.filters,\r
                                isContentEditable = true,\r
 \r
-                               // Use elementPath to consider children of editable only (#11124).\r
+                               // Use elementPath to consider children of editable only (http://dev.ckeditor.com/ticket/11124).\r
                                elementsChain = editor.elementPath().elements,\r
                                name;\r
 \r
index 9410bbdbc9015e6b6ab57184d6a0f091756585d9..e65555feb3059400259d3ab3443d8c4baacf2789 100644 (file)
@@ -43,7 +43,7 @@
                                return;\r
 \r
                        // When range is in nested editable, we have to replace range with this one,\r
-                       // which have root property set to closest editable, to make auto paragraphing work. (#12162)\r
+                       // which have root property set to closest editable, to make auto paragraphing work. (http://dev.ckeditor.com/ticket/12162)\r
                        range = replaceRangeWithClosestEditableRoot( range );\r
 \r
                        var doc = range.document;\r
@@ -58,9 +58,9 @@
 \r
                                newBlock;\r
 \r
-                       // Exit the list when we're inside an empty list item block. (#5376)\r
+                       // Exit the list when we're inside an empty list item block. (http://dev.ckeditor.com/ticket/5376)\r
                        if ( atBlockStart && atBlockEnd ) {\r
-                               // Exit the list when we're inside an empty list item block. (#5376)\r
+                               // Exit the list when we're inside an empty list item block. (http://dev.ckeditor.com/ticket/5376)\r
                                if ( block && ( block.is( 'li' ) || block.getParent().is( 'li' ) ) ) {\r
                                        // Make sure to point to the li when dealing with empty list item.\r
                                        if ( !block.is( 'li' ) )\r
 \r
                        var node;\r
 \r
-                       // If this is a block under a list item, split it as well. (#1647)\r
+                       // If this is a block under a list item, split it as well. (http://dev.ckeditor.com/ticket/1647)\r
                        if ( nextBlock ) {\r
                                node = nextBlock.getParent();\r
                                if ( node.is( 'li' ) ) {\r
                        if ( !isStartOfBlock && !isEndOfBlock ) {\r
                                // If the next block is an <li> with another list tree as the first\r
                                // child, we'll need to append a filler (<br>/NBSP) or the list item\r
-                               // wouldn't be editable. (#1420)\r
+                               // wouldn't be editable. (http://dev.ckeditor.com/ticket/1420)\r
                                if ( nextBlock.is( 'li' ) ) {\r
                                        var walkerRange = range.clone();\r
                                        walkerRange.selectNodeContents( nextBlock );\r
 \r
                                if ( previousBlock ) {\r
                                        // Do not enter this block if it's a header tag, or we are in\r
-                                       // a Shift+Enter (#77). Create a new block element instead\r
+                                       // a Shift+Enter (http://dev.ckeditor.com/ticket/77). Create a new block element instead\r
                                        // (later in the code).\r
                                        if ( previousBlock.is( 'li' ) || !( headerTagRegex.test( previousBlock.getName() ) || previousBlock.is( 'pre' ) ) ) {\r
                                                // Otherwise, duplicate the previous block.\r
                                }\r
 \r
                                if ( !newBlock ) {\r
-                                       // We have already created a new list item. (#6849)\r
+                                       // We have already created a new list item. (http://dev.ckeditor.com/ticket/6849)\r
                                        if ( node && node.is( 'li' ) )\r
                                                newBlock = node;\r
                                        else {\r
                                if ( !newBlock.getParent() )\r
                                        range.insertNode( newBlock );\r
 \r
-                               // list item start number should not be duplicated (#7330), but we need\r
-                               // to remove the attribute after it's onto the DOM tree because of old IEs (#7581).\r
+                               // list item start number should not be duplicated (http://dev.ckeditor.com/ticket/7330), but we need\r
+                               // to remove the attribute after it's onto the DOM tree because of old IEs (http://dev.ckeditor.com/ticket/7581).\r
                                newBlock.is( 'li' ) && newBlock.removeAttribute( 'value' );\r
 \r
                                // This is tricky, but to make the new block visible correctly\r
                        } else {\r
                                var lineBreak;\r
 \r
-                               // IE<8 prefers text node as line-break inside of <pre> (#4711).\r
+                               // IE<8 prefers text node as line-break inside of <pre> (http://dev.ckeditor.com/ticket/4711).\r
                                if ( startBlockTag == 'pre' && CKEDITOR.env.ie && CKEDITOR.env.version < 8 )\r
                                        lineBreak = doc.createText( '\r' );\r
                                else\r
        function shiftEnter( editor ) {\r
                // On SHIFT+ENTER:\r
                // 1. We want to enforce the mode to be respected, instead\r
-               // of cloning the current block. (#77)\r
+               // of cloning the current block. (http://dev.ckeditor.com/ticket/77)\r
                return enter( editor, editor.activeShiftEnterMode, 1 );\r
        }\r
 \r
                // Check path block specialities:\r
                // 1. Cannot be a un-splittable element, e.g. table caption;\r
                var path = editor.elementPath();\r
-               if ( !path.isContextFor( 'p' ) ) {\r
+\r
+               if ( path && !path.isContextFor( 'p' ) ) {\r
                        mode = CKEDITOR.ENTER_BR;\r
                        forceMode = 1;\r
                }\r
diff --git a/sources/plugins/fakeobjects/lang/es-mx.js b/sources/plugins/fakeobjects/lang/es-mx.js
new file mode 100644 (file)
index 0000000..f9e87e7
--- /dev/null
@@ -0,0 +1,11 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'fakeobjects', 'es-mx', {\r
+       anchor: 'Ancla',\r
+       flash: 'Animación flash',\r
+       hiddenfield: 'Campo oculto',\r
+       iframe: 'IFrame',\r
+       unknown: 'Objeto desconocido'\r
+} );\r
index d35698bfc65bba43e8c54f0c55fa343bc08fc3ea..b1a8e0ce6ba506ad04816660923071dd5b3f2516 100644 (file)
@@ -53,7 +53,7 @@
 \r
        CKEDITOR.plugins.add( 'fakeobjects', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
 \r
                init: function( editor ) {\r
        } );\r
 \r
        /**\r
+        * Creates fake {@link CKEDITOR.dom.element} based on real element.\r
+        * Fake element is an img with special attributes, which keep real element properties.\r
+        *\r
         * @member CKEDITOR.editor\r
-        * @todo\r
+        * @param {CKEDITOR.dom.element} realElement Real element to transform.\r
+        * @param {String} className Class name which will be used as class of fake element.\r
+        * @param {String} realElementType Stores type of fake element.\r
+        * @param {Boolean} isResizable Keeps information if element is resizable.\r
+        * @returns {CKEDITOR.dom.element} Fake element.\r
         */\r
        CKEDITOR.editor.prototype.createFakeElement = function( realElement, className, realElementType, isResizable ) {\r
                var lang = this.lang.fakeobjects,\r
@@ -91,7 +98,7 @@
                        align: realElement.getAttribute( 'align' ) || ''\r
                };\r
 \r
-               // Do not set "src" on high-contrast so the alt text is displayed. (#8945)\r
+               // Do not set "src" on high-contrast so the alt text is displayed. (http://dev.ckeditor.com/ticket/8945)\r
                if ( !CKEDITOR.env.hc )\r
                        attributes.src = CKEDITOR.tools.transparentImageData;\r
 \r
        };\r
 \r
        /**\r
+        * Creates fake {@link CKEDITOR.htmlParser.element} based on real element.\r
+        *\r
         * @member CKEDITOR.editor\r
-        * @todo\r
+        * @param {CKEDITOR.dom.element} realElement Real element to transform.\r
+        * @param {String} className Class name which will be used as class of fake element.\r
+        * @param {String} realElementType Store type of fake element.\r
+        * @param {Boolean} isResizable Keep information if element is resizable.\r
+        * @returns {CKEDITOR.htmlParser.element} Fake htmlParser element.\r
         */\r
        CKEDITOR.editor.prototype.createFakeParserElement = function( realElement, className, realElementType, isResizable ) {\r
                var lang = this.lang.fakeobjects,\r
                        align: realElement.attributes.align || ''\r
                };\r
 \r
-               // Do not set "src" on high-contrast so the alt text is displayed. (#8945)\r
+               // Do not set "src" on high-contrast so the alt text is displayed. (http://dev.ckeditor.com/ticket/8945)\r
                if ( !CKEDITOR.env.hc )\r
                        attributes.src = CKEDITOR.tools.transparentImageData;\r
 \r
        };\r
 \r
        /**\r
+        * Creates {@link CKEDITOR.dom.element} from fake element.\r
+        *\r
         * @member CKEDITOR.editor\r
-        * @todo\r
+        * @param {CKEDITOR.dom.element} fakeElement Fake element to transform.\r
+        * @returns {CKEDITOR.dom.element/null} Returns real element or `null` if transformed element wasn't fake.\r
         */\r
        CKEDITOR.editor.prototype.restoreRealElement = function( fakeElement ) {\r
                if ( fakeElement.data( 'cke-real-node-type' ) != CKEDITOR.NODE_ELEMENT )\r
index a622a3710bb288a98f0032f2ba3e3d325ea62565..51744f55d2bd218e433384b15f5a254b20fa6e81 100644 (file)
                        params.langCode = editor.langCode;\r
 \r
                var url = addQueryString( this.filebrowser.url, params );\r
-               // TODO: V4: Remove backward compatibility (#8163).\r
+               // TODO: V4: Remove backward compatibility (http://dev.ckeditor.com/ticket/8163).\r
                editor.popup( url, width, height, editor.config.filebrowserWindowFeatures || editor.config.fileBrowserWindowFeatures );\r
        }\r
 \r
index 878d95230e1976e92ba1310fb940484eb15cd9e2..bea3306343afb9f74f0cec3bf9a515fa986b19f4 100644 (file)
@@ -68,7 +68,7 @@
                                }\r
 \r
                                return function( evt ) {\r
-                                       // #10112 Do not fail on editable-less editor.\r
+                                       // http://dev.ckeditor.com/ticket/10112 Do not fail on editable-less editor.\r
                                        if ( !( editable = editor.editable() ) )\r
                                                return;\r
 \r
                                                alignSide = mid - editorRect.left > editorRect.right - mid ? 'left' : 'right';\r
                                        }\r
 \r
-                                       // (#9769) If viewport width is less than space width,\r
+                                       // (http://dev.ckeditor.com/ticket/9769) If viewport width is less than space width,\r
                                        // make sure space never cross the left boundary of the viewport.\r
                                        // In other words: top-left corner of the space is always visible.\r
                                        if ( spaceRect.width > viewRect.width ) {\r
                                                                offset = 0;\r
                                                }\r
 \r
-                                               // (#9769) Finally, stick the space to the opposite side of\r
+                                               // (http://dev.ckeditor.com/ticket/9769) Finally, stick the space to the opposite side of\r
                                                // the viewport when it's cut off horizontally on the left/right\r
                                                // side like below.\r
                                                //\r
                                        }\r
 \r
                                        // Pin mode is fixed, so don't include scroll-x.\r
-                                       // (#9903) For mode is "top" or "bottom", add opposite scroll-x for right-aligned space.\r
+                                       // (http://dev.ckeditor.com/ticket/9903) For mode is "top" or "bottom", add opposite scroll-x for right-aligned space.\r
                                        var scroll = mode == 'pin' ? 0 : alignSide == 'left' ? pageScrollX : -pageScrollX;\r
 \r
                                        floatSpace.setStyle( alignSide, pixelate( ( mode == 'pin' ? pinnedOffsetX : dockedOffsetX ) + offset + scroll ) );\r
index 1a851f97122e7002f0196f02d69c8b3793a5fb8e..c4806960c98944704d113b67731509ebe4af565b 100644 (file)
@@ -61,7 +61,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                iframe = element.getFirst(),\r
                                that = this;\r
 \r
-                       // Disable native browser menu. (#4825)\r
+                       // Disable native browser menu. (http://dev.ckeditor.com/ticket/4825)\r
                        element.disableContextMenu();\r
 \r
                        this.element = element;\r
@@ -83,7 +83,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                        editor.on( 'resize', hide );\r
 \r
                        // When resize of the window is triggered floatpanel should be repositioned according to new dimensions.\r
-                       // #11724. Fixes issue with undesired panel hiding on Android and iOS.\r
+                       // http://dev.ckeditor.com/ticket/11724. Fixes issue with undesired panel hiding on Android and iOS.\r
                        doc.getWindow().on( 'resize', function() {\r
                                this.reposition();\r
                        }, this );\r
@@ -155,7 +155,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                var element = this.element,\r
                                        iframe = this._.iframe,\r
-                                       // Edge prefers iframe's window to the iframe, just like the rest of the browsers (#13143).\r
+                                       // Edge prefers iframe's window to the iframe, just like the rest of the browsers (http://dev.ckeditor.com/ticket/13143).\r
                                        focused = CKEDITOR.env.ie && !CKEDITOR.env.edge ? iframe : new CKEDITOR.dom.window( iframe.$.contentWindow ),\r
                                        doc = element.getDocument(),\r
                                        positionedAncestor = this._.parentElement.getPositionedAncestor(),\r
@@ -165,7 +165,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                        left = position.x + ( offsetX || 0 ) - positionedAncestorPosition.x,\r
                                        top = position.y + ( offsetY || 0 ) - positionedAncestorPosition.y;\r
 \r
-                               // Floating panels are off by (-1px, 0px) in RTL mode. (#3438)\r
+                               // Floating panels are off by (-1px, 0px) in RTL mode. (http://dev.ckeditor.com/ticket/3438)\r
                                if ( rtl && ( corner == 1 || corner == 4 ) )\r
                                        left += offsetParent.$.offsetWidth;\r
                                else if ( !rtl && ( corner == 2 || corner == 3 ) )\r
@@ -198,7 +198,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                        // With addEventListener compatible browsers, we must\r
                                        // useCapture when registering the focus/blur events to\r
-                                       // guarantee they will be firing in all situations. (#3068, #3222 )\r
+                                       // guarantee they will be firing in all situations. (http://dev.ckeditor.com/ticket/3068, http://dev.ckeditor.com/ticket/3222 )\r
                                        CKEDITOR.event.useCapture = true;\r
 \r
                                        focused.on( 'blur', function( ev ) {\r
@@ -211,7 +211,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                                if ( this.visible && !this._.activeChild ) {\r
                                                        // [iOS] Allow hide to be prevented if touch is bound\r
-                                                       // to any parent of the iframe blur happens before touch (#10714).\r
+                                                       // to any parent of the iframe blur happens before touch (http://dev.ckeditor.com/ticket/10714).\r
                                                        if ( CKEDITOR.env.iOS ) {\r
                                                                if ( !this._.hideTimeout )\r
                                                                        this._.hideTimeout = CKEDITOR.tools.setTimeout( doHide, 0, this );\r
@@ -235,7 +235,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                        }, this );\r
 \r
                                        // [iOS] if touch is bound to any parent of the iframe blur\r
-                                       // happens twice before touchstart and before touchend (#10714).\r
+                                       // happens twice before touchstart and before touchend (http://dev.ckeditor.com/ticket/10714).\r
                                        if ( CKEDITOR.env.iOS ) {\r
                                                // Prevent false hiding on blur.\r
                                                // We don't need to return focus here because touchend will fire anyway.\r
@@ -266,7 +266,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                                var target = element;\r
 \r
                                                // Reset panel width as the new content can be narrower\r
-                                               // than the old one. (#9355)\r
+                                               // than the old one. (http://dev.ckeditor.com/ticket/9355)\r
                                                target.removeStyle( 'width' );\r
 \r
                                                if ( block.autoSize ) {\r
@@ -275,7 +275,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                                        // Account for extra height needed due to IE quirks box model bug:\r
                                                        // http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug\r
-                                                       // (#3426)\r
+                                                       // (http://dev.ckeditor.com/ticket/3426)\r
                                                        if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && width > 0 )\r
                                                                width += ( target.$.offsetWidth || 0 ) - ( target.$.clientWidth || 0 ) + 3;\r
 \r
@@ -288,7 +288,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                                        // Account for extra height needed due to IE quirks box model bug:\r
                                                        // http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug\r
-                                                       // (#3426)\r
+                                                       // (http://dev.ckeditor.com/ticket/3426)\r
                                                        if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && height > 0 )\r
                                                                height += ( target.$.offsetHeight || 0 ) - ( target.$.clientHeight || 0 ) + 3;\r
 \r
@@ -364,7 +364,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                                                // If IE is in RTL, we have troubles with absolute\r
                                                // position and horizontal scrolls. Here we have a\r
-                                               // series of hacks to workaround it. (#6146)\r
+                                               // series of hacks to workaround it. (http://dev.ckeditor.com/ticket/6146)\r
                                                if ( CKEDITOR.env.ie ) {\r
                                                        var offsetParent = new CKEDITOR.dom.element( element.$.offsetParent ),\r
                                                                scrollParent = offsetParent;\r
@@ -383,7 +383,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                                }\r
 \r
                                                // Trigger the onHide event of the previously active panel to prevent\r
-                                               // incorrect styles from being applied (#6170)\r
+                                               // incorrect styles from being applied (http://dev.ckeditor.com/ticket/6170)\r
                                                var innerElement = element.getFirst(),\r
                                                        activePanel;\r
                                                if ( ( activePanel = innerElement.getCustomData( 'activePanel' ) ) )\r
@@ -410,12 +410,22 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                                // Focus the block now.\r
                                                block.element.focus();\r
 \r
-                                               // #10623, #10951 - restore the viewport's scroll position after focusing list element.\r
+                                               // http://dev.ckeditor.com/ticket/10623, http://dev.ckeditor.com/ticket/10951 - restore the viewport's scroll position after focusing list element.\r
                                                if ( CKEDITOR.env.webkit )\r
                                                        CKEDITOR.document.getBody().$.scrollTop = scrollTop;\r
 \r
                                                // We need this get fired manually because of unfired focus() function.\r
                                                this.allowBlur( true );\r
+\r
+                                               // Ensure that the first item is focused (http://dev.ckeditor.com/ticket/16804).\r
+                                               if ( CKEDITOR.env.ie ) {\r
+                                                       CKEDITOR.tools.setTimeout( function() {\r
+                                                               block.markFirstDisplayed ? block.markFirstDisplayed() : block._.markFirstDisplayed();\r
+                                                       }, 0 );\r
+                                               } else {\r
+                                                       block.markFirstDisplayed ? block.markFirstDisplayed() : block._.markFirstDisplayed();\r
+                                               }\r
+\r
                                                this._.editor.fire( 'panelShow', this );\r
                                        }, 0, this );\r
                                }, CKEDITOR.env.air ? 200 : 0, this );\r
@@ -473,13 +483,13 @@ CKEDITOR.plugins.add( 'floatpanel', {
                        hide: function( returnFocus ) {\r
                                if ( this.visible && ( !this.onHide || this.onHide.call( this ) !== true ) ) {\r
                                        this.hideChild();\r
-                                       // Blur previously focused element. (#6671)\r
+                                       // Blur previously focused element. (http://dev.ckeditor.com/ticket/6671)\r
                                        CKEDITOR.env.gecko && this._.iframe.getFrameDocument().$.activeElement.blur();\r
                                        this.element.setStyle( 'display', 'none' );\r
                                        this.visible = 0;\r
                                        this.element.getFirst().removeCustomData( 'activePanel' );\r
 \r
-                                       // Return focus properly. (#6247)\r
+                                       // Return focus properly. (http://dev.ckeditor.com/ticket/6247)\r
                                        var focusReturn = returnFocus && this._.returnFocus;\r
                                        if ( focusReturn ) {\r
                                                // Webkit requires focus moved out panel iframe first.\r
@@ -500,7 +510,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                         * @todo\r
                         */\r
                        allowBlur: function( allow ) {\r
-                               // Prevent editor from hiding the panel. (#3222)\r
+                               // Prevent editor from hiding the panel. (http://dev.ckeditor.com/ticket/3222)\r
                                var panel = this._.panel;\r
                                if ( allow !== undefined )\r
                                        panel.allowBlur = allow;\r
@@ -553,7 +563,7 @@ CKEDITOR.plugins.add( 'floatpanel', {
                                panel.showBlock( blockName, offsetParent, corner, offsetX, offsetY );\r
                                this.blur();\r
 \r
-                               /* #3767 IE: Second level menu may not have borders */\r
+                               /* http://dev.ckeditor.com/ticket/3767 IE: Second level menu may not have borders */\r
                                if ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) {\r
                                        setTimeout( function() {\r
                                                panel.element.getChild( 0 ).$.style.cssText += '';\r
@@ -584,10 +594,10 @@ CKEDITOR.plugins.add( 'floatpanel', {
 \r
                for ( var i in panels ) {\r
                        var panel = panels[ i ];\r
-                       // Safe to destroy it since there're no more instances.(#4241)\r
+                       // Safe to destroy it since there're no more instances.(http://dev.ckeditor.com/ticket/4241)\r
                        if ( isLastInstance )\r
                                panel.destroy();\r
-                       // Panel might be used by other instances, just hide them.(#4552)\r
+                       // Panel might be used by other instances, just hide them.(http://dev.ckeditor.com/ticket/4552)\r
                        else\r
                                panel.element.hide();\r
                }\r
diff --git a/sources/plugins/font/lang/es-mx.js b/sources/plugins/font/lang/es-mx.js
new file mode 100644 (file)
index 0000000..5d4cdcf
--- /dev/null
@@ -0,0 +1,14 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'font', 'es-mx', {\r
+       fontSize: {\r
+               label: 'Tamaño',\r
+               voiceLabel: 'Tamaño de letra',\r
+               panelTitle: 'Tamaño de letra'\r
+       },\r
+       label: 'Letra',\r
+       panelTitle: 'Nombre de letra',\r
+       voiceLabel: 'Letra'\r
+} );\r
index 0313aa3d1d0fdc5583c16fcb6dfb7934ce93e88d..669169c189d7a318be0609f770897f27dd558883 100644 (file)
@@ -9,6 +9,6 @@ CKEDITOR.plugins.setLang( 'font', 'hr', {
                panelTitle: 'Veličina'\r
        },\r
        label: 'Font',\r
-       panelTitle: 'Font',\r
+       panelTitle: 'Naziv fonta',\r
        voiceLabel: 'Font'\r
 } );\r
index 8794d89186aba48a508d8613e24006c40c45fadb..fe5f47e1be7aa3ce838d254c852df9eeaf66e805 100644 (file)
                                var previousValue = this.getValue(),\r
                                        style = styles[ value ];\r
 \r
-                               // When applying one style over another, first remove the previous one (#12403).\r
-                               // NOTE: This is only a temporary fix. It will be moved to the styles system (#12687).\r
+                               // When applying one style over another, first remove the previous one (http://dev.ckeditor.com/ticket/12403).\r
+                               // NOTE: This is only a temporary fix. It will be moved to the styles system (http://dev.ckeditor.com/ticket/12687).\r
                                if ( previousValue && value != previousValue ) {\r
                                        var previousStyle = styles[ previousValue ],\r
                                                range = editor.getSelection().getRanges()[ 0 ];\r
        CKEDITOR.plugins.add( 'font', {\r
                requires: 'richcombo',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                init: function( editor ) {\r
                        var config = editor.config;\r
diff --git a/sources/plugins/format/lang/es-mx.js b/sources/plugins/format/lang/es-mx.js
new file mode 100644 (file)
index 0000000..d311012
--- /dev/null
@@ -0,0 +1,18 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'format', 'es-mx', {\r
+       label: 'Formato',\r
+       panelTitle: 'Formato de párrafo',\r
+       tag_address: 'Dirección',\r
+       tag_div: 'Normal (DIV)',\r
+       tag_h1: 'Encabezado 1',\r
+       tag_h2: 'Encabezado 2',\r
+       tag_h3: 'Encabezado 3',\r
+       tag_h4: 'Encabezado 4',\r
+       tag_h5: 'Encabezado 5',\r
+       tag_h6: 'Encabezado 6',\r
+       tag_p: 'Normal',\r
+       tag_pre: 'Formateado'\r
+} );\r
index 2d6ec21c0650e2b7dcf57ba9352e468bcd794e85..fbafb0e6172a829373e5c6f5bd926d9746cc7f04 100644 (file)
@@ -4,15 +4,15 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
 */\r
 CKEDITOR.plugins.setLang( 'format', 'hr', {\r
        label: 'Format',\r
-       panelTitle: 'Format',\r
-       tag_address: 'Address',\r
-       tag_div: 'Normal (DIV)',\r
-       tag_h1: 'Heading 1',\r
-       tag_h2: 'Heading 2',\r
-       tag_h3: 'Heading 3',\r
-       tag_h4: 'Heading 4',\r
-       tag_h5: 'Heading 5',\r
-       tag_h6: 'Heading 6',\r
-       tag_p: 'Normal',\r
+       panelTitle: 'Format paragrafa',\r
+       tag_address: 'Adresa',\r
+       tag_div: 'Normalno (DIV)',\r
+       tag_h1: 'Naslov 1',\r
+       tag_h2: 'Naslov 2',\r
+       tag_h3: 'Naslov 3',\r
+       tag_h4: 'Naslov 4',\r
+       tag_h5: 'Naslov 5',\r
+       tag_h6: 'Naslov 6',\r
+       tag_p: 'Normalno',\r
        tag_pre: 'Formatirano'\r
 } );\r
index 826cbcf8f7c67e74579a185cc9da1f1a9213a624..54d43caa716aecabe798074d986c933ce40dfc69 100644 (file)
@@ -6,7 +6,7 @@
 CKEDITOR.plugins.add( 'format', {\r
        requires: 'richcombo',\r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
        init: function( editor ) {\r
                if ( editor.blockless )\r
@@ -69,7 +69,7 @@ CKEDITOR.plugins.add( 'format', {
 \r
                                editor[ style.checkActive( elementPath, editor ) ? 'removeStyle' : 'applyStyle' ]( style );\r
 \r
-                               // Save the undo snapshot after all changes are affected. (#4899)\r
+                               // Save the undo snapshot after all changes are affected. (http://dev.ckeditor.com/ticket/4899)\r
                                setTimeout( function() {\r
                                        editor.fire( 'saveSnapshot' );\r
                                }, 0 );\r
diff --git a/sources/plugins/horizontalrule/lang/es-mx.js b/sources/plugins/horizontalrule/lang/es-mx.js
new file mode 100644 (file)
index 0000000..9c389cc
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'horizontalrule', 'es-mx', {\r
+       toolbar: 'Insertar una línea horizontal'\r
+} );\r
index 6e52c31ddb067595265daa78d86c6621aee9bae5..6f2186c48f90cb93ecabc78196bb0dd301c89d23 100644 (file)
@@ -24,7 +24,7 @@
        // Register a plugin named "horizontalrule".\r
        CKEDITOR.plugins.add( pluginName, {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'horizontalrule', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
index 0ab0d7d1ace81f8a67694c6b809604dd05b6e0eb..47de947a3b06b2fea5ef81b329fd1f8e64d75ca8 100644 (file)
                         commit: function( widget ) {\r
                             widget.setData( 'autoplay', this.getValue() );\r
                         }\r
+                    },\r
+                    {\r
+                        type: 'radio',\r
+                        id: 'allowdownload',\r
+                        label: editor.lang.html5audio.allowdownload,\r
+                        items: [\r
+                            [editor.lang.html5audio.yes, 'yes'],\r
+                            [editor.lang.html5audio.no, 'no']\r
+                        ],\r
+                        'default': 'no',\r
+                        setup: function( widget ) {\r
+                            if ( widget.data.allowdownload ) {\r
+                                this.setValue(widget.data.allowdownload);\r
+                            }\r
+                        },\r
+                        commit: function( widget ) {\r
+                            widget.setData( 'allowdownload', this.getValue() );\r
+                        }\r
                     } ]\r
                 } ]\r
             } ]\r
index e084a60e89a3bc9ddd42ee20f40f9c615dc28029..e779745ac0a5f435be0864b9339b91ab6657a163 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Zum Server senden',\r
     advanced: 'Erweitert',\r
     autoplay: 'Autoplay?',\r
+    allowdownload: 'Download zulassen?',\r
     yes: 'Ja',\r
     no: 'Nein'\r
 } );\r
diff --git a/sources/plugins/html5audio/lang/el.js b/sources/plugins/html5audio/lang/el.js
new file mode 100644 (file)
index 0000000..a7d2f84
--- /dev/null
@@ -0,0 +1,14 @@
+CKEDITOR.plugins.setLang( 'html5audio', 'el', {\r
+    button: 'Προσθέστε HTML5 ήχο',\r
+    title: 'HTML5 ήχος',\r
+    infoLabel: 'Πληροφορίες ήχου',\r
+    urlMissing: 'Η πηγή URL ήχου απουσιάζει.',\r
+    audioProperties: 'Ιδιότητες ήχου',\r
+    upload: 'Upload',\r
+    btnUpload: 'Αποστολή στον διακομιστή',\r
+    advanced: 'Προχωρημένα',\r
+    autoplay: 'Αυτόματη αναπαραγωγή;',\r
+    allowdownload: 'Επιτρέψτε τη λήψη;',\r
+    yes: 'Ναι',\r
+    no: 'Όχι'\r
+} );\r
index fffce1e499b794a516f51c0307e0deb679f0ef04..63e8c401e942d82eecfc06d9b22ad9a01759a7a7 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Send it to the server',\r
     advanced: 'Advanced',\r
     autoplay: 'Autoplay?',\r
+    allowdownload: 'Allow download?',\r
     yes: 'Yes',\r
     no: 'No'\r
 } );\r
index f1aec8eb0d104a5c9233d08f530d04e03f4a3716..a9dd960a6975e8963356faed469c14e457637e52 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Enviar al servidor',\r
     advanced: 'Avanzado',\r
     autoplay: '¿Reproducir automáticamente?',\r
+    allowdownload: '¿Permitir la descarga?',\r
     yes: 'Si',\r
     no: 'No'\r
 } );\r
index 9275d8842b4d9d991015a469582eb8d9c700b694..5a7d103286cbbc9adb6cf3f07bde6e2fb7995dae 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Bidali zerbitzarira',\r
     advanced: 'Aurreratua',\r
     autoplay: 'Automatikoki erreproduzitu?',\r
+    allowdownload: 'Baimendu deskargatzea?',\r
     yes: 'Bai',\r
     no: 'Ez'\r
 } );\r
index b9fa4af99c9eb0cfbc354e0b9827032f5402e81f..51103f2a1aad052d73c0521785b6134e498a5ee9 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Envoyer vers le serveur',\r
     advanced: 'Avancé',\r
     autoplay: 'Jouer automatiquement ?',\r
+    allowdownload: 'Autoriser le téléchargement?',\r
     yes: 'Oui',\r
     no: 'Non'\r
 } );\r
index 94be193e50733fd8ae9d59e272af5e38dd261245..7060753d4c5d6ea0408d14bdebcbec4035947e1f 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Загрузить на сервер',\r
     advanced: 'Дополнительно',\r
     autoplay: 'Автовоспроизведение',\r
+    allowdownload: 'Разрешить загрузку',\r
     yes: 'Да',\r
     no: 'Нет'\r
 } );\r
index 6e050f19c02bc6e7a9881797868b8ebe76e3bf75..3d10fd00d9a86f7f062925540bba6c2fabc676ec 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Відвантажити на сервер',\r
     advanced: 'Додатково',\r
     autoplay: 'Автовідтворення?',\r
+    allowdownload: 'Дозволити завантажити?',\r
     yes: 'Так',\r
     no: 'Ні'\r
 } );\r
index 8827b538061ec8d90bae1bbc855af8ff99e3fb32..c21b2c6dbcb301b6ff47bbfb233bf09b80a6f495 100644 (file)
@@ -8,6 +8,7 @@
     btnUpload: 'Serverga jo‘natish',\r
     advanced: 'Kengaytrilgan',\r
     autoplay: 'Avtoijro?',\r
+    allowdownload: 'Yuklab olish uchun ruxsat berilsinmi?',\r
     yes: 'Ha',\r
     no: 'Yo‘q'\r
 } );\r
diff --git a/sources/plugins/html5audio/lang/zh-cn.js b/sources/plugins/html5audio/lang/zh-cn.js
new file mode 100644 (file)
index 0000000..018ffb0
--- /dev/null
@@ -0,0 +1,14 @@
+CKEDITOR.plugins.setLang( 'html5audio', 'zh-cn', {\r
+    button: '插入HTML5音频',\r
+    title: 'HTML5 音频',\r
+    infoLabel: '音频信息',\r
+    urlMissing: '音频URL',\r
+    audioProperties: '音频属性',\r
+    upload: '上传',\r
+    btnUpload: '上传到服务器',\r
+    advanced: '高级',\r
+    autoplay: '自动播放?',\r
+    allowdownload: '允许下载?',\r
+    yes: '是',\r
+    no: '否'\r
+} );\r
index 86bcfbd32e5494754ef9f23a7cbb90fbfb07a173..7d0d8868c181caa238c6753a5767e68d0f7e31c3 100644 (file)
@@ -1,6 +1,6 @@
 CKEDITOR.plugins.add( 'html5audio', {\r
     requires: 'widget',\r
-    lang: 'de,en,eu,es,fr,ru,uk,uz',\r
+    lang: 'de,el,en,eu,es,fr,ru,uk,uz,zh-cn',\r
     icons: 'html5audio',\r
     init: function( editor ) {\r
         editor.widgets.add( 'html5audio', {\r
@@ -13,7 +13,7 @@
              *  - div-s with text-align,float,margin-left,margin-right inline style rules and required ckeditor-html5-audio class.\r
              *  - audio tags with src and controls attributes.\r
              */\r
-            allowedContent: 'div(!ckeditor-html5-audio){text-align,float,margin-left,margin-right}; audio[src,controls,autoplay];',\r
+            allowedContent: 'div(!ckeditor-html5-audio){text-align,float,margin-left,margin-right}; audio[src,controls,controlslist,autoplay];',\r
             requiredContent: 'div(ckeditor-html5-audio); audio[src,controls];',\r
             upcast: function( element ) {\r
                 return element.name === 'div' && element.hasClass( 'ckeditor-html5-audio' );\r
@@ -29,6 +29,7 @@
                     // get it's attributes.\r
                     src = this.element.getChild( 0 ).getAttribute( 'src' );\r
                     autoplay = this.element.getChild( 0 ).getAttribute( 'autoplay' );\r
+                    allowdownload = !this.element.getChild( 0 ).getAttribute( 'controlslist' );\r
                 }\r
 \r
                 if ( src ) {\r
                     if ( autoplay ) {\r
                         this.setData( 'autoplay', 'yes' );\r
                     }\r
+\r
+                    if ( allowdownload ) {\r
+                        this.setData( 'allowdownload', 'yes' );\r
+                    }\r
                 }\r
             },\r
             data: function() {\r
                     } else {\r
                         this.element.getChild( 0 ).removeAttribute( 'autoplay' );\r
                     }\r
+                    if ( this.data.allowdownload === 'yes' ) {\r
+                        this.element.getChild( 0 ).removeAttribute( 'controlslist' );\r
+                    } else {\r
+                        this.element.getChild( 0 ).setAttribute( 'controlslist', 'nodownload' );\r
+                    }\r
                 }\r
             }\r
         } );\r
index 99f89c365314f23259fd59b15cb101eb94bf9540..76799e7744529d52d99a41bc0c45816b31eea052 100644 (file)
                     } ]\r
                 } ]\r
             },\r
+            {\r
+                type: 'checkbox',\r
+                id: 'responsive',\r
+                label: editor.lang.html5video.responsive,\r
+                setup: function( widget ) {\r
+                    this.setValue( widget.data.responsive );\r
+                },\r
+                commit: function( widget ) {\r
+                    widget.setData( 'responsive', this.getValue()?'true':'' );\r
+                }\r
+            },\r
             {\r
                 type: 'hbox',\r
                 id: 'size',\r
@@ -47,7 +58,6 @@
                     type: 'text',\r
                     id: 'width',\r
                     label: editor.lang.common.width,\r
-                    'default': 400,\r
                     setup: function( widget ) {\r
                         if ( widget.data.width ) {\r
                             this.setValue( widget.data.width );\r
@@ -61,7 +71,6 @@
                     type: 'text',\r
                     id: 'height',\r
                     label: editor.lang.common.height,\r
-                    'default': 300,\r
                     setup: function( widget ) {\r
                         if ( widget.data.height ) {\r
                             this.setValue( widget.data.height );\r
index ebac6e5d42930de62790f3f07298da8e8dcd84ed..40eae124be95200a73c1b08e5762f2d7d9c67d74 100644 (file)
@@ -10,5 +10,6 @@
     advanced: 'Advanced',\r
     autoplay: 'Autoplay?',\r
     yes: 'Yes',\r
-    no: 'No'\r
+    no: 'No',\r
+       responsive: 'Responsive width'\r
 } );\r
index 5eeeba66242af5214bfbcf271129a081c9770b9e..cd5a1956a3b678a25f5b3f6b672f4829e36ecb41 100644 (file)
@@ -10,5 +10,6 @@
     advanced: 'Дополнительно',\r
     autoplay: 'Автовоспроизведение',\r
     yes: 'Да',\r
-    no: 'Нет'\r
+    no: 'Нет',\r
+    responsive: 'Адаптивная ширина'\r
 } );\r
index 1bfff7f9b518c6236b3354d3335318b54ad4b463..bf512852da7d389a8516a1de920e3c91b8236527 100644 (file)
@@ -9,9 +9,9 @@
             /*\r
              * Allowed content rules (http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules):\r
              *  - div-s with text-align,float,margin-left,margin-right inline style rules and required ckeditor-html5-video class.\r
-             *  - video tags with src and controls attributes.\r
+             *  - video tags with src, controls, width and height attributes.\r
              */\r
-            allowedContent: 'div(!ckeditor-html5-video){text-align,float,margin-left,margin-right}; video[src,controls,autoplay];',\r
+            allowedContent: 'div[data-responsive](!ckeditor-html5-video){text-align,float,margin-left,margin-right}; video[src,controls,autoplay,width, height]{max-width,height};',\r
             requiredContent: 'div(ckeditor-html5-video); video[src,controls];',\r
             upcast: function( element ) {\r
                 return element.name === 'div' && element.hasClass( 'ckeditor-html5-video' );\r
@@ -32,6 +32,7 @@
                     width = this.element.getChild( 0 ).getAttribute( 'width' );\r
                     height = this.element.getChild( 0 ).getAttribute( 'height' );\r
                     autoplay = this.element.getChild( 0 ).getAttribute( 'autoplay' );\r
+                                                                               responsive = this.element.getAttribute( 'data-responsive' );\r
                 }\r
 \r
                 if ( src ) {\r
 \r
                     if ( width ) {\r
                         this.setData( 'width', width );\r
-                    } else {\r
-                        this.setData( 'width', '400' );\r
                     }\r
 \r
                     if ( height ) {\r
                         this.setData( 'height', height );\r
-                    } else {\r
-                        this.setData( 'height', '300' );\r
                     }\r
 \r
                     if ( autoplay ) {\r
                         this.setData( 'autoplay', 'yes' );\r
                     }\r
+\r
+                    if ( responsive ) {\r
+                        this.setData( 'responsive', responsive );\r
+                    }\r
                 }\r
             },\r
             data: function() {\r
                         // Append it to the container of the plugin.\r
                         this.element.append( videoElement );\r
                     }\r
-                    this.element.getChild( 0 ).setAttribute( 'src', this.data.src )\r
-                        .setAttribute( 'width', this.data.width )\r
-                        .setAttribute( 'height', this.data.height );\r
+                    this.element.getChild( 0 ).setAttribute( 'src', this.data.src );\r
+                    if (this.data.width) this.element.getChild( 0 ).setAttribute( 'width', this.data.width );\r
+                    if (this.data.height) this.element.getChild( 0 ).setAttribute( 'height', this.data.height );\r
+\r
+                    if ( this.data.responsive ) {\r
+                            this.element.setAttribute("data-responsive", this.data.responsive);\r
+                            this.element.getChild( 0 ).setStyle( 'max-width', '100%' );\r
+                            this.element.getChild( 0 ).setStyle( 'height', 'auto' );\r
+                    } else {\r
+                            this.element.getChild( 0 ).removeStyle( 'max-width' );\r
+                            this.element.getChild( 0 ).removeStyle( 'height' );\r
+                    }\r
                 }\r
 \r
                 this.element.removeStyle( 'float' );\r
index b6d27165814dd93f2eae9f5c4f77ca76e2dac219..61d6ac64300bd8afffa6eb72135e2976f87a0534 100644 (file)
@@ -69,7 +69,7 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass( {
 \r
                this._.indent = 0;\r
                this._.indentation = '';\r
-               // Indicate preformatted block context status. (#5789)\r
+               // Indicate preformatted block context status. (http://dev.ckeditor.com/ticket/5789)\r
                this._.inPre = 0;\r
                this._.rules = {};\r
 \r
@@ -180,7 +180,7 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass( {
 \r
                        if ( typeof attValue == 'string' ) {\r
                                this.forceSimpleAmpersand && ( attValue = attValue.replace( /&amp;/g, '&' ) );\r
-                               // Browsers don't always escape special character in attribute values. (#4683, #4719).\r
+                               // Browsers don't always escape special character in attribute values. (http://dev.ckeditor.com/ticket/4683, http://dev.ckeditor.com/ticket/4719).\r
                                attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );\r
                        }\r
 \r
index bb39bdfb6332878ee723d8956bc7cf7dc32b8cee..22c24f7a098999275067ef0e867fcfa29823d00e 100644 (file)
@@ -65,7 +65,7 @@
 \r
                                // A subset of the specified attributes/styles\r
                                // should also be applied on the fake element to\r
-                               // have better visual effect. (#5240)\r
+                               // have better visual effect. (http://dev.ckeditor.com/ticket/5240)\r
                                var extraStyles = {},\r
                                        extraAttributes = {};\r
                                this.commitContent( iframeNode, extraStyles, extraAttributes );\r
diff --git a/sources/plugins/iframe/lang/es-mx.js b/sources/plugins/iframe/lang/es-mx.js
new file mode 100644 (file)
index 0000000..767147e
--- /dev/null
@@ -0,0 +1,11 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'iframe', 'es-mx', {\r
+       border: 'Mostrar el borde del marco',\r
+       noUrl: 'Ingresa la URL del iframe',\r
+       scrolling: 'Habilitar la barra de desplazamiento',\r
+       title: 'Propiedades del IFrame',\r
+       toolbar: 'Iframe'\r
+} );\r
index 986e000553e6c4e0851ea41b1d221c01814887cf..9f289a7f313eeea0d9c3dbce81b9777f294258fb 100644 (file)
@@ -4,7 +4,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
 */\r
 CKEDITOR.plugins.setLang( 'iframe', 'hr', {\r
        border: 'Prikaži okvir IFrame-a',\r
-       noUrl: 'Unesite URL iframe-a',\r
+       noUrl: 'Unesite URL IFrame-a',\r
        scrolling: 'Omogući trake za skrolanje',\r
        title: 'IFrame svojstva',\r
        toolbar: 'IFrame'\r
index 52c816aee3a2b85be24df89c8d5378659be8d84c..7c479c0784fc92ecdc9d1a5937133c14e9908db3 100644 (file)
@@ -7,7 +7,7 @@
        CKEDITOR.plugins.add( 'iframe', {\r
                requires: 'dialog,fakeobjects',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'iframe', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
index 7d7537a018d989d5c5b3ab1dfb6e94bc91942f8e..5302a7c77a341a05978427b557e491faf2627f02 100644 (file)
 \r
                                        var oImageOriginal = dialog.originalElement;\r
 \r
-                                       // Dialog may already closed. (#5505)\r
+                                       // Dialog may already closed. (http://dev.ckeditor.com/ticket/5505)\r
                                        if ( !oImageOriginal )\r
                                                return null;\r
 \r
                                        this.firstLoad = false;\r
                                        this.dontResetSize = false;\r
 \r
-                                       // Possible fix for #12818.\r
+                                       // Possible fix for http://dev.ckeditor.com/ticket/12818.\r
                                        updatePreview( this );\r
                                };\r
 \r
                                                this.linkEditMode = true;\r
 \r
                                                // If there is an existing link, by default keep it (true).\r
-                                               // It will be removed if certain conditions are met and Link tab is enabled. (#13351)\r
+                                               // It will be removed if certain conditions are met and Link tab is enabled. (http://dev.ckeditor.com/ticket/13351)\r
                                                this.addLink = true;\r
 \r
                                                // Look for Image element.\r
                                                                                this.getDialog().dontResetSize = true;\r
 \r
                                                                                field.setValue( url ); // And call this.onChange()\r
-                                                                               // Manually set the initial value.(#4191)\r
+                                                                               // Manually set the initial value.(http://dev.ckeditor.com/ticket/4191)\r
                                                                                field.setInitValue();\r
                                                                        }\r
                                                                },\r
diff --git a/sources/plugins/image/lang/es-mx.js b/sources/plugins/image/lang/es-mx.js
new file mode 100644 (file)
index 0000000..dc9b24c
--- /dev/null
@@ -0,0 +1,25 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'image', 'es-mx', {\r
+       alt: 'Texto alternativo',\r
+       border: 'Borde',\r
+       btnUpload: 'Enviar al servidor',\r
+       button2Img: '¿Desea transformar el botón de imagen seleccionado en una imagen simple?',\r
+       hSpace: 'Espacio horizontal',\r
+       img2Button: '¿Desea transformar la imagen seleccionada en un botón de imagen?',\r
+       infoTab: 'Información de imagen',\r
+       linkTab: 'Enlace',\r
+       lockRatio: 'Bloquear aspecto',\r
+       menu: 'Propiedades de la imagen',\r
+       resetSize: 'Reiniciar tamaño',\r
+       title: 'Propiedades de la imagen',\r
+       titleButton: 'Propiedades del botón de imagen',\r
+       upload: 'Cargar',\r
+       urlMissing: 'Falta la URL de origen de la imagen.',\r
+       vSpace: 'Espacio vertical',\r
+       validateBorder: 'El borde debe ser un número entero.',\r
+       validateHSpace: 'El espacio horizontal debe ser un número entero.',\r
+       validateVSpace: 'El espacio vertical debe ser un número entero.'\r
+} );\r
index 8c272eb1d5a9c296cf5b2edfa24e5e1be0c5e48c..962533a039d88fe505cc0d1ca4a8601bd58c7e1d 100644 (file)
@@ -10,7 +10,7 @@ CKEDITOR.plugins.setLang( 'image', 'hr', {
        hSpace: 'HSpace',\r
        img2Button: 'Želite li promijeniti odabranu sliku u gumb?',\r
        infoTab: 'Info slike',\r
-       linkTab: 'Link',\r
+       linkTab: 'Veza',\r
        lockRatio: 'Zaključaj odnos',\r
        menu: 'Svojstva slika',\r
        resetSize: 'Obriši veličinu',\r
index 2b8f50c7cd23a7c7981ae08d9d452d0f992d2c64..729c48e861a6572ea37bc3417c397647a072446d 100644 (file)
@@ -6,9 +6,9 @@ CKEDITOR.plugins.setLang( 'image', 'pt', {
        alt: 'Texto alternativo',\r
        border: 'Limite',\r
        btnUpload: 'Enviar para o servidor',\r
-       button2Img: 'Deseja transformar o botão com imagem selecionado em uma imagem?',\r
+       button2Img: 'Deseja transformar o botão com imagem selecionado numa imagem simples?',\r
        hSpace: 'Esp. Horiz',\r
-       img2Button: 'Deseja transformar a imagem selecionada em um botão com imagem?',\r
+       img2Button: 'Deseja transformar a imagem selecionada num botão com imagem?',\r
        infoTab: 'Informação da imagem',\r
        linkTab: 'Hiperligação',\r
        lockRatio: 'Proporcional',\r
@@ -17,9 +17,9 @@ CKEDITOR.plugins.setLang( 'image', 'pt', {
        title: 'Propriedades da imagem',\r
        titleButton: 'Propriedades do botão de imagem',\r
        upload: 'Carregar',\r
-       urlMissing: 'O URL da fonte da imagem está em falta.',\r
+       urlMissing: 'O URL de origem da imagem está em falta.',\r
        vSpace: 'Esp. Vert',\r
-       validateBorder: 'A borda tem de ser um numero.',\r
+       validateBorder: 'A borda tem de ser um número inteiro.',\r
        validateHSpace: 'HSpace tem de ser um numero.',\r
        validateVSpace: 'VSpace tem de ser um numero.'\r
 } );\r
index 13945102e1da27af5b8574886e575739641f3c61..507ce0a98ba16e3252906c78dadc747b7cde21a8 100644 (file)
        CKEDITOR.plugins.add( 'image', {\r
                requires: 'dialog',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'image', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                init: function( editor ) {\r
                        // Abort when Image2 is to be loaded since both plugins\r
-                       // share the same button, command, etc. names (#11222).\r
+                       // share the same button, command, etc. names (http://dev.ckeditor.com/ticket/11222).\r
                        if ( editor.plugins.image2 )\r
                                return;\r
 \r
                },\r
                afterInit: function( editor ) {\r
                        // Abort when Image2 is to be loaded since both plugins\r
-                       // share the same button, command, etc. names (#11222).\r
+                       // share the same button, command, etc. names (http://dev.ckeditor.com/ticket/11222).\r
                        if ( editor.plugins.image2 )\r
                                return;\r
 \r
-                       // Customize the behavior of the alignment commands. (#7430)\r
+                       // Customize the behavior of the alignment commands. (http://dev.ckeditor.com/ticket/7430)\r
                        setupAlignCommand( 'left' );\r
                        setupAlignCommand( 'right' );\r
                        setupAlignCommand( 'center' );\r
diff --git a/sources/plugins/indent/lang/es-mx.js b/sources/plugins/indent/lang/es-mx.js
new file mode 100644 (file)
index 0000000..8a6e549
--- /dev/null
@@ -0,0 +1,8 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'indent', 'es-mx', {\r
+       indent: 'Incrementar sangría',\r
+       outdent: 'Decrementar sangría'\r
+} );\r
index 0e887cf7740438ff9cc5b8053c5c571094781e13..900e3432406c342269f7f779e922db8906f59ba1 100644 (file)
@@ -15,7 +15,7 @@
 \r
        CKEDITOR.plugins.add( 'indent', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'indent,indent-rtl,outdent,outdent-rtl', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
index 15c661f18bfa349c883463978caf540215c21756..0ee30c05844fd3c49cc03834eb088b1c89e02f1a 100644 (file)
                                // Indent and outdent lists with TAB/SHIFT+TAB key. Indenting can\r
                                // be done for any list item that isn't the first child of the parent.\r
                                editor.on( 'key', function( evt ) {\r
+                                       var path = editor.elementPath();\r
+\r
                                        if ( editor.mode != 'wysiwyg' )\r
                                                return;\r
 \r
                                        if ( evt.data.keyCode == this.indentKey ) {\r
-                                               var list = this.getContext( editor.elementPath() );\r
+                                               // Prevent of getting context of empty path (#424)(https://dev.ckeditor.com/ticket/17028).\r
+                                               if ( !path ) {\r
+                                                       return;\r
+                                               }\r
+\r
+                                               var list = this.getContext( path );\r
 \r
                                                if ( list ) {\r
                                                        // Don't indent if in first list item of the parent.\r
                                                        // Outdent, however, can always be done to collapse\r
                                                        // the list into a paragraph (div).\r
-                                                       if ( this.isIndent && CKEDITOR.plugins.indentList.firstItemInPath( this.context, editor.elementPath(), list ) )\r
+                                                       if ( this.isIndent && CKEDITOR.plugins.indentList.firstItemInPath( this.context, path, list ) )\r
                                                                return;\r
 \r
                                                        // Exec related global indentation command. Global\r
        function indentList( editor ) {\r
                var that = this,\r
                        database = this.database,\r
-                       context = this.context;\r
+                       context = this.context,\r
+                       range;\r
 \r
                function indent( listNode ) {\r
                        // Our starting and ending points of the range might be inside some blocks under a list item...\r
 \r
                        for ( i = startItem.getCustomData( 'listarray_index' ); i <= lastItem.getCustomData( 'listarray_index' ); i++ ) {\r
                                listArray[ i ].indent += indentOffset;\r
-                               // Make sure the newly created sublist get a brand-new element of the same type. (#5372)\r
+                               // Make sure the newly created sublist get a brand-new element of the same type. (http://dev.ckeditor.com/ticket/5372)\r
                                if ( indentOffset > 0 ) {\r
                                        var listRoot = listArray[ i ].parent;\r
                                        listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() );\r
                        var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, listNode.getDirection() );\r
 \r
                        // Avoid nested <li> after outdent even they're visually same,\r
-                       // recording them for later refactoring.(#3982)\r
+                       // recording them for later refactoring.(http://dev.ckeditor.com/ticket/3982)\r
                        if ( !that.isIndent ) {\r
                                var parentLiElement;\r
                                if ( ( parentLiElement = listNode.getParent() ) && parentLiElement.is( 'li' ) ) {\r
                                        // Nest preceding <ul>/<ol> inside current <li> if any.\r
                                        while ( ( followingList = followingList.getNext() ) && followingList.is && followingList.getName() in context ) {\r
                                                // IE requires a filler NBSP for nested list inside empty list item,\r
-                                               // otherwise the list item will be inaccessiable. (#4476)\r
+                                               // otherwise the list item will be inaccessiable. (http://dev.ckeditor.com/ticket/4476)\r
                                                if ( CKEDITOR.env.needsNbspFiller && !li.getFirst( neitherWhitespacesNorBookmark ) )\r
                                                        li.append( range.document.createText( '\u00a0' ) );\r
 \r
 \r
                var selection = editor.getSelection(),\r
                        ranges = selection && selection.getRanges(),\r
-                       iterator = ranges.createIterator(),\r
-                       range;\r
+                       iterator = ranges.createIterator();\r
 \r
                while ( ( range = iterator.getNextRange() ) ) {\r
                        var nearestListBlock = range.getCommonAncestor();\r
 \r
                        while ( nearestListBlock && !( nearestListBlock.type == CKEDITOR.NODE_ELEMENT && context[ nearestListBlock.getName() ] ) ) {\r
-                               // Avoid having plugin propagate to parent of editor in inline mode by canceling the indentation. (#12796)\r
+                               // Avoid having plugin propagate to parent of editor in inline mode by canceling the indentation. (http://dev.ckeditor.com/ticket/12796)\r
                                if ( editor.editable().equals( nearestListBlock ) ) {\r
                                        nearestListBlock = false;\r
                                        break;\r
                                        range.setEndAt( nearestListBlock, CKEDITOR.POSITION_BEFORE_END );\r
                        }\r
 \r
-                       // Avoid having selection enclose the entire list. (#6138)\r
+                       // Avoid having selection enclose the entire list. (http://dev.ckeditor.com/ticket/6138)\r
                        // [<ul><li>...</li></ul>] =><ul><li>[...]</li></ul>\r
                        if ( !nearestListBlock ) {\r
                                var selectedNode = range.getEnclosedNode();\r
diff --git a/sources/plugins/justify/lang/es-mx.js b/sources/plugins/justify/lang/es-mx.js
new file mode 100644 (file)
index 0000000..96443e0
--- /dev/null
@@ -0,0 +1,10 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'justify', 'es-mx', {\r
+       block: 'Justificar',\r
+       center: 'Centrar',\r
+       left: 'Alinear a la izquierda',\r
+       right: 'Alinear a la derecha'\r
+} );\r
index ce5cab382b02549d328aa87e11662d269ee6f88f..21b9221090f5f8e55f74a2e4d7e5ee44df1aaad5 100644 (file)
@@ -37,7 +37,6 @@
                this.name = name;\r
                this.value = value;\r
                this.context = 'p';\r
-\r
                var classes = editor.config.justifyClasses,\r
                        blockTag = editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div';\r
 \r
                                        if ( block.isReadOnly() )\r
                                                continue;\r
 \r
+                                       // Check if style or class might be applied to currently processed element (#455).\r
+                                       var tag = block.getName(),\r
+                                               isAllowedTextAlign, isAllowedCssClass;\r
+\r
+                                       isAllowedTextAlign = editor.activeFilter.check( tag + '{text-align}' );\r
+                                       isAllowedCssClass = editor.activeFilter.check( tag + '(' + cssClassName + ')' );\r
+\r
+                                       if ( !isAllowedCssClass && !isAllowedTextAlign ) {\r
+                                               continue;\r
+                                       }\r
+\r
                                        block.removeAttribute( 'align' );\r
                                        block.removeStyle( 'text-align' );\r
 \r
 \r
                                        var apply = ( this.state == CKEDITOR.TRISTATE_OFF ) && ( !useComputedState || ( getAlignment( block, true ) != this.value ) );\r
 \r
-                                       if ( cssClassName ) {\r
+                                       if ( cssClassName && isAllowedCssClass ) {\r
                                                // Append the desired class name.\r
                                                if ( apply )\r
                                                        block.addClass( cssClassName );\r
                                                else if ( !className )\r
                                                        block.removeAttribute( 'class' );\r
-                                       } else if ( apply ) {\r
+                                       } else if ( apply && isAllowedTextAlign ) {\r
                                                block.setStyle( 'text-align', this.value );\r
                                        }\r
                                }\r
                },\r
 \r
                refresh: function( editor, path ) {\r
-                       var firstBlock = path.block || path.blockLimit;\r
-\r
-                       this.setState( firstBlock.getName() != 'body' && getAlignment( firstBlock, this.editor.config.useComputedState ) == this.value ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );\r
+                       var firstBlock = path.block || path.blockLimit,\r
+                               name = firstBlock.getName(),\r
+                               isEditable = firstBlock.equals( editor.editable() ),\r
+                               isStylable = this.cssClassName ? editor.activeFilter.check( name + '(' + this.cssClassName + ')' ) :\r
+                                       editor.activeFilter.check( name + '{text-align}' );\r
+\r
+                       // #455\r
+                       // 1. Check if we are directly in editbale. Justification should be always allowed, and not highlighted.\r
+                       //    Checking path.elements.length is required to filter out situation `body > ul` where ul is selected and path.blockLimit returns editable.\r
+                       // 2. Check if current element can have applied specific class.\r
+                       // 3. Check if current element can have applied text-align style.\r
+                       if (  isEditable && path.elements.length === 1 ) {\r
+                               this.setState( CKEDITOR.TRISTATE_OFF );\r
+                       } else if ( !isEditable && isStylable ) {\r
+                               // 2 & 3 in one condition.\r
+                               this.setState( getAlignment( firstBlock, this.editor.config.useComputedState ) == this.value ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );\r
+                       } else {\r
+                               this.setState( CKEDITOR.TRISTATE_DISABLED );\r
+                       }\r
                }\r
        };\r
 \r
        CKEDITOR.plugins.add( 'justify', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'justifyblock,justifycenter,justifyleft,justifyright', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                                        toolbar: 'align,40'\r
                                } );\r
                        }\r
-\r
                        editor.on( 'dirChanged', onDirChanged );\r
                }\r
        } );\r
index e0473eebef611cd0a0bf7ca3e06492313e92c14c..d84c5f3ebd045b634d2666180541d395ea139286 100644 (file)
                                        continue;\r
                                }\r
 \r
-                               // On IE8 element.getElementsByTagName returns comments... sic! (#13176)\r
+                               // On IE8 element.getElementsByTagName returns comments... sic! (http://dev.ckeditor.com/ticket/13176)\r
                                if ( el.type != CKEDITOR.NODE_ELEMENT ) {\r
                                        continue;\r
                                }\r
 \r
                        // Let's calculate the vertical position of the line.\r
                        if ( this.inline ) {\r
-                               // (#13155)\r
+                               // (http://dev.ckeditor.com/ticket/13155)\r
                                styles.top = loc + this.winTopScroll.y - this.rect.relativeY;\r
                        } else {\r
                                styles.top = this.rect.top + this.winTopScroll.y + loc;\r
 \r
                        // Now let's calculate the horizontal alignment (left and width).\r
                        if ( this.inline ) {\r
-                               // (#13155)\r
+                               // (http://dev.ckeditor.com/ticket/13155)\r
                                styles.left = rel.elementRect.left - this.rect.relativeX;\r
                        } else {\r
                                if ( rel.elementRect.left > 0 )\r
                        this.winTopScroll = this.winTop.getScrollPosition();\r
                        this.winTopPane = this.winTop.getViewPaneSize();\r
 \r
-                       // (#13155)\r
+                       // (http://dev.ckeditor.com/ticket/13155)\r
                        this.rect = this.getClientRect( this.inline ? this.editable : this.frame );\r
                },\r
 \r
                /**\r
                 * Returns `boundingClientRect` of an element, shifted by the position\r
-                * of `container` when the container is not `static` (#13155).\r
+                * of `container` when the container is not `static` (http://dev.ckeditor.com/ticket/13155).\r
                 *\r
                 * See also: {@link CKEDITOR.dom.element#getClientRect}.\r
                 *\r
index 2b32b71938e2d605db30ff3a4befdfbe05745b77..04a4abedea68dcc3423aed16bf8e57d32edd8378 100644 (file)
@@ -18,6 +18,21 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) {
                } ), 'cke_anchor', 'anchor' );\r
        }\r
 \r
+\r
+       function getSelectedAnchor( selection ) {\r
+               var range = selection.getRanges()[ 0 ],\r
+                       element = selection.getSelectedElement();\r
+\r
+               // In case of table cell selection, we want to shrink selection from td to a element.\r
+               range.shrink( CKEDITOR.SHRINK_ELEMENT );\r
+               element = range.getEnclosedNode();\r
+\r
+               if ( element && element.type === CKEDITOR.NODE_ELEMENT &&\r
+                       ( element.data( 'cke-real-element-type' ) === 'anchor' || element.is( 'a' ) ) ) {\r
+                       return element;\r
+               }\r
+       }\r
+\r
        return {\r
                title: editor.lang.link.anchor.title,\r
                minWidth: 300,\r
@@ -35,9 +50,10 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) {
                                        var newFake = createFakeAnchor( editor, attributes );\r
                                        newFake.replace( this._.selectedElement );\r
 \r
-                                       // Selecting fake element for IE. (#11377)\r
-                                       if ( CKEDITOR.env.ie )\r
+                                       // Selecting fake element for IE. (http://dev.ckeditor.com/ticket/11377)\r
+                                       if ( CKEDITOR.env.ie ) {\r
                                                editor.getSelection().selectElement( newFake );\r
+                                       }\r
                                } else {\r
                                        this._.selectedElement.setAttributes( attributes );\r
                                }\r
@@ -56,7 +72,7 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) {
                                        // Apply style.\r
                                        var style = new CKEDITOR.style( { element: 'a', attributes: attributes } );\r
                                        style.type = CKEDITOR.STYLE_INLINE;\r
-                                       editor.applyStyle( style );\r
+                                       style.applyToRange( range );\r
                                }\r
                        }\r
                },\r
@@ -67,7 +83,7 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) {
 \r
                onShow: function() {\r
                        var sel = editor.getSelection(),\r
-                               fullySelected = sel.getSelectedElement(),\r
+                               fullySelected = getSelectedAnchor( sel ),\r
                                fakeSelected = fullySelected && fullySelected.data( 'cke-realelement' ),\r
                                linkElement = fakeSelected ?\r
                                        CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, fullySelected ) :\r
@@ -77,8 +93,9 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) {
                                loadElements.call( this, linkElement );\r
                                !fakeSelected && sel.selectElement( linkElement );\r
 \r
-                               if ( fullySelected )\r
+                               if ( fullySelected ) {\r
                                        this._.selectedElement = fullySelected;\r
+                               }\r
                        }\r
 \r
                        this.getContentElement( 'info', 'txtName' ).focus();\r
index 914471fd1a0e8591d62e0a66897d2af5032d784f..4c609289a559c19fbfd207cedac9b8875cb674eb 100644 (file)
                var plugin = CKEDITOR.plugins.link,\r
                        initialLinkText;\r
 \r
+               function createRangeForLink( editor, link ) {\r
+                       var range = editor.createRange();\r
+\r
+                       range.setStartBefore( link );\r
+                       range.setEndAfter( link );\r
+\r
+                       return range;\r
+               }\r
+\r
+               function insertLinksIntoSelection( editor, data ) {\r
+                       var attributes = plugin.getLinkAttributes( editor, data ),\r
+                               ranges = editor.getSelection().getRanges(),\r
+                               style = new CKEDITOR.style( {\r
+                                       element: 'a',\r
+                                       attributes: attributes.set\r
+                               } ),\r
+                               rangesToSelect = [],\r
+                               range,\r
+                               text,\r
+                               nestedLinks,\r
+                               i,\r
+                               j;\r
+\r
+                       style.type = CKEDITOR.STYLE_INLINE; // need to override... dunno why.\r
+\r
+                       for ( i = 0; i < ranges.length; i++ ) {\r
+                               range = ranges[ i ];\r
+\r
+                               // Use link URL as text with a collapsed cursor.\r
+                               if ( range.collapsed ) {\r
+                                       // Short mailto link text view (http://dev.ckeditor.com/ticket/5736).\r
+                                       text = new CKEDITOR.dom.text( data.linkText || ( data.type == 'email' ?\r
+                                               data.email.address : attributes.set[ 'data-cke-saved-href' ] ), editor.document );\r
+                                       range.insertNode( text );\r
+                                       range.selectNodeContents( text );\r
+                               } else if ( initialLinkText !== data.linkText ) {\r
+                                       text = new CKEDITOR.dom.text( data.linkText, editor.document );\r
+\r
+                                       // Shrink range to preserve block element.\r
+                                       range.shrink( CKEDITOR.SHRINK_TEXT );\r
+\r
+                                       // Use extractHtmlFromRange to remove markup within the selection. Also this method is a little\r
+                                       // smarter than range#deleteContents as it plays better e.g. with table cells.\r
+                                       editor.editable().extractHtmlFromRange( range );\r
+\r
+                                       range.insertNode( text );\r
+                               }\r
+\r
+                               // Editable links nested within current range should be removed, so that the link is applied to whole selection.\r
+                               nestedLinks = range._find( 'a' );\r
+\r
+                               for     ( j = 0; j < nestedLinks.length; j++ ) {\r
+                                       nestedLinks[ j ].remove( true );\r
+                               }\r
+\r
+\r
+                               // Apply style.\r
+                               style.applyToRange( range, editor );\r
+\r
+                               rangesToSelect.push( range );\r
+                       }\r
+\r
+                       editor.getSelection().selectRanges( rangesToSelect );\r
+               }\r
+\r
+               function editLinksInSelection( editor, selectedElements, data ) {\r
+                       var attributes = plugin.getLinkAttributes( editor, data ),\r
+                               ranges = [],\r
+                               element,\r
+                               href,\r
+                               textView,\r
+                               newText,\r
+                               i;\r
+\r
+                       for ( i = 0; i < selectedElements.length; i++ ) {\r
+                               // We're only editing an existing link, so just overwrite the attributes.\r
+                               element = selectedElements[ i ];\r
+                               href = element.data( 'cke-saved-href' );\r
+                               textView = element.getHtml();\r
+\r
+                               element.setAttributes( attributes.set );\r
+                               element.removeAttributes( attributes.removed );\r
+\r
+\r
+                               if ( data.linkText && initialLinkText != data.linkText ) {\r
+                                       // Display text has been changed.\r
+                                       newText = data.linkText;\r
+                               } else if ( href == textView || data.type == 'email' && textView.indexOf( '@' ) != -1 ) {\r
+                                       // Update text view when user changes protocol (http://dev.ckeditor.com/ticket/4612).\r
+                                       // Short mailto link text view (http://dev.ckeditor.com/ticket/5736).\r
+                                       newText = data.type == 'email' ? data.email.address : attributes.set[ 'data-cke-saved-href' ];\r
+                               }\r
+\r
+                               if ( newText ) {\r
+                                       element.setText( newText );\r
+                               }\r
+\r
+                               ranges.push( createRangeForLink( editor, element ) );\r
+                       }\r
+\r
+                       // We changed the content, so need to select it again.\r
+                       editor.getSelection().selectRanges( ranges );\r
+               }\r
+\r
                // Handles the event when the "Target" selection box is changed.\r
                var targetChanged = function() {\r
                                var dialog = this.getDialog(),\r
                                                        label: commonLang.protocol,\r
                                                        'default': 'http://',\r
                                                        items: [\r
-                                                               // Force 'ltr' for protocol names in BIDI. (#5433)\r
+                                                               // Force 'ltr' for protocol names in BIDI. (http://dev.ckeditor.com/ticket/5433)\r
                                                                [ 'http://\u200E', 'http://' ],\r
                                                                [ 'https://\u200E', 'https://' ],\r
                                                                [ 'ftp://\u200E', 'ftp://' ],\r
                                                        },\r
                                                        commit: function( data ) {\r
                                                                // IE will not trigger the onChange event if the mouse has been used\r
-                                                               // to carry all the operations #4724\r
+                                                               // to carry all the operations http://dev.ckeditor.com/ticket/4724\r
                                                                this.onChange();\r
 \r
                                                                if ( !data.url )\r
                        onShow: function() {\r
                                var editor = this.getParentEditor(),\r
                                        selection = editor.getSelection(),\r
-                                       selectedElement = selection.getSelectedElement(),\r
                                        displayTextField = this.getContentElement( 'info', 'linkDisplayText' ).getElement().getParent().getParent(),\r
-                                       element = null;\r
+                                       elements = plugin.getSelectedLink( editor, true ),\r
+                                       firstLink = elements[ 0 ] || null;\r
 \r
                                // Fill in all the relevant fields if there's already one link selected.\r
-                               if ( ( element = plugin.getSelectedLink( editor ) ) && element.hasAttribute( 'href' ) ) {\r
+                               if ( firstLink && firstLink.hasAttribute( 'href' ) ) {\r
                                        // Don't change selection if some element is already selected.\r
                                        // For example - don't destroy fake selection.\r
-                                       if ( !selectedElement ) {\r
-                                               selection.selectElement( element );\r
-                                               selectedElement = element;\r
+                                       if ( !selection.getSelectedElement() && !selection.isInTable() ) {\r
+                                               selection.selectElement( firstLink );\r
                                        }\r
-                               } else {\r
-                                       element = null;\r
                                }\r
 \r
+                               var data = plugin.parseLinkAttributes( editor, firstLink );\r
+\r
                                // Here we'll decide whether or not we want to show Display Text field.\r
-                               if ( plugin.showDisplayTextForElement( selectedElement, editor ) ) {\r
+                               if ( elements.length <= 1 && plugin.showDisplayTextForElement( firstLink, editor ) ) {\r
                                        displayTextField.show();\r
                                } else {\r
                                        displayTextField.hide();\r
                                }\r
 \r
-                               var data = plugin.parseLinkAttributes( editor, element );\r
-\r
                                // Record down the selected element in the dialog.\r
-                               this._.selectedElement = element;\r
+                               this._.selectedElements = elements;\r
 \r
                                this.setupContent( data );\r
                        },\r
                                // Collect data from fields.\r
                                this.commitContent( data );\r
 \r
-                               var selection = editor.getSelection(),\r
-                                       attributes = plugin.getLinkAttributes( editor, data ),\r
-                                       bm,\r
-                                       nestedLinks;\r
-\r
-                               if ( !this._.selectedElement ) {\r
-                                       var range = selection.getRanges()[ 0 ],\r
-                                               text;\r
-\r
-                                       // Use link URL as text with a collapsed cursor.\r
-                                       if ( range.collapsed ) {\r
-                                               // Short mailto link text view (#5736).\r
-                                               text = new CKEDITOR.dom.text( data.linkText || ( data.type == 'email' ?\r
-                                                       data.email.address : attributes.set[ 'data-cke-saved-href' ] ), editor.document );\r
-                                               range.insertNode( text );\r
-                                               range.selectNodeContents( text );\r
-                                       } else if ( initialLinkText !== data.linkText ) {\r
-                                               text = new CKEDITOR.dom.text( data.linkText, editor.document );\r
-\r
-                                               // Shrink range to preserve block element.\r
-                                               range.shrink( CKEDITOR.SHRINK_TEXT );\r
-\r
-                                               // Use extractHtmlFromRange to remove markup within the selection. Also this method is a little\r
-                                               // smarter than range#deleteContents as it plays better e.g. with table cells.\r
-                                               editor.editable().extractHtmlFromRange( range );\r
-\r
-                                               range.insertNode( text );\r
-                                       }\r
-\r
-                                       // Editable links nested within current range should be removed, so that the link is applied to whole selection.\r
-                                       nestedLinks = range._find( 'a' );\r
-\r
-                                       for     ( var i = 0; i < nestedLinks.length; i++ ) {\r
-                                               nestedLinks[ i ].remove( true );\r
-                                       }\r
-\r
-                                       // Apply style.\r
-                                       var style = new CKEDITOR.style( {\r
-                                               element: 'a',\r
-                                               attributes: attributes.set\r
-                                       } );\r
-\r
-                                       style.type = CKEDITOR.STYLE_INLINE; // need to override... dunno why.\r
-                                       style.applyToRange( range, editor );\r
-                                       range.select();\r
+                               if ( !this._.selectedElements.length ) {\r
+                                       insertLinksIntoSelection( editor, data );\r
                                } else {\r
-                                       // We're only editing an existing link, so just overwrite the attributes.\r
-                                       var element = this._.selectedElement,\r
-                                               href = element.data( 'cke-saved-href' ),\r
-                                               textView = element.getHtml(),\r
-                                               newText;\r
-\r
-                                       element.setAttributes( attributes.set );\r
-                                       element.removeAttributes( attributes.removed );\r
-\r
-                                       if ( data.linkText && initialLinkText != data.linkText ) {\r
-                                               // Display text has been changed.\r
-                                               newText = data.linkText;\r
-                                       } else if ( href == textView || data.type == 'email' && textView.indexOf( '@' ) != -1 ) {\r
-                                               // Update text view when user changes protocol (#4612).\r
-                                               // Short mailto link text view (#5736).\r
-                                               newText = data.type == 'email' ? data.email.address : attributes.set[ 'data-cke-saved-href' ];\r
-                                       }\r
-\r
-                                       if ( newText ) {\r
-                                               element.setText( newText );\r
-                                               // We changed the content, so need to select it again.\r
-                                               selection.selectElement( element );\r
-                                       }\r
+                                       editLinksInSelection( editor, this._.selectedElements, data );\r
 \r
-                                       delete this._.selectedElement;\r
+                                       delete this._.selectedElements;\r
                                }\r
                        },\r
                        onLoad: function() {\r
index 799123184ca912f9edb29b8cedc5e668cd3eae42..d2b6faf586de4c271c94fff8806c0bcb92b4b4af 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'eo', {
        anchorName: 'Per Ankronomo',\r
        charset: 'Signaro de la Ligita Rimedo',\r
        cssClasses: 'Klasoj de Stilfolioj',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Altrudi Elŝuton',\r
+       displayText: 'Vidigi Tekston',\r
        emailAddress: 'Retpoŝto',\r
        emailBody: 'Mesaĝa korpo',\r
        emailSubject: 'Mesaĝa Temo',\r
diff --git a/sources/plugins/link/lang/es-mx.js b/sources/plugins/link/lang/es-mx.js
new file mode 100644 (file)
index 0000000..1c27060
--- /dev/null
@@ -0,0 +1,67 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'link', 'es-mx', {\r
+       acccessKey: 'Llave de acceso',\r
+       advanced: 'Avanzada',\r
+       advisoryContentType: 'Tipo de contenido consultivo',\r
+       advisoryTitle: 'Título asesor',\r
+       anchor: {\r
+               toolbar: 'Ancla',\r
+               menu: 'Editar ancla',\r
+               title: 'Propiedades del ancla',\r
+               name: 'Nombre del ancla',\r
+               errorName: 'Escriba el nombre del ancla',\r
+               remove: 'Remover ancla'\r
+       },\r
+       anchorId: 'Por Id del elemento',\r
+       anchorName: 'Por nombre del ancla',\r
+       charset: 'Recurso relacionado Charset',\r
+       cssClasses: 'Clases de estilo de hoja',\r
+       download: 'Forzar la descarga',\r
+       displayText: 'Mostrar texto',\r
+       emailAddress: 'Dirección de correo electrónico',\r
+       emailBody: 'Cuerpo del mensaje',\r
+       emailSubject: 'Asunto del mensaje',\r
+       id: 'Id',\r
+       info: 'Información del enlace',\r
+       langCode: 'Código del idioma',\r
+       langDir: 'Dirección del idioma',\r
+       langDirLTR: 'Izquierda a Derecha (LTR)',\r
+       langDirRTL: 'Derecha a Izquierda (RTL)',\r
+       menu: 'Editar enlace',\r
+       name: 'Nombre',\r
+       noAnchors: '(No hay anclas disponibles en el documento)',\r
+       noEmail: 'Escriba la dirección de correo electrónico',\r
+       noUrl: 'Escriba la URL del enlace',\r
+       other: '<other>',\r
+       popupDependent: 'Dependiente (Netscape)',\r
+       popupFeatures: 'Ventana emergente',\r
+       popupFullScreen: 'Pantalla completa (IE)',\r
+       popupLeft: 'Posición Izquierda',\r
+       popupLocationBar: 'Ubicación de la barra',\r
+       popupMenuBar: 'Barra de menú',\r
+       popupResizable: 'Redimensionable',\r
+       popupScrollBars: 'Barras de desplazamiento',\r
+       popupStatusBar: 'Barra de estado',\r
+       popupToolbar: 'Barra de herramienta',\r
+       popupTop: 'Posición superior',\r
+       rel: 'Relación',\r
+       selectAnchor: 'Selecciona un ancla',\r
+       styles: 'Estilo',\r
+       tabIndex: 'Indice de tabulación',\r
+       target: 'Objetivo',\r
+       targetFrame: '<frame>',\r
+       targetFrameName: 'Nombre del marco de destino',\r
+       targetPopup: '<popup window>',\r
+       targetPopupName: 'Nombre de ventana emergente',\r
+       title: 'Enlace',\r
+       toAnchor: 'Enlace al ancla en el texto',\r
+       toEmail: 'Correo electrónico',\r
+       toUrl: 'URL',\r
+       toolbar: 'Enlace',\r
+       type: 'Tipo de enlace',\r
+       unlink: 'Desconectar',\r
+       upload: 'Subir'\r
+} );\r
index a4561cb366ab64c452b102cb1829bf807a381f1c..d40d8d980e435efa03a046bbcc8c74dcb1903188 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'fr', {
        anchorName: 'Par nom d\'ancre',\r
        charset: 'Encodage de la ressource liée',\r
        cssClasses: 'Classes de style',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Forcer le téléchargement',\r
+       displayText: 'Afficher le texte',\r
        emailAddress: 'Adresse électronique',\r
        emailBody: 'Corps du message',\r
        emailSubject: 'Sujet du message',\r
index 45ced42e14edf610492fbaa659014d098f3ad657..a7d7b0b57d61be0afecccddd514b0ec403841eb9 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'gl', {
        anchorName: 'Polo nome da ancoraxe',\r
        charset: 'Codificación do recurso ligado',\r
        cssClasses: 'Clases da folla de estilos',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Forzar a descarga',\r
+       displayText: 'Amosar o texto',\r
        emailAddress: 'Enderezo de correo',\r
        emailBody: 'Corpo da mensaxe',\r
        emailSubject: 'Asunto da mensaxe',\r
index 898b18bcf4b59fac79ed09852cbe02080e281283..5bb1b8809bc6e37cada7eda2434c1959556f30b3 100644 (file)
@@ -5,8 +5,8 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
 CKEDITOR.plugins.setLang( 'link', 'hr', {\r
        acccessKey: 'Pristupna tipka',\r
        advanced: 'Napredno',\r
-       advisoryContentType: 'Advisory vrsta sadržaja',\r
-       advisoryTitle: 'Advisory naslov',\r
+       advisoryContentType: 'Savjetodavna vrsta sadržaja',\r
+       advisoryTitle: 'Savjetodavni naslov',\r
        anchor: {\r
                toolbar: 'Ubaci/promijeni sidro',\r
                menu: 'Svojstva sidra',\r
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'hr', {
        anchorName: 'Po nazivu sidra',\r
        charset: 'Kodna stranica povezanih resursa',\r
        cssClasses: 'Stylesheet klase',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Preuzmi na silu',\r
+       displayText: 'Prikaži tekst',\r
        emailAddress: 'E-Mail adresa',\r
        emailBody: 'Sadržaj poruke',\r
        emailSubject: 'Naslov',\r
@@ -56,12 +56,12 @@ CKEDITOR.plugins.setLang( 'link', 'hr', {
        targetFrameName: 'Ime ciljnog okvira',\r
        targetPopup: '<popup prozor>',\r
        targetPopupName: 'Naziv popup prozora',\r
-       title: 'Link',\r
+       title: 'Veza',\r
        toAnchor: 'Sidro na ovoj stranici',\r
        toEmail: 'E-Mail',\r
        toUrl: 'URL',\r
-       toolbar: 'Ubaci/promijeni link',\r
-       type: 'Link vrsta',\r
-       unlink: 'Ukloni link',\r
+       toolbar: 'Ubaci/promijeni vezu',\r
+       type: 'Vrsta veze',\r
+       unlink: 'Ukloni vezu',\r
        upload: 'Pošalji'\r
 } );\r
index 52c09a8f73fc3fe404358bf5c57077a4397fb0a8..102ca5625bac8eda7858c15be70c56d9f7513845 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'hu', {
        anchorName: 'Horgony név szerint',\r
        charset: 'Hivatkozott tartalom kódlapja',\r
        cssClasses: 'Stíluskészlet',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Kötelező letöltés',\r
+       displayText: 'Megjelenített szöveg',\r
        emailAddress: 'E-Mail cím',\r
        emailBody: 'Üzenet',\r
        emailSubject: 'Üzenet tárgya',\r
index 94108b59ddd7ad98b2432f64d65d4b5570eb905a..342025feb2423beced49d88d4c04526d3a93fecd 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'ja', {
        anchorName: 'アンカー名',\r
        charset: 'リンク先のcharset',\r
        cssClasses: 'スタイルシートクラス',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: '強制的にダウンロード',\r
+       displayText: '表示文字',\r
        emailAddress: 'E-Mail アドレス',\r
        emailBody: '本文',\r
        emailSubject: '件名',\r
index 86a797d146d71b4f6eb914cbcd7daaeae7cffaa9..894ac62b7d34e82730af26f500f20c95097e0a06 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'ko', {
        anchorName: '책갈피 이름',\r
        charset: '링크된 자료 문자열 인코딩',\r
        cssClasses: '스타일시트 클래스',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: '강제 다운로드',\r
+       displayText: '보이는 글자',\r
        emailAddress: '이메일 주소',\r
        emailBody: '메시지 내용',\r
        emailSubject: '메시지 제목',\r
index 16faf249e89e0bb62f3432bbc68a3f5b3adaea86..ad06cd9c0cd29a496985f66aa6a9f28460cc6a03 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'ku', {
        anchorName: 'بەپێی ناوی لەنگەر',\r
        charset: 'بەستەری سەرچاوەی نووسە',\r
        cssClasses: 'شێوازی چینی پەڕه',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'داگرتنی بەهێز',\r
+       displayText: 'پیشاندانی دەق',\r
        emailAddress: 'ناونیشانی ئیمەیل',\r
        emailBody: 'ناوەڕۆکی نامە',\r
        emailSubject: 'بابەتی نامە',\r
index 7f4b77591b3b179fd9e3723338c4a2d6cb553918..7bc00d552a7d7baef1fd87d7418778e0a5299a30 100644 (file)
@@ -19,7 +19,7 @@ CKEDITOR.plugins.setLang( 'link', 'ru', {
        anchorName: 'По имени',\r
        charset: 'Кодировка ресурса',\r
        cssClasses: 'Классы CSS',\r
-       download: 'Force Download', // MISSING\r
+       download: 'Скачать как файл',\r
        displayText: 'Отображаемый текст',\r
        emailAddress: 'Email адрес',\r
        emailBody: 'Текст сообщения',\r
index 87b60bd38f5406c9ae11d909650069de178e1f5c..6383fc9083f2a6656bbd89de32d2abcad5421cb0 100644 (file)
@@ -19,8 +19,8 @@ CKEDITOR.plugins.setLang( 'link', 'sk', {
        anchorName: 'Podľa mena kotvy',\r
        charset: 'Priradená znaková sada',\r
        cssClasses: 'Triedy štýlu',\r
-       download: 'Force Download', // MISSING\r
-       displayText: 'Display Text', // MISSING\r
+       download: 'Vynútené sťahovanie.',\r
+       displayText: 'Zobraziť text',\r
        emailAddress: 'E-Mailová adresa',\r
        emailBody: 'Telo správy',\r
        emailSubject: 'Predmet správy',\r
index 5ba3d1cd4182f264667662c9eaa1c677b2b48cea..a2cee620b90a00f2a13215e05805e920b8c2db0c 100644 (file)
@@ -19,7 +19,7 @@ CKEDITOR.plugins.setLang( 'link', 'zh', {
        anchorName: '依錨點名稱',\r
        charset: '連結資源的字元集',\r
        cssClasses: '樣式表類別',\r
-       download: 'Force Download', // MISSING\r
+       download: '強制下載',\r
        displayText: '顯示文字',\r
        emailAddress: '電子郵件地址',\r
        emailBody: '郵件本文',\r
index 94d582bd198ffd3a14bc1800adbefe2361987e1a..120097f7c14f2ea70d30ccdbd1599405299f13f8 100644 (file)
@@ -9,7 +9,7 @@
        CKEDITOR.plugins.add( 'link', {\r
                requires: 'dialog,fakeobjects',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'anchor,anchor-rtl,link,unlink', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                        CKEDITOR.dialog.add( 'anchor', this.path + 'dialogs/anchor.js' );\r
 \r
                        editor.on( 'doubleclick', function( evt ) {\r
-                               var element = CKEDITOR.plugins.link.getSelectedLink( editor ) || evt.data.element;\r
+                               // If the link has descendants and the last part of it is also a part of a word partially\r
+                               // unlinked, clicked element may be a descendant of the link, not the link itself (http://dev.ckeditor.com/ticket/11956).\r
+                               // The evt.data.element.getAscendant( 'img', 1 ) condition allows opening anchor dialog if the anchor is empty (#501).\r
+                               var element = evt.data.element.getAscendant( { a: 1, img: 1 }, true );\r
 \r
-                               if ( !element.isReadOnly() ) {\r
+                               if ( element && !element.isReadOnly() ) {\r
                                        if ( element.is( 'a' ) ) {\r
                                                evt.data.dialog = ( element.getAttribute( 'name' ) && ( !element.getAttribute( 'href' ) || !element.getChildCount() ) ) ? 'anchor' : 'link';\r
 \r
 \r
                        // If event was cancelled, link passed in event data will not be selected.\r
                        editor.on( 'doubleclick', function( evt ) {\r
-                               // Make sure both links and anchors are selected (#11822).\r
+                               // Make sure both links and anchors are selected (http://dev.ckeditor.com/ticket/11822).\r
                                if ( evt.data.dialog in { link: 1, anchor: 1 } && evt.data.link )\r
                                        editor.getSelection().selectElement( evt.data.link );\r
                        }, null, null, 20 );\r
                 *\r
                 * @since 3.2.1\r
                 * @param {CKEDITOR.editor} editor\r
+                * @param {Boolean} [returnMultiple=false] Indicates whether the function should return only the first selected link or all of them.\r
+                * @returns {CKEDITOR.dom.element/CKEDITOR.dom.element[]/null} A single link element or an array of link\r
+                * elements relevant to the current selection.\r
                 */\r
-               getSelectedLink: function( editor ) {\r
-                       var selection = editor.getSelection();\r
-                       var selectedElement = selection.getSelectedElement();\r
-                       if ( selectedElement && selectedElement.is( 'a' ) )\r
+               getSelectedLink: function( editor, returnMultiple ) {\r
+                       var selection = editor.getSelection(),\r
+                               selectedElement = selection.getSelectedElement(),\r
+                               ranges = selection.getRanges(),\r
+                               links = [],\r
+                               link,\r
+                               range,\r
+                               i;\r
+\r
+                       if ( !returnMultiple && selectedElement && selectedElement.is( 'a' ) ) {\r
                                return selectedElement;\r
+                       }\r
+\r
+                       for ( i = 0; i < ranges.length; i++ ) {\r
+                               range = selection.getRanges()[ i ];\r
 \r
-                       var range = selection.getRanges()[ 0 ];\r
+                               // Skip bogus to cover cases of multiple selection inside tables (#tp2245).\r
+                               range.shrink( CKEDITOR.SHRINK_TEXT, false, { skipBogus: true } );\r
+                               link = editor.elementPath( range.getCommonAncestor() ).contains( 'a', 1 );\r
 \r
-                       if ( range ) {\r
-                               range.shrink( CKEDITOR.SHRINK_TEXT );\r
-                               return editor.elementPath( range.getCommonAncestor() ).contains( 'a', 1 );\r
+                               if ( link && returnMultiple ) {\r
+                                       links.push( link );\r
+                               } else if ( link ) {\r
+                                       return link;\r
+                               }\r
                        }\r
-                       return null;\r
+\r
+                       return returnMultiple ? links : null;\r
                },\r
 \r
                /**\r
                        var editable = editor.editable(),\r
 \r
                                // The scope of search for anchors is the entire document for inline editors\r
-                               // and editor's editable for classic editor/divarea (#11359).\r
+                               // and editor's editable for classic editor/divarea (http://dev.ckeditor.com/ticket/11359).\r
                                scope = ( editable.isInline() && !editor.plugins.divarea ) ? editor.document : editable,\r
 \r
                                links = scope.getElementsByTag( 'a' ),\r
                fakeAnchor: true,\r
 \r
                /**\r
-                * For browsers that do not support CSS3 `a[name]:empty()`. Note that IE9 is included because of #7783.\r
+                * For browsers that do not support CSS3 `a[name]:empty()`. Note that IE9 is included because of http://dev.ckeditor.com/ticket/7783.\r
                 *\r
                 * @readonly\r
                 * @deprecated 4.3.3 It is set to `false` in every browser.\r
                        if ( ( javascriptMatch = href.match( javascriptProtocolRegex ) ) ) {\r
                                if ( emailProtection == 'encode' ) {\r
                                        href = href.replace( encodedEmailLinkRegex, function( match, protectedAddress, rest ) {\r
-                                               // Without it 'undefined' is appended to e-mails without subject and body (#9192).\r
+                                               // Without it 'undefined' is appended to e-mails without subject and body (http://dev.ckeditor.com/ticket/9192).\r
                                                rest = rest || '';\r
 \r
                                                return 'mailto:' +\r
 \r
                                                var featureMatch;\r
                                                while ( ( featureMatch = popupFeaturesRegex.exec( onclickMatch[ 2 ] ) ) ) {\r
-                                                       // Some values should remain numbers (#7300)\r
+                                                       // Some values should remain numbers (http://dev.ckeditor.com/ticket/7300)\r
                                                        if ( ( featureMatch[ 2 ] == 'yes' || featureMatch[ 2 ] == '1' ) && !( featureMatch[ 1 ] in { height: 1, width: 1, top: 1, left: 1 } ) )\r
                                                                retval.target[ featureMatch[ 1 ] ] = true;\r
                                                        else if ( isFinite( featureMatch[ 2 ] ) )\r
                                        set[ 'data-cke-saved-name' ] = set.name;\r
                        }\r
 \r
-                       // Browser need the "href" fro copy/paste link to work. (#6641)\r
+                       // Browser need the "href" fro copy/paste link to work. (http://dev.ckeditor.com/ticket/6641)\r
                        if ( set[ 'data-cke-saved-href' ] )\r
                                set.href = set[ 'data-cke-saved-href' ];\r
 \r
                 */\r
                showDisplayTextForElement: function( element, editor ) {\r
                        var undesiredElements = {\r
-                               img: 1,\r
-                               table: 1,\r
-                               tbody: 1,\r
-                               thead: 1,\r
-                               tfoot: 1,\r
-                               input: 1,\r
-                               select: 1,\r
-                               textarea: 1\r
-                       };\r
+                                       img: 1,\r
+                                       table: 1,\r
+                                       tbody: 1,\r
+                                       thead: 1,\r
+                                       tfoot: 1,\r
+                                       input: 1,\r
+                                       select: 1,\r
+                                       textarea: 1\r
+                               },\r
+                               selection = editor.getSelection();\r
 \r
                        // Widget duck typing, we don't want to show display text for widgets.\r
                        if ( editor.widgets && editor.widgets.focused ) {\r
                                return false;\r
                        }\r
 \r
+                       if ( selection && selection.getRanges().length > 1 ) {\r
+                               return false;\r
+                       }\r
+\r
                        return !element || !element.getName || !element.is( undesiredElements );\r
                }\r
        };\r
        CKEDITOR.unlinkCommand = function() {};\r
        CKEDITOR.unlinkCommand.prototype = {\r
                exec: function( editor ) {\r
+                       // IE/Edge removes link from selection while executing "unlink" command when cursor\r
+                       // is right before/after link's text. Therefore whole link must be selected and the\r
+                       // position of cursor must be restored to its initial state after unlinking. (http://dev.ckeditor.com/ticket/13062)\r
+                       if ( CKEDITOR.env.ie ) {\r
+                               var range = editor.getSelection().getRanges()[ 0 ],\r
+                                       link = ( range.getPreviousEditableNode() && range.getPreviousEditableNode().getAscendant( 'a', true ) ) ||\r
+                                                       ( range.getNextEditableNode() && range.getNextEditableNode().getAscendant( 'a', true ) ),\r
+                                       bookmark;\r
+\r
+                               if ( range.collapsed && link ) {\r
+                                       bookmark = range.createBookmark();\r
+                                       range.selectNodeContents( link );\r
+                                       range.select();\r
+                               }\r
+                       }\r
+\r
                        var style = new CKEDITOR.style( { element: 'a', type: CKEDITOR.STYLE_INLINE, alwaysRemoveElement: 1 } );\r
                        editor.removeStyle( style );\r
+\r
+                       if ( bookmark ) {\r
+                               range.moveToBookmark( bookmark );\r
+                               range.select();\r
+                       }\r
                },\r
 \r
                refresh: function( editor, path ) {\r
 \r
                contextSensitive: 1,\r
                startDisabled: 1,\r
-               requiredContent: 'a[href]'\r
+               requiredContent: 'a[href]',\r
+               editorFocus: 1\r
        };\r
 \r
        CKEDITOR.removeAnchorCommand = function() {};\r
diff --git a/sources/plugins/list/lang/es-mx.js b/sources/plugins/list/lang/es-mx.js
new file mode 100644 (file)
index 0000000..5e50fcb
--- /dev/null
@@ -0,0 +1,8 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'list', 'es-mx', {\r
+       bulletedlist: 'Insertar/Remover Lista con viñetas',\r
+       numberedlist: 'Insertar/Remover Lista numerada'\r
+} );\r
index 7280cc2ecdef55d0373c8114872d074ce9a2a488..73f5d0b5af5292134df3ce74ebaa84d8bf27ec69 100644 (file)
@@ -60,7 +60,7 @@
                        for ( var i = 0, count = listNode.getChildCount(); i < count; i++ ) {\r
                                var listItem = listNode.getChild( i );\r
 \r
-                               // Fixing malformed nested lists by moving it into a previous list item. (#6236)\r
+                               // Fixing malformed nested lists by moving it into a previous list item. (http://dev.ckeditor.com/ticket/6236)\r
                                if ( listItem.type == CKEDITOR.NODE_ELEMENT && listItem.getName() in CKEDITOR.dtd.$list )\r
                                        CKEDITOR.plugins.list.listToArray( listItem, database, baseArray, baseIndentLevel + 1 );\r
 \r
                                                currentListItem.append( item.contents[ i ].clone( 1, 1 ) );\r
                                        currentIndex++;\r
                                } else if ( item.indent == Math.max( indentLevel, 0 ) + 1 ) {\r
-                                       // Maintain original direction (#6861).\r
+                                       // Maintain original direction (http://dev.ckeditor.com/ticket/6861).\r
                                        var currDir = listArray[ currentIndex - 1 ].element.getDirection( 1 ),\r
                                                listData = CKEDITOR.plugins.list.arrayToList( listArray, null, currentIndex, paragraphMode, currDir != orgDir ? orgDir : null );\r
 \r
                                        // If the next block is an <li> with another list tree as the first\r
                                        // child, we'll need to append a filler (<br>/NBSP) or the list item\r
-                                       // wouldn't be editable. (#6724)\r
+                                       // wouldn't be editable. (http://dev.ckeditor.com/ticket/6724)\r
                                        if ( !currentListItem.getChildCount() && CKEDITOR.env.needsNbspFiller && doc.$.documentMode <= 7 )\r
                                                currentListItem.append( doc.createText( '\xa0' ) );\r
                                        currentListItem.append( listData.listNode );\r
                                contentBlock.appendTo( listItem );\r
                        else {\r
                                contentBlock.copyAttributes( listItem );\r
-                               // Remove direction attribute after it was merged into list root. (#7657)\r
+                               // Remove direction attribute after it was merged into list root. (http://dev.ckeditor.com/ticket/7657)\r
                                if ( listDir && contentBlock.getDirection() ) {\r
                                        listItem.removeStyle( 'direction' );\r
                                        listItem.removeAttribute( 'dir' );\r
 \r
                var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, groupObj.root.getAttribute( 'dir' ) );\r
 \r
-               // Compensate <br> before/after the list node if the surrounds are non-blocks.(#3836)\r
+               // Compensate <br> before/after the list node if the surrounds are non-blocks.(http://dev.ckeditor.com/ticket/3836)\r
                var docFragment = newList.listNode,\r
                        boundaryNode, siblingNode;\r
 \r
        // Checks wheather this block should be element preserved (not transformed to <li>) when creating list.\r
        function shouldPreserveBlock( block ) {\r
                return (\r
-                       // #5335\r
+                       // http://dev.ckeditor.com/ticket/5335\r
                        block.is( 'pre' ) ||\r
-                       // #5271 - this is a header.\r
+                       // http://dev.ckeditor.com/ticket/5271 - this is a header.\r
                        headerTagRegex.test( block.getName() ) ||\r
                        // 11083 - this is a non-editable element.\r
                        block.getAttribute( 'contenteditable' ) == 'false'\r
 \r
        var elementType = CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT );\r
 \r
-       // Merge child nodes with direction preserved. (#7448)\r
+       // Merge child nodes with direction preserved. (http://dev.ckeditor.com/ticket/7448)\r
        function mergeChildren( from, into, refNode, forward ) {\r
                var child, itemDir;\r
                while ( ( child = from[ forward ? 'getLast' : 'getFirst' ]( elementType ) ) ) {\r
                                        selection.selectRanges( ranges );\r
                                }\r
                                // Maybe a single range there enclosing the whole list,\r
-                               // turn on the list state manually(#4129).\r
+                               // turn on the list state manually(http://dev.ckeditor.com/ticket/4129).\r
                                else {\r
                                        var range = ranges.length == 1 && ranges[ 0 ],\r
                                                enclosedNode = range && range.getEnclosedNode();\r
 \r
                                        // First, try to group by a list ancestor.\r
                                        for ( var i = pathElementsCount - 1; i >= 0 && ( element = pathElements[ i ] ); i-- ) {\r
-                                               // Don't leak outside block limit (#3940).\r
+                                               // Don't leak outside block limit (http://dev.ckeditor.com/ticket/3940).\r
                                                if ( listNodeNames[ element.getName() ] && blockLimit.contains( element ) ) {\r
                                                        // If we've encountered a list inside a block limit\r
                                                        // The last group object of the block limit element should\r
                                                        // no longer be valid. Since paragraphs after the list\r
                                                        // should belong to a different group of paragraphs before\r
-                                                       // the list. (Bug #1309)\r
+                                                       // the list. (Bug http://dev.ckeditor.com/ticket/1309)\r
                                                        blockLimit.removeCustomData( 'list_group_object_' + index );\r
 \r
                                                        var groupObj = element.getCustomData( 'list_group_object' );\r
                function mergeSibling( rtl ) {\r
                        var sibling = listNode[ rtl ? 'getPrevious' : 'getNext' ]( nonEmpty );\r
                        if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT && sibling.is( listNode.getName() ) ) {\r
-                               // Move children order by merge direction.(#3820)\r
+                               // Move children order by merge direction.(http://dev.ckeditor.com/ticket/3820)\r
                                mergeChildren( listNode, sibling, null, !rtl );\r
 \r
                                listNode.remove();\r
                        nextPath = nextCursor.startPath();\r
                        nextBlock = nextPath.block;\r
 \r
-                       // Abort when nothing to be removed (#10890).\r
+                       // Abort when nothing to be removed (http://dev.ckeditor.com/ticket/10890).\r
                        if ( !nextBlock )\r
                                break;\r
 \r
                        nextBlock.remove();\r
                }\r
 \r
-               // Check if need to further merge with the list resides after the merged block. (#9080)\r
+               // Check if need to further merge with the list resides after the merged block. (http://dev.ckeditor.com/ticket/9080)\r
                var walkerRng = nextCursor.clone(), editable = editor.editable();\r
                walkerRng.setEndAt( editable, CKEDITOR.POSITION_BEFORE_END );\r
                var walker = new CKEDITOR.dom.walker( walkerRng );\r
 \r
        CKEDITOR.plugins.add( 'list', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'bulletedlist,bulletedlist-rtl,numberedlist,numberedlist-rtl', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                                } );\r
                        }\r
 \r
-                       // Handled backspace/del key to join list items. (#8248,#9080)\r
+                       // Handled backspace/del key to join list items. (http://dev.ckeditor.com/ticket/8248,http://dev.ckeditor.com/ticket/9080)\r
                        editor.on( 'key', function( evt ) {\r
                                // Use getKey directly in order to ignore modifiers.\r
                                // Justification: http://dev.ckeditor.com/ticket/11861#comment:13\r
                                                                // Place cursor at the end of previous block.\r
                                                                cursor.moveToElementEditEnd( joinWith );\r
 \r
-                                                               // And then just before end of closest block element (#12729).\r
+                                                               // And then just before end of closest block element (http://dev.ckeditor.com/ticket/12729).\r
                                                                cursor.moveToPosition( cursor.endPath().block, CKEDITOR.POSITION_BEFORE_END );\r
                                                        }\r
                                                }\r
                                                }\r
                                                else {\r
                                                        var list = path.contains( listNodeNames );\r
-                                                       // Backspace pressed at the start of list outdents the first list item. (#9129)\r
+                                                       // Backspace pressed at the start of list outdents the first list item. (http://dev.ckeditor.com/ticket/9129)\r
                                                        if ( list && range.checkBoundaryOfElement( list, CKEDITOR.START ) ) {\r
                                                                li = list.getFirst( nonEmpty );\r
 \r
                                                                nextLine = range.clone();\r
                                                                nextLine.moveToElementEditStart( next );\r
 \r
-                                                               // #13409\r
+                                                               // http://dev.ckeditor.com/ticket/13409\r
                                                                // For the following case and similar\r
                                                                //\r
                                                                // <ul>\r
                                                                        }\r
                                                                }\r
 \r
-                                                               // Moving `cursor` and `next line` only when at the end literally (#12729).\r
+                                                               // Moving `cursor` and `next line` only when at the end literally (http://dev.ckeditor.com/ticket/12729).\r
                                                                if ( isAtEnd == 2 ) {\r
                                                                        cursor.moveToPosition( cursor.endPath().block, CKEDITOR.POSITION_BEFORE_END );\r
 \r
index 21e6b08ce3cae43bf934f56fcaa00eb1094e221c..100159a6180dbcf0c0d5edb549348d406f20aba8 100644 (file)
@@ -12,7 +12,7 @@ CKEDITOR.plugins.add( 'listblock', {
                                '<a id="{id}_option" _cke_focus=1 hidefocus=true' +\r
                                        ' title="{title}"' +\r
                                        ' href="javascript:void(\'{val}\')" ' +\r
-                                       ' {onclick}="CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;"' + // #188\r
+                                       ' {onclick}="CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;"' + // http://dev.ckeditor.com/ticket/188\r
                                                ' role="option">' +\r
                                        '{text}' +\r
                                '</a>' +\r
@@ -50,7 +50,7 @@ CKEDITOR.plugins.add( 'listblock', {
                                keys[ 38 ] = 'prev'; // ARROW-UP\r
                                keys[ CKEDITOR.SHIFT + 9 ] = 'prev'; // SHIFT + TAB\r
                                keys[ 32 ] = CKEDITOR.env.ie ? 'mouseup' : 'click'; // SPACE\r
-                               CKEDITOR.env.ie && ( keys[ 13 ] = 'mouseup' ); // Manage ENTER, since onclick is blocked in IE (#8041).\r
+                               CKEDITOR.env.ie && ( keys[ 13 ] = 'mouseup' ); // Manage ENTER, since onclick is blocked in IE (http://dev.ckeditor.com/ticket/8041).\r
 \r
                                this._.pendingHtml = [];\r
                                this._.pendingList = [];\r
@@ -180,6 +180,14 @@ CKEDITOR.plugins.add( 'listblock', {
                                        this.onMark && this.onMark( item );\r
                                },\r
 \r
+                               markFirstDisplayed: function() {\r
+                                       var context = this;\r
+                                       this._.markFirstDisplayed( function() {\r
+                                               if ( !context.multiSelect )\r
+                                                       context.unmarkAll();\r
+                                       } );\r
+                               },\r
+\r
                                unmark: function( value ) {\r
                                        var doc = this.element.getDocument(),\r
                                                itemId = this._.items[ value ],\r
diff --git a/sources/plugins/liststyle/lang/es-mx.js b/sources/plugins/liststyle/lang/es-mx.js
new file mode 100644 (file)
index 0000000..56e6fa7
--- /dev/null
@@ -0,0 +1,25 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'liststyle', 'es-mx', {\r
+       armenian: 'Numeración armenia',\r
+       bulletedTitle: 'Propiedades de la lista con viñetas',\r
+       circle: 'Círculo',\r
+       decimal: 'Decimal (1, 2, 3, etc.)',\r
+       decimalLeadingZero: 'Decimal con cero (01, 02, 03, etc.)',\r
+       disc: 'Desc',\r
+       georgian: 'Numeración gregoriana (an, ban, gan, etc.)',\r
+       lowerAlpha: 'Alfabeto minúscula (a, b, c, d, e, etc.)',\r
+       lowerGreek: 'Griego minúscula (alpha, beta, gamma, etc.)',\r
+       lowerRoman: 'Romano minúscula (i, ii, iii, iv, v, etc.)',\r
+       none: 'Ninguno',\r
+       notset: '<not set>',\r
+       numberedTitle: 'Propiedades de la lista numerada',\r
+       square: 'Cuadrado',\r
+       start: 'Inicio',\r
+       type: 'Tipo',\r
+       upperAlpha: 'Abecedario mayúscula (A, B, C, D, E, etc.)',\r
+       upperRoman: 'Romanos mayúscula (I, II, III, IV, V, etc.)',\r
+       validateStartNumber: 'El número de inicio de la lista debe ser un número entero.'\r
+} );\r
index 2d941423425bd4f5d713e8e63e7213eec75e53b3..f281edce2e8f1cac4224eb7ed89d725c3e686a45 100644 (file)
@@ -7,7 +7,7 @@
        CKEDITOR.plugins.liststyle = {\r
                requires: 'dialog,contextmenu',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                init: function( editor ) {\r
                        if ( editor.blockless )\r
diff --git a/sources/plugins/magicline/lang/es-mx.js b/sources/plugins/magicline/lang/es-mx.js
new file mode 100644 (file)
index 0000000..faf006a
--- /dev/null
@@ -0,0 +1,8 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+\r
+CKEDITOR.plugins.setLang( 'magicline', 'es-mx', {\r
+       title: 'Insertar un párrafo aquí'\r
+} );\r
index c03c48a76d8baef9e007dc49fba4745a11ce4baf..97884c008dbeca2218f1a9501ef0d1a631f5a452 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 \r
 CKEDITOR.plugins.setLang( 'magicline', 'pt', {\r
-       title: 'Insira aqui o parágrafo'\r
+       title: 'Inserir parágrafo aqui'\r
 } );\r
index ac4bb78b3ae997434036af8fb877c9b53109e436..45b6feab192e3a4b685fbb6e669ec5122d5a14ef 100644 (file)
@@ -12,7 +12,7 @@
 \r
 ( function() {\r
        CKEDITOR.plugins.add( 'magicline', {\r
-               lang: 'af,ar,az,bg,ca,cs,cy,da,de,de-ch,el,en,en-gb,eo,es,et,eu,fa,fi,fr,fr-ca,gl,he,hr,hu,id,it,ja,km,ko,ku,lv,nb,nl,no,oc,pl,pt,pt-br,ru,si,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,ca,cs,cy,da,de,de-ch,el,en,en-gb,eo,es,es-mx,et,eu,fa,fi,fr,fr-ca,gl,he,hr,hu,id,it,ja,km,ko,ku,lv,nb,nl,no,oc,pl,pt,pt-br,ru,si,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                init: initPlugin\r
        } );\r
 \r
@@ -38,7 +38,7 @@
                // %REMOVE_START%\r
                // Internal DEBUG uses tools located in the topmost window.\r
 \r
-               // (#9701) Due to security limitations some browsers may throw\r
+               // (http://dev.ckeditor.com/ticket/9701) Due to security limitations some browsers may throw\r
                // errors when accessing window.top object. Do it safely first then.\r
                try {\r
                        that.debug = window.top.DEBUG;\r
                                var elements, element, i;\r
 \r
                                for ( var t in { p: 1, br: 1, div: 1 } ) {\r
-                                       // document.find is not available in QM (#11149).\r
+                                       // document.find is not available in QM (http://dev.ckeditor.com/ticket/11149).\r
                                        elements = editor.document.getElementsByTag( t );\r
 \r
                                        for ( i = elements.count(); i--; ) {\r
                function elementFromPoint( doc, mouse ) {\r
                        var pointedElement = doc.$.elementFromPoint( mouse.x, mouse.y );\r
 \r
-                       // IE9QM: from times to times it will return an empty object on scroll bar hover. (#12185)\r
+                       // IE9QM: from times to times it will return an empty object on scroll bar hover. (http://dev.ckeditor.com/ticket/12185)\r
                        return pointedElement && pointedElement.nodeType ?\r
                                new CKEDITOR.dom.element( pointedElement ) :\r
                                null;\r
                        // If trigger is an element, neither editable nor editable's ascendant.\r
                        if ( trigger && that.editable.contains( trigger ) ) {\r
                                // Check for closest editable limit.\r
-                               // Don't consider trigger as a limit as it may be nested editable (includeSelf=false) (#12009).\r
+                               // Don't consider trigger as a limit as it may be nested editable (includeSelf=false) (http://dev.ckeditor.com/ticket/12009).\r
                                var limit = getClosestEditableLimit( trigger );\r
 \r
                                // Trigger in nested editable area.\r
 \r
                                        // Consider the editable to be an element with overflow:scroll\r
                                        // and non-zero scrollTop/scrollLeft value.\r
-                                       // For example: divarea editable. (#9383)\r
+                                       // For example: divarea editable. (http://dev.ckeditor.com/ticket/9383)\r
                                        styleSet.top += view.editable.scroll.top;\r
                                        styleSet.left += view.editable.scroll.left;\r
                                }\r
                                        var selected = editor.getSelection().getStartElement(),\r
                                                limit;\r
 \r
-                                       // (#9833) Go down to the closest non-inline element in DOM structure\r
+                                       // (http://dev.ckeditor.com/ticket/9833) Go down to the closest non-inline element in DOM structure\r
                                        // since inline elements don't participate in in magicline.\r
                                        selected = selected.getAscendant( DTD_BLOCK, 1 );\r
 \r
diff --git a/sources/plugins/maximize/lang/es-mx.js b/sources/plugins/maximize/lang/es-mx.js
new file mode 100644 (file)
index 0000000..f47486c
--- /dev/null
@@ -0,0 +1,8 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'maximize', 'es-mx', {\r
+       maximize: 'Maximizar',\r
+       minimize: 'Minimizar'\r
+} );\r
index 16967a088c9b09a47777d95548f69b0be45119fd..fbce920b9bc7ffe1531a8b60a2f637ef0725c86c 100644 (file)
@@ -51,7 +51,7 @@
                }\r
 \r
                retval.inline = $element.style.cssText || '';\r
-               if ( !isInsideEditor ) // Reset any external styles that might interfere. (#2474)\r
+               if ( !isInsideEditor ) // Reset any external styles that might interfere. (http://dev.ckeditor.com/ticket/2474)\r
                $element.style.cssText = 'position: static; overflow: visible';\r
 \r
                restoreFormStyles( data );\r
                if ( editor.editable().isInline() )\r
                        return;\r
 \r
-               // Refresh all editor instances on the page (#5724).\r
+               // Refresh all editor instances on the page (http://dev.ckeditor.com/ticket/5724).\r
                var all = CKEDITOR.instances;\r
                for ( var i in all ) {\r
                        var one = all[ i ];\r
                        if ( one.mode == 'wysiwyg' && !one.readOnly ) {\r
                                var body = one.document.getBody();\r
                                // Refresh 'contentEditable' otherwise\r
-                               // DOM lifting breaks design mode. (#5560)\r
+                               // DOM lifting breaks design mode. (http://dev.ckeditor.com/ticket/5560)\r
                                body.setAttribute( 'contentEditable', false );\r
                                body.setAttribute( 'contentEditable', true );\r
                        }\r
@@ -93,7 +93,7 @@
 \r
        CKEDITOR.plugins.add( 'maximize', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'maximize', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
                        var savedState = CKEDITOR.TRISTATE_OFF;\r
 \r
                        editor.addCommand( 'maximize', {\r
-                               // Disabled on iOS (#8307).\r
+                               // Disabled on iOS (http://dev.ckeditor.com/ticket/8307).\r
                                modes: { wysiwyg: !CKEDITOR.env.iOS, source: !CKEDITOR.env.iOS },\r
                                readOnly: 1,\r
                                editorFocus: false,\r
 \r
                                                // Hide scroll bars.\r
                                                var styles = {\r
-                                                       overflow: CKEDITOR.env.webkit ? '' : 'hidden', // #6896\r
+                                                       overflow: CKEDITOR.env.webkit ? '' : 'hidden', // http://dev.ckeditor.com/ticket/6896\r
                                                        width: 0,\r
                                                        height: 0\r
                                                };\r
                                                !CKEDITOR.env.gecko && mainDocument.getDocumentElement().setStyle( 'position', 'fixed' );\r
                                                !( CKEDITOR.env.gecko && CKEDITOR.env.quirks ) && mainDocument.getBody().setStyles( styles );\r
 \r
-                                               // Scroll to the top left (IE needs some time for it - #4923).\r
+                                               // Scroll to the top left (IE needs some time for it - http://dev.ckeditor.com/ticket/4923).\r
                                                CKEDITOR.env.ie ? setTimeout( function() {\r
                                                        mainWindow.$.scrollTo( 0, 0 );\r
                                                }, 0 ) : mainWindow.$.scrollTo( 0, 0 );\r
 \r
                                                // Resize and move to top left.\r
-                                               // Special treatment for FF Quirks (#7284)\r
+                                               // Special treatment for FF Quirks (http://dev.ckeditor.com/ticket/7284)\r
                                                container.setStyle( 'position', CKEDITOR.env.gecko && CKEDITOR.env.quirks ? 'fixed' : 'absolute' );\r
-                                               container.$.offsetLeft; // SAFARI BUG: See #2066.\r
+                                               container.$.offsetLeft; // SAFARI BUG: See http://dev.ckeditor.com/ticket/2066.\r
                                                container.setStyles( {\r
                                                        // Show under floatpanels (-1) and context menu (-2).\r
                                                        'z-index': editor.config.baseFloatZIndex - 5,\r
                                                        top: '0px'\r
                                                } );\r
 \r
-                                               // Add cke_maximized class before resize handle since that will change things sizes (#5580)\r
+                                               // Add cke_maximized class before resize handle since that will change things sizes (http://dev.ckeditor.com/ticket/5580)\r
                                                container.addClass( 'cke_maximized' );\r
 \r
                                                resizeHandler();\r
 \r
-                                               // Still not top left? Fix it. (Bug #174)\r
+                                               // Still not top left? Fix it. (Bug http://dev.ckeditor.com/ticket/174)\r
                                                var offset = container.getDocumentPosition();\r
                                                container.setStyles( {\r
                                                        left: ( -1 * offset.x ) + 'px',\r
                                                        top: ( -1 * offset.y ) + 'px'\r
                                                } );\r
 \r
-                                               // Fixing positioning editor chrome in Firefox break design mode. (#5149)\r
+                                               // Fixing positioning editor chrome in Firefox break design mode. (http://dev.ckeditor.com/ticket/5149)\r
                                                CKEDITOR.env.gecko && refreshCursor( editor );\r
                                        }\r
                                        // Restore from fullscreen if the state is on.\r
                                                // Remove cke_maximized class.\r
                                                container.removeClass( 'cke_maximized' );\r
 \r
-                                               // Webkit requires a re-layout on editor chrome. (#6695)\r
+                                               // Webkit requires a re-layout on editor chrome. (http://dev.ckeditor.com/ticket/6695)\r
                                                if ( CKEDITOR.env.webkit ) {\r
                                                        container.setStyle( 'display', 'inline' );\r
                                                        setTimeout( function() {\r
 \r
                                        // Toggle button label.\r
                                        var button = this.uiItems[ 0 ];\r
-                                       // Only try to change the button if it exists (#6166)\r
+                                       // Only try to change the button if it exists (http://dev.ckeditor.com/ticket/6166)\r
                                        if ( button ) {\r
                                                var label = ( this.state == CKEDITOR.TRISTATE_OFF ) ? lang.maximize.maximize : lang.maximize.minimize;\r
                                                var buttonNode = CKEDITOR.document.getById( button._.id );\r
                                        // Restore selection and scroll position in editing area.\r
                                        if ( editor.mode == 'wysiwyg' ) {\r
                                                if ( savedSelection ) {\r
-                                                       // Fixing positioning editor chrome in Firefox break design mode. (#5149)\r
+                                                       // Fixing positioning editor chrome in Firefox break design mode. (http://dev.ckeditor.com/ticket/5149)\r
                                                        CKEDITOR.env.gecko && refreshCursor( editor );\r
 \r
                                                        editor.getSelection().selectRanges( savedSelection );\r
                                toolbar: 'tools,10'\r
                        } );\r
 \r
-                       // Restore the command state after mode change, unless it has been changed to disabled (#6467)\r
+                       // Restore the command state after mode change, unless it has been changed to disabled (http://dev.ckeditor.com/ticket/6467)\r
                        editor.on( 'mode', function() {\r
                                var command = editor.getCommand( 'maximize' );\r
                                command.setState( command.state == CKEDITOR.TRISTATE_DISABLED ? CKEDITOR.TRISTATE_DISABLED : savedState );\r
index 1312a62614ef5ae5e08484ce125a2f6187fab089..3596e527a764fcc22fcaebf3f78e882750a80079 100644 (file)
@@ -102,13 +102,13 @@ CKEDITOR.plugins.add( 'menu', {
                menuItemSource += ' onkeypress="return false;"';\r
 \r
        // With Firefox, we need to force the button to redraw, otherwise it\r
-       // will remain in the focus state. Also we some extra help to prevent dragging (#10373).\r
+       // will remain in the focus state. Also we some extra help to prevent dragging (http://dev.ckeditor.com/ticket/10373).\r
        if ( CKEDITOR.env.gecko ) {\r
                menuItemSource += ( ' onblur="this.style.cssText = this.style.cssText;"' +\r
                        ' ondragstart="return false;"' );\r
        }\r
 \r
-       // #188\r
+       // http://dev.ckeditor.com/ticket/188\r
        menuItemSource += ' onmouseover="CKEDITOR.tools.callFunction({hoverFn},{index});"' +\r
                        ' onmouseout="CKEDITOR.tools.callFunction({moveOutFn},{index});" ' +\r
                        ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) +\r
@@ -258,7 +258,7 @@ CKEDITOR.plugins.add( 'menu', {
 \r
                                // Show the submenu.\r
                                // This timeout is needed to give time for the sub-menu get\r
-                               // focus when JAWS is running. (#9844)\r
+                               // focus when JAWS is running. (http://dev.ckeditor.com/ticket/9844)\r
                                setTimeout( function() {\r
                                        menu.show( element, 2 );\r
                                }, 0 );\r
@@ -274,7 +274,7 @@ CKEDITOR.plugins.add( 'menu', {
                        add: function( item ) {\r
                                // Later we may sort the items, but Array#sort is not stable in\r
                                // some browsers, here we're forcing the original sequence with\r
-                               // 'order' attribute if it hasn't been assigned. (#3868)\r
+                               // 'order' attribute if it hasn't been assigned. (http://dev.ckeditor.com/ticket/3868)\r
                                if ( !item.order )\r
                                        item.order = this.items.length;\r
 \r
@@ -342,7 +342,7 @@ CKEDITOR.plugins.add( 'menu', {
                                        keys[ CKEDITOR.SHIFT + 9 ] = 'prev'; // SHIFT + TAB\r
                                        keys[ ( editor.lang.dir == 'rtl' ? 37 : 39 ) ] = CKEDITOR.env.ie ? 'mouseup' : 'click'; // ARROW-RIGHT/ARROW-LEFT(rtl)\r
                                        keys[ 32 ] = CKEDITOR.env.ie ? 'mouseup' : 'click'; // SPACE\r
-                                       CKEDITOR.env.ie && ( keys[ 13 ] = 'mouseup' ); // Manage ENTER, since onclick is blocked in IE (#8041).\r
+                                       CKEDITOR.env.ie && ( keys[ 13 ] = 'mouseup' ); // Manage ENTER, since onclick is blocked in IE (http://dev.ckeditor.com/ticket/8041).\r
 \r
                                        element = this._.element = block.element;\r
 \r
diff --git a/sources/plugins/notification/lang/az.js b/sources/plugins/notification/lang/az.js
new file mode 100644 (file)
index 0000000..7b04ae2
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'az', {\r
+       closed: 'Xəbərdarlıq pəncərəsi bağlanıb'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ca.js b/sources/plugins/notification/lang/ca.js
new file mode 100644 (file)
index 0000000..bcff547
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ca', {\r
+       closed: 'Notificació tancada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/cs.js b/sources/plugins/notification/lang/cs.js
new file mode 100644 (file)
index 0000000..1bf1c04
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'cs', {\r
+       closed: 'Oznámení zavřeno.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/da.js b/sources/plugins/notification/lang/da.js
new file mode 100644 (file)
index 0000000..bd3f508
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'da', {\r
+       closed: 'Notefikation lukket.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/de-ch.js b/sources/plugins/notification/lang/de-ch.js
new file mode 100644 (file)
index 0000000..6b97661
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'de-ch', {\r
+       closed: 'Benachrichtigung geschlossen.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/de.js b/sources/plugins/notification/lang/de.js
new file mode 100644 (file)
index 0000000..2dc45a3
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'de', {\r
+       closed: 'Benachrichtigung geschlossen.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/en.js b/sources/plugins/notification/lang/en.js
new file mode 100644 (file)
index 0000000..4731650
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'en', {\r
+       closed: 'Notification closed.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/eo.js b/sources/plugins/notification/lang/eo.js
new file mode 100644 (file)
index 0000000..743b8de
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'eo', {\r
+       closed: 'Sciigo fermita'\r
+} );\r
diff --git a/sources/plugins/notification/lang/es-mx.js b/sources/plugins/notification/lang/es-mx.js
new file mode 100644 (file)
index 0000000..e759a4b
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'es-mx', {\r
+       closed: 'Notificación cerrada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/es.js b/sources/plugins/notification/lang/es.js
new file mode 100644 (file)
index 0000000..a0bc477
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'es', {\r
+       closed: 'Notificación cerrada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/eu.js b/sources/plugins/notification/lang/eu.js
new file mode 100644 (file)
index 0000000..a2a01ee
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'eu', {\r
+       closed: 'Jakinarazpena itxita.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/fr.js b/sources/plugins/notification/lang/fr.js
new file mode 100644 (file)
index 0000000..4ddacc4
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'fr', {\r
+       closed: 'Notification fermée.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/gl.js b/sources/plugins/notification/lang/gl.js
new file mode 100644 (file)
index 0000000..38f90c4
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'gl', {\r
+       closed: 'Notificación pechada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/hr.js b/sources/plugins/notification/lang/hr.js
new file mode 100644 (file)
index 0000000..e453afc
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'hr', {\r
+       closed: 'Obavijest zatvorena.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/hu.js b/sources/plugins/notification/lang/hu.js
new file mode 100644 (file)
index 0000000..48a846e
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'hu', {\r
+       closed: 'Értesítés bezárva.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/id.js b/sources/plugins/notification/lang/id.js
new file mode 100644 (file)
index 0000000..d8917af
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'id', {\r
+       closed: 'Pemberitahuan ditutup'\r
+} );\r
diff --git a/sources/plugins/notification/lang/it.js b/sources/plugins/notification/lang/it.js
new file mode 100644 (file)
index 0000000..aa48a61
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'it', {\r
+       closed: 'Notifica chiusa.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ja.js b/sources/plugins/notification/lang/ja.js
new file mode 100644 (file)
index 0000000..38469b9
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ja', {\r
+       closed: '通知を閉じました。'\r
+} );\r
diff --git a/sources/plugins/notification/lang/km.js b/sources/plugins/notification/lang/km.js
new file mode 100644 (file)
index 0000000..458db41
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'km', {\r
+       closed: 'បាន​បិទ​ការ​ផ្ដល់​ដំណឹង។'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ko.js b/sources/plugins/notification/lang/ko.js
new file mode 100644 (file)
index 0000000..001f391
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ko', {\r
+       closed: '알림이 닫힘.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ku.js b/sources/plugins/notification/lang/ku.js
new file mode 100644 (file)
index 0000000..e2bac2a
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ku', {\r
+       closed: 'ئاگادارکەرەوەکە داخرا.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/nb.js b/sources/plugins/notification/lang/nb.js
new file mode 100644 (file)
index 0000000..7a299dc
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'nb', {\r
+       closed: 'Varsling lukket.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/nl.js b/sources/plugins/notification/lang/nl.js
new file mode 100644 (file)
index 0000000..9e6c9b1
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'nl', {\r
+       closed: 'Melding gesloten.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/oc.js b/sources/plugins/notification/lang/oc.js
new file mode 100644 (file)
index 0000000..7d2445a
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'oc', {\r
+       closed: 'Notificacion tampada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/pl.js b/sources/plugins/notification/lang/pl.js
new file mode 100644 (file)
index 0000000..51a787f
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'pl', {\r
+       closed: 'Powiadomienie zostało zamknięte.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/pt-br.js b/sources/plugins/notification/lang/pt-br.js
new file mode 100644 (file)
index 0000000..f8cd30a
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'pt-br', {\r
+       closed: 'Notificação fechada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/pt.js b/sources/plugins/notification/lang/pt.js
new file mode 100644 (file)
index 0000000..3a74685
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'pt', {\r
+       closed: 'Notificação encerrada.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ru.js b/sources/plugins/notification/lang/ru.js
new file mode 100644 (file)
index 0000000..1fa54f2
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ru', {\r
+       closed: 'Уведомление закрыто'\r
+} );\r
diff --git a/sources/plugins/notification/lang/sk.js b/sources/plugins/notification/lang/sk.js
new file mode 100644 (file)
index 0000000..ec6c9c0
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'sk', {\r
+       closed: 'Notifikácia zatvorená.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/sv.js b/sources/plugins/notification/lang/sv.js
new file mode 100644 (file)
index 0000000..f7ae2ad
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'sv', {\r
+       closed: 'Notifiering stängd.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/tr.js b/sources/plugins/notification/lang/tr.js
new file mode 100644 (file)
index 0000000..5d6565a
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'tr', {\r
+       closed: 'Uyarılar kapatıldı.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/ug.js b/sources/plugins/notification/lang/ug.js
new file mode 100644 (file)
index 0000000..f0d9c78
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'ug', {\r
+       closed: 'ئوقتۇرۇش تاقالدى.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/uk.js b/sources/plugins/notification/lang/uk.js
new file mode 100644 (file)
index 0000000..aa683ae
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'uk', {\r
+       closed: 'Сповіщення закрито.'\r
+} );\r
diff --git a/sources/plugins/notification/lang/zh-cn.js b/sources/plugins/notification/lang/zh-cn.js
new file mode 100644 (file)
index 0000000..5eaf02e
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'zh-cn', {\r
+       closed: '通知已关闭'\r
+} );\r
diff --git a/sources/plugins/notification/lang/zh.js b/sources/plugins/notification/lang/zh.js
new file mode 100644 (file)
index 0000000..518b36c
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'notification', 'zh', {\r
+       closed: '通知已關閉。'\r
+} );\r
diff --git a/sources/plugins/notification/plugin.js b/sources/plugins/notification/plugin.js
new file mode 100644 (file)
index 0000000..305db28
--- /dev/null
@@ -0,0 +1,929 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+\r
+/**\r
+ * @fileOverview The "Notification" plugin.\r
+ *\r
+ */\r
+\r
+'use strict';\r
+\r
+CKEDITOR.plugins.add( 'notification', {\r
+       lang: 'az,ca,cs,da,de,de-ch,en,eo,es,es-mx,eu,fr,gl,hr,hu,id,it,ja,km,ko,ku,nb,nl,oc,pl,pt,pt-br,ru,sk,sv,tr,ug,uk,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+\r
+       init: function( editor ) {\r
+               editor._.notificationArea = new Area( editor );\r
+\r
+               // Overwrites default `editor.showNotification`.\r
+               editor.showNotification = function( message, type, progressOrDuration ) {\r
+                       var progress, duration;\r
+\r
+                       if ( type == 'progress' ) {\r
+                               progress = progressOrDuration;\r
+                       } else {\r
+                               duration = progressOrDuration;\r
+                       }\r
+\r
+                       var notification = new CKEDITOR.plugins.notification( editor, {\r
+                               message: message,\r
+                               type: type,\r
+                               progress: progress,\r
+                               duration: duration\r
+                       } );\r
+\r
+                       notification.show();\r
+\r
+                       return notification;\r
+               };\r
+\r
+               // Close the last notification on ESC.\r
+               editor.on( 'key', function( evt ) {\r
+                       if ( evt.data.keyCode == 27 ) { /* ESC */\r
+                               var notifications = editor._.notificationArea.notifications;\r
+\r
+                               if ( !notifications.length ) {\r
+                                       return;\r
+                               }\r
+\r
+                               // As long as this is not a common practice to inform screen-reader users about actions, in this case\r
+                               // this is the best solution (unfortunately there is no standard for accessibility for notifications).\r
+                               // Notification has an `alert` aria role what means that it does not get a focus nor is needed to be\r
+                               // closed (unlike `alertdialog`). However notification will capture ESC key so we need to inform user\r
+                               // why it does not do other actions.\r
+                               say( editor.lang.notification.closed );\r
+\r
+                               // Hide last.\r
+                               notifications[ notifications.length - 1 ].hide();\r
+\r
+                               evt.cancel();\r
+                       }\r
+               } );\r
+\r
+               // Send the message to the screen readers.\r
+               function say( text ) {\r
+                       var message = new CKEDITOR.dom.element( 'div' );\r
+                       message.setStyles( {\r
+                               position: 'fixed',\r
+                               'margin-left': '-9999px'\r
+                       } );\r
+                       message.setAttributes( {\r
+                               'aria-live': 'assertive',\r
+                               'aria-atomic': 'true'\r
+                       } );\r
+                       message.setText( text );\r
+\r
+                       CKEDITOR.document.getBody().append( message );\r
+\r
+                       setTimeout( function() {\r
+                               message.remove();\r
+                       }, 100 );\r
+               }\r
+       }\r
+} );\r
+\r
+/**\r
+ * Notification class. Notifications are used to display short messages to the user. They might be used to show the result of\r
+ * asynchronous actions or information about changes in the editor content. It is recommended to use them instead of\r
+ * alert dialogs. They should **not** be used if a user response is required nor with dialog windows (e.g. in dialog validation).\r
+ *\r
+ * There are four types of notifications available, see the {@link #type} property.\r
+ *\r
+ * Note that the notification constructor only creates a notification instance. To show it, use the {@link #show} method:\r
+ *\r
+ *             var notification = new CKEDITOR.plugins.notification( editor, { message: 'Foo' } );\r
+ *             notification.show();\r
+ *\r
+ * You can also use the {@link CKEDITOR.editor#showNotification} method:\r
+ *\r
+ *             editor.showNotification( 'Foo' );\r
+ *\r
+ * All of the notification actions: ({@link #show}, {@link #update} and {@link #hide}) fire cancelable events\r
+ * on the related {@link CKEDITOR.editor} instance so you can integrate editor notifications with your website notifications.\r
+ *\r
+ * Refer to the [Notifications](http://docs.ckeditor.com/#!/guide/dev_notifications) article for more information about this feature.\r
+ *\r
+ * @since 4.5\r
+ * @class CKEDITOR.plugins.notification\r
+ * @constructor Create a notification object. Call {@link #show} to show the created notification.\r
+ * @param {CKEDITOR.editor} editor The editor instance.\r
+ * @param {Object} options\r
+ * @param {String} options.message The message displayed in the notification.\r
+ * @param {String} [options.type='info'] Notification type, see {@link #type}.\r
+ * @param {Number} [options.progress=0] If the type is `progress` this may be a progress from 0 to 1.\r
+ * @param {Number} [options.duration] How long the notification will be visible, see {@link #duration}.\r
+ */\r
+function Notification( editor, options ) {\r
+       CKEDITOR.tools.extend( this, options, {\r
+               editor: editor,\r
+               id: 'cke-' + CKEDITOR.tools.getUniqueId(),\r
+               area: editor._.notificationArea\r
+       } );\r
+\r
+       if ( !options.type ) {\r
+               this.type = 'info';\r
+       }\r
+\r
+       this.element = this._createElement();\r
+\r
+       // Don't allow dragging on notification (http://dev.ckeditor.com/ticket/13184).\r
+       editor.plugins.clipboard && CKEDITOR.plugins.clipboard.preventDefaultDropOnElement( this.element );\r
+}\r
+\r
+/**\r
+ * The editor instance.\r
+ *\r
+ * @readonly\r
+ * @property {CKEDITOR.editor} editor\r
+ */\r
+\r
+/**\r
+ * Message displayed in the notification.\r
+ *\r
+ * @readonly\r
+ * @property {String} message\r
+ */\r
+\r
+/**\r
+ * Notification type. There are four types available:\r
+ *\r
+ * * `info` (default) &ndash; Information for the user (e.g. "File is uploading.", "ACF modified content."),\r
+ * * `warning` &ndash; Warning or error message (e.g. "This type of file is not supported.",\r
+ * "You cannot paste the script."),\r
+ * * `success` &ndash; Information that an operation finished successfully (e.g. "File uploaded.", "Data imported.").\r
+ * * `progress` &ndash; Information about the progress of an operation. When the operation is done, the notification\r
+ * type should be changed to `success`.\r
+ *\r
+ * @readonly\r
+ * @property {String} type\r
+ */\r
+\r
+/**\r
+ * If the notification {@link #type} is `'progress'`, this is the progress from `0` to `1`.\r
+ *\r
+ * @readonly\r
+ * @property {Number} progress\r
+ */\r
+\r
+/**\r
+ * Notification duration. Determines after how many milliseconds the notification should close automatically.\r
+ * `0` means that the notification will not close automatically and that the user needs to close it manually.\r
+ * The default value for `warning` and `progress` notifications is `0`. For `info` and `success` the value can\r
+ * either be set through the {@link CKEDITOR.config#notification_duration} configuration option or equals `5000`\r
+ * if the configuration option is not set.\r
+ *\r
+ * @readonly\r
+ * @property {Number} duration\r
+ */\r
+\r
+/**\r
+ * Unique notification ID.\r
+ *\r
+ * @readonly\r
+ * @property {Number} id\r
+ */\r
+\r
+/**\r
+ * Notification DOM element. There is one element per notification. It is created when the notification is created,\r
+ * even if it is not shown. If the notification is hidden, the element is detached from the document but not deleted.\r
+ * It will be reused if the notification is shown again.\r
+ *\r
+ * @readonly\r
+ * @property {CKEDITOR.dom.element} element\r
+ */\r
+\r
+/**\r
+ * {@link CKEDITOR.plugins.notification.area Notification area} reference.\r
+ *\r
+ * @readonly\r
+ * @property {CKEDITOR.plugins.notification.area} area\r
+ */\r
+\r
+Notification.prototype = {\r
+       /**\r
+        * Adds the notification element to the notification area. The notification will be hidden automatically if\r
+        * {@link #duration} is set.\r
+        *\r
+        * Fires the {@link CKEDITOR.editor#notificationShow} event.\r
+        */\r
+       show: function() {\r
+               if ( this.editor.fire( 'notificationShow', { notification: this } ) === false ) {\r
+                       return;\r
+               }\r
+\r
+               this.area.add( this );\r
+\r
+               this._hideAfterTimeout();\r
+       },\r
+\r
+       /**\r
+        * Updates the notification object and element.\r
+        *\r
+        * Fires the {@link CKEDITOR.editor#notificationUpdate} event.\r
+        *\r
+        * @param {Object} options\r
+        * @param {String} [options.message] {@link #message}\r
+        * @param {String} [options.type] {@link #type}\r
+        * @param {Number} [options.progress] {@link #progress}\r
+        * @param {Number} [options.duration] {@link #duration}\r
+        * @param {Boolean} [options.important=false] If the update is important, the notification will be shown\r
+        * if it was hidden and read by screen readers.\r
+        */\r
+       update: function( options ) {\r
+               var show = true;\r
+\r
+               if ( this.editor.fire( 'notificationUpdate', { notification: this, options: options } ) === false ) {\r
+                       // The idea of cancelable event is to let user create his own way of displaying notification, so if\r
+                       // `notificationUpdate` event will be canceled there will be no interaction with notification area, but on\r
+                       // the other hand the logic should work anyway so object will be updated (including `element` property).\r
+                       // Note: we can safely update the element's attributes below, because this element is created inside\r
+                       // the constructor. If the notificatinShow event was canceled as well, the element is detached from DOM.\r
+                       show = false;\r
+               }\r
+\r
+               var element = this.element,\r
+                       messageElement = element.findOne( '.cke_notification_message' ),\r
+                       progressElement = element.findOne( '.cke_notification_progress' ),\r
+                       type = options.type;\r
+\r
+               element.removeAttribute( 'role' );\r
+\r
+               // Change type to progress if `options.progress` is set.\r
+               if ( options.progress && this.type != 'progress' ) {\r
+                       type = 'progress';\r
+               }\r
+\r
+               if ( type ) {\r
+                       element.removeClass( this._getClass() );\r
+                       element.removeAttribute( 'aria-label' );\r
+\r
+                       this.type = type;\r
+\r
+                       element.addClass( this._getClass() );\r
+                       element.setAttribute( 'aria-label', this.type );\r
+\r
+                       if ( this.type == 'progress' && !progressElement ) {\r
+                               progressElement = this._createProgressElement();\r
+                               progressElement.insertBefore( messageElement );\r
+                       } else if ( this.type != 'progress' && progressElement ) {\r
+                               progressElement.remove();\r
+                       }\r
+               }\r
+\r
+               if ( options.message !== undefined ) {\r
+                       this.message = options.message;\r
+                       messageElement.setHtml( this.message );\r
+               }\r
+\r
+               if ( options.progress !== undefined ) {\r
+                       this.progress = options.progress;\r
+\r
+                       if ( progressElement ) {\r
+                               progressElement.setStyle( 'width', this._getPercentageProgress() );\r
+                       }\r
+               }\r
+\r
+               if ( show && options.important ) {\r
+                       element.setAttribute( 'role', 'alert' );\r
+\r
+                       if ( !this.isVisible() ) {\r
+                               this.area.add( this );\r
+                       }\r
+               }\r
+\r
+               // Overwrite even if it is undefined.\r
+               this.duration = options.duration;\r
+\r
+               this._hideAfterTimeout();\r
+       },\r
+\r
+       /**\r
+        * Removes the notification element from the notification area.\r
+        *\r
+        * Fires the {@link CKEDITOR.editor#notificationHide} event.\r
+        */\r
+       hide: function() {\r
+               if ( this.editor.fire( 'notificationHide', { notification: this } ) === false ) {\r
+                       return;\r
+               }\r
+\r
+               this.area.remove( this );\r
+       },\r
+\r
+       /**\r
+        * Returns `true` if the notification is in the notification area.\r
+        *\r
+        * @returns {Boolean} `true` if the notification is in the notification area.\r
+        */\r
+       isVisible: function() {\r
+               return CKEDITOR.tools.indexOf( this.area.notifications, this ) >= 0;\r
+       },\r
+\r
+       /**\r
+        * Creates the notification DOM element.\r
+        *\r
+        * @private\r
+        * @returns {CKEDITOR.dom.element} Notification DOM element.\r
+        */\r
+       _createElement: function() {\r
+               var notification = this,\r
+                       notificationElement, notificationMessageElement, notificationCloseElement,\r
+                       close = this.editor.lang.common.close;\r
+\r
+               notificationElement = new CKEDITOR.dom.element( 'div' );\r
+               notificationElement.addClass( 'cke_notification' );\r
+               notificationElement.addClass( this._getClass() );\r
+               notificationElement.setAttributes( {\r
+                       id: this.id,\r
+                       role: 'alert',\r
+                       'aria-label': this.type\r
+               } );\r
+\r
+               if ( this.type == 'progress' )\r
+                       notificationElement.append( this._createProgressElement() );\r
+\r
+               notificationMessageElement = new CKEDITOR.dom.element( 'p' );\r
+               notificationMessageElement.addClass( 'cke_notification_message' );\r
+               notificationMessageElement.setHtml( this.message );\r
+               notificationElement.append( notificationMessageElement );\r
+\r
+               notificationCloseElement = CKEDITOR.dom.element.createFromHtml(\r
+                       '<a class="cke_notification_close" href="javascript:void(0)" title="' + close + '" role="button" tabindex="-1">' +\r
+                               '<span class="cke_label">X</span>' +\r
+                       '</a>' );\r
+               notificationElement.append( notificationCloseElement );\r
+\r
+               notificationCloseElement.on( 'click', function() {\r
+                       // Focus editor on close (http://dev.ckeditor.com/ticket/12865)\r
+                       notification.editor.focus();\r
+\r
+                       notification.hide();\r
+               } );\r
+\r
+               return notificationElement;\r
+       },\r
+\r
+       /**\r
+        * Gets the notification CSS class.\r
+        *\r
+        * @private\r
+        * @returns {String} Notification CSS class.\r
+        */\r
+       _getClass: function() {\r
+               return ( this.type == 'progress' ) ?\r
+                       'cke_notification_info' :\r
+                       ( 'cke_notification_' + this.type );\r
+       },\r
+\r
+       /**\r
+        * Creates a progress element for the notification element.\r
+        *\r
+        * @private\r
+        * @returns {CKEDITOR.dom.element} Progress element for the notification element.\r
+        */\r
+       _createProgressElement: function() {\r
+               var element = new CKEDITOR.dom.element( 'span' );\r
+               element.addClass( 'cke_notification_progress' );\r
+               element.setStyle( 'width', this._getPercentageProgress() );\r
+               return element;\r
+       },\r
+\r
+       /**\r
+        * Gets the progress as a percentage (ex. `0.3` -> `30%`).\r
+        *\r
+        * @private\r
+        * @returns {String} Progress as a percentage.\r
+        */\r
+       _getPercentageProgress: function() {\r
+               return Math.round( ( this.progress || 0 ) * 100 ) + '%';\r
+       },\r
+\r
+       /**\r
+        * Hides the notification after a timeout.\r
+        *\r
+        * @private\r
+        */\r
+       _hideAfterTimeout: function() {\r
+               var notification = this,\r
+                       duration;\r
+\r
+               if ( this._hideTimeoutId ) {\r
+                       clearTimeout( this._hideTimeoutId );\r
+               }\r
+\r
+               if ( typeof this.duration == 'number' ) {\r
+                       duration = this.duration;\r
+               } else if ( this.type == 'info' || this.type == 'success' ) {\r
+                       duration = ( typeof this.editor.config.notification_duration == 'number' ) ?\r
+                               this.editor.config.notification_duration :\r
+                               5000;\r
+               }\r
+\r
+               if ( duration ) {\r
+                       notification._hideTimeoutId = setTimeout( function() {\r
+                               notification.hide();\r
+                       }, duration );\r
+               }\r
+       }\r
+};\r
+\r
+/**\r
+ * Notification area is an area where all notifications are put. The area is laid out dynamically.\r
+ * When the first notification is added, the area is shown and all listeners are added.\r
+ * When the last notification is removed, the area is hidden and all listeners are removed.\r
+ *\r
+ * @since 4.5\r
+ * @private\r
+ * @class CKEDITOR.plugins.notification.area\r
+ * @constructor\r
+ * @param {CKEDITOR.editor} editor The editor instance.\r
+ */\r
+function Area( editor ) {\r
+       var that = this;\r
+\r
+       this.editor = editor;\r
+       this.notifications = [];\r
+       this.element = this._createElement();\r
+       this._uiBuffer = CKEDITOR.tools.eventsBuffer( 10, this._layout, this );\r
+       this._changeBuffer = CKEDITOR.tools.eventsBuffer( 500, this._layout, this );\r
+\r
+       editor.on( 'destroy', function() {\r
+               that._removeListeners();\r
+               that.element.remove();\r
+       } );\r
+}\r
+\r
+/**\r
+ * The editor instance.\r
+ *\r
+ * @readonly\r
+ * @property {CKEDITOR.editor} editor\r
+ */\r
+\r
+/**\r
+ * The array of added notifications.\r
+ *\r
+ * @readonly\r
+ * @property {Array} notifications\r
+ */\r
+\r
+/**\r
+ * Notification area DOM element. This element is created when the area object is created. It will be attached to the document\r
+ * when the first notification is added and removed when the last notification is removed.\r
+ *\r
+ * @readonly\r
+ * @property {CKEDITOR.dom.element} element\r
+ */\r
+\r
+/**\r
+ * Notification width. Cached for performance reasons.\r
+ *\r
+ * @private\r
+ * @property {CKEDITOR.dom.element} _notificationWidth\r
+ */\r
+\r
+/**\r
+ * Notification margin. Cached for performance reasons.\r
+ *\r
+ * @private\r
+ * @property {CKEDITOR.dom.element} _notificationMargin\r
+ */\r
+\r
+/**\r
+ * Event buffer object for UI events to optimize performance.\r
+ *\r
+ * @private\r
+ * @property {Object} _uiBuffer\r
+ */\r
+\r
+/**\r
+ * Event buffer object for editor change events to optimize performance.\r
+ *\r
+ * @private\r
+ * @property {Object} _changeBuffer\r
+ */\r
+\r
+Area.prototype = {\r
+       /**\r
+        * Adds the notification to the notification area. If it is the first notification, the area will also be attached to\r
+        * the document and listeners will be attached.\r
+        *\r
+        * Note that the proper way to show a notification is to call the {@link CKEDITOR.plugins.notification#show} method.\r
+        *\r
+        * @param {CKEDITOR.plugins.notification} notification Notification to add.\r
+        */\r
+       add: function( notification ) {\r
+               this.notifications.push( notification );\r
+\r
+               this.element.append( notification.element );\r
+\r
+               if ( this.element.getChildCount() == 1 ) {\r
+                       CKEDITOR.document.getBody().append( this.element );\r
+                       this._attachListeners();\r
+               }\r
+\r
+               this._layout();\r
+       },\r
+\r
+       /**\r
+        * Removes the notification from the notification area. If it is the last notification, the area will also be\r
+        * detached from the document and listeners will be detached.\r
+        *\r
+        * Note that the proper way to hide a notification is to call the {@link CKEDITOR.plugins.notification#hide} method.\r
+        *\r
+        * @param {CKEDITOR.plugins.notification} notification Notification to remove.\r
+        */\r
+       remove: function( notification ) {\r
+               var i = CKEDITOR.tools.indexOf( this.notifications, notification );\r
+\r
+               if ( i < 0 ) {\r
+                       return;\r
+               }\r
+\r
+               this.notifications.splice( i, 1 );\r
+\r
+               notification.element.remove();\r
+\r
+               if ( !this.element.getChildCount() ) {\r
+                       this._removeListeners();\r
+                       this.element.remove();\r
+               }\r
+       },\r
+\r
+       /**\r
+        * Creates the notification area element.\r
+        *\r
+        * @private\r
+        * @returns {CKEDITOR.dom.element} Notification area element.\r
+        */\r
+       _createElement: function() {\r
+               var editor = this.editor,\r
+                       config = editor.config,\r
+                       notificationArea = new CKEDITOR.dom.element( 'div' );\r
+\r
+               notificationArea.addClass( 'cke_notifications_area' );\r
+               notificationArea.setAttribute( 'id', 'cke_notifications_area_' + editor.name );\r
+               notificationArea.setStyle( 'z-index', config.baseFloatZIndex - 2 );\r
+\r
+               return notificationArea;\r
+       },\r
+\r
+       /**\r
+        * Attaches listeners to the notification area.\r
+        *\r
+        * @private\r
+        */\r
+       _attachListeners: function() {\r
+               var win = CKEDITOR.document.getWindow(),\r
+                       editor = this.editor;\r
+\r
+               win.on( 'scroll', this._uiBuffer.input );\r
+               win.on( 'resize', this._uiBuffer.input );\r
+               editor.on( 'change', this._changeBuffer.input );\r
+               editor.on( 'floatingSpaceLayout', this._layout, this, null, 20 );\r
+               editor.on( 'blur', this._layout, this, null, 20 );\r
+       },\r
+\r
+       /**\r
+        * Detaches listeners from the notification area.\r
+        *\r
+        * @private\r
+        */\r
+       _removeListeners: function() {\r
+               var win = CKEDITOR.document.getWindow(),\r
+                       editor = this.editor;\r
+\r
+               win.removeListener( 'scroll', this._uiBuffer.input );\r
+               win.removeListener( 'resize', this._uiBuffer.input );\r
+               editor.removeListener( 'change', this._changeBuffer.input );\r
+               editor.removeListener( 'floatingSpaceLayout', this._layout );\r
+               editor.removeListener( 'blur', this._layout );\r
+       },\r
+\r
+       /**\r
+        * Sets the position of the notification area based on the editor content, toolbar as well as\r
+        * viewport position and dimensions.\r
+        *\r
+        * @private\r
+        */\r
+       _layout: function() {\r
+               var area = this.element,\r
+                       editor = this.editor,\r
+                       contentsRect = editor.ui.contentsElement.getClientRect(),\r
+                       contentsPos = editor.ui.contentsElement.getDocumentPosition(),\r
+                       top,\r
+                       topRect,\r
+                       areaRect = area.getClientRect(),\r
+                       notification,\r
+                       notificationWidth = this._notificationWidth,\r
+                       notificationMargin = this._notificationMargin,\r
+                       win = CKEDITOR.document.getWindow(),\r
+                       scrollPos = win.getScrollPosition(),\r
+                       viewRect = win.getViewPaneSize(),\r
+                       body = CKEDITOR.document.getBody(),\r
+                       bodyPos = body.getDocumentPosition(),\r
+                       cssLength = CKEDITOR.tools.cssLength;\r
+\r
+               // Cache for optimization\r
+               if ( !notificationWidth || !notificationMargin ) {\r
+                       notification = this.element.getChild( 0 );\r
+                       notificationWidth = this._notificationWidth = notification.getClientRect().width;\r
+                       notificationMargin = this._notificationMargin =\r
+                               parseInt( notification.getComputedStyle( 'margin-left' ), 10 ) +\r
+                               parseInt( notification.getComputedStyle( 'margin-right' ), 10 );\r
+               }\r
+\r
+               // Check if toolbar exist and if so, then assign values to it (#491).\r
+               if ( editor.toolbar ) {\r
+                       top = editor.ui.space( 'top' );\r
+                       topRect = top.getClientRect();\r
+               }\r
+\r
+\r
+               // --------------------------------------- Horizontal layout ----------------------------------------\r
+\r
+               // +---Viewport-------------------------------+          +---Viewport-------------------------------+\r
+               // |                                          |          |                                          |\r
+               // | +---Toolbar----------------------------+ |          | +---Content----------------------------+ |\r
+               // | |                                      | |          | |                                      | |\r
+               // | +---Content----------------------------+ |          | |                                      | |\r
+               // | |                                      | |          | +---Toolbar----------------------+     | |\r
+               // | |      +------Notification------+      | |          | |                                |     | |\r
+               // | |                                      | |    OR    | +--------------------------------+     | |\r
+               // | |                                      | |          | |                                      | |\r
+               // | |                                      | |          | |      +------Notification------+      | |\r
+               // | |                                      | |          | |                                      | |\r
+               // | |                                      | |          | |                                      | |\r
+               // | +--------------------------------------+ |          | +--------------------------------------+ |\r
+               // +------------------------------------------+          +------------------------------------------+\r
+               if ( top && top.isVisible() &&\r
+                       topRect.bottom > contentsRect.top &&\r
+                       topRect.bottom < contentsRect.bottom - areaRect.height ) {\r
+                       setBelowToolbar();\r
+\r
+               // +---Viewport-------------------------------+\r
+               // |                                          |\r
+               // | +---Content----------------------------+ |\r
+               // | |                                      | |\r
+               // | |      +------Notification------+      | |\r
+               // | |                                      | |\r
+               // | |                                      | |\r
+               // | |                                      | |\r
+               // | +--------------------------------------+ |\r
+               // |                                          |\r
+               // +------------------------------------------+\r
+               } else if ( contentsRect.top > 0 ) {\r
+                       setTopStandard();\r
+\r
+               //   +---Content----------------------------+\r
+               //   |                                      |\r
+               // +---Viewport-------------------------------+\r
+               // | |                                      | |\r
+               // | |      +------Notification------+      | |\r
+               // | |                                      | |\r
+               // | |                                      | |\r
+               // | |                                      | |\r
+               // | +--------------------------------------+ |\r
+               // |                                          |\r
+               // +------------------------------------------+\r
+               } else if ( contentsPos.y + contentsRect.height - areaRect.height > scrollPos.y ) {\r
+                       setTopFixed();\r
+\r
+               //   +---Content----------------------------+              +---Content----------------------------+\r
+               //   |                                      |              |                                      |\r
+               //   |                                      |              |                                      |\r
+               //   |                                      |              |      +------Notification------+      |\r
+               //   |                                      |              |                                      |\r
+               //   |                                      |      OR      +--------------------------------------+\r
+               // +---Viewport-------------------------------+\r
+               // | |      +------Notification------+      | |          +---Viewport-------------------------------+\r
+               // | |                                      | |          |                                          |\r
+               // | +--------------------------------------+ |          |                                          |\r
+               // |                                          |          |                                          |\r
+               // +------------------------------------------+          +------------------------------------------+\r
+               } else {\r
+                       setBottom();\r
+               }\r
+\r
+               function setTopStandard() {\r
+                       area.setStyles( {\r
+                               position: 'absolute',\r
+                               top: cssLength( contentsPos.y )\r
+                       } );\r
+               }\r
+\r
+               function setBelowToolbar() {\r
+                       area.setStyles( {\r
+                               position: 'fixed',\r
+                               top: cssLength( topRect.bottom )\r
+                       } );\r
+               }\r
+\r
+               function setTopFixed() {\r
+                       area.setStyles( {\r
+                               position: 'fixed',\r
+                               top: 0\r
+                       } );\r
+               }\r
+\r
+               function setBottom() {\r
+                       area.setStyles( {\r
+                               position: 'absolute',\r
+                               top: cssLength( contentsPos.y + contentsRect.height - areaRect.height )\r
+                       } );\r
+               }\r
+\r
+               // ---------------------------------------- Vertical layout -----------------------------------------\r
+\r
+               var leftBase = area.getStyle( 'position' ) == 'fixed' ?\r
+                       contentsRect.left :\r
+                       body.getComputedStyle( 'position' ) != 'static' ? contentsPos.x - bodyPos.x : contentsPos.x;\r
+\r
+               // Content is narrower than notification\r
+               if ( contentsRect.width < notificationWidth + notificationMargin ) {\r
+\r
+                       // +---Viewport-------------------------------+\r
+                       // |                                          |\r
+                       // |                 +---Content------------+ |\r
+                       // |                 |                      | |\r
+                       // |             +------Notification------+ | |\r
+                       // |                 |                      | |\r
+                       // |                 +----------------------+ |\r
+                       // |                                          |\r
+                       // +------------------------------------------+\r
+                       if ( contentsPos.x + notificationWidth + notificationMargin > scrollPos.x + viewRect.width ) {\r
+                               setRight();\r
+\r
+                       // +---Viewport-------------------------------+               +---Viewport--------------------------+\r
+                       // |                                          |               |                                     |\r
+                       // |     +---Content------------+             |            +---Content------------+                 |\r
+                       // |     |                      |             |            |  |                   |                 |\r
+                       // |     | +------Notification------+         |    OR      | +------Notification------+             |\r
+                       // |     |                      |             |            |  |                   |                 |\r
+                       // |     +----------------------+             |            +----------------------+                 |\r
+                       // |                                          |               |                                     |\r
+                       // +------------------------------------------+               +-------------------------------------+\r
+                       } else {\r
+                               setLeft();\r
+                       }\r
+\r
+               // Content is wider than notification.\r
+               } else {\r
+\r
+                       //                       +--+Viewport+------------------------+\r
+                       //                       |                                    |\r
+                       //                       |             +---Content-----------------------------------------+\r
+                       //                       |             |                      |                            |\r
+                       //                       |             | +-----+Notification+-----+                        |\r
+                       //                       |             |                      |                            |\r
+                       //                       |             |                      |                            |\r
+                       //                       |             |                      |                            |\r
+                       //                       |             +---------------------------------------------------+\r
+                       //                       |                                    |\r
+                       //                       +------------------------------------+\r
+                       if ( contentsPos.x + notificationWidth + notificationMargin > scrollPos.x + viewRect.width ) {\r
+                               setLeft();\r
+\r
+                       //                       +---Viewport-------------------------+\r
+                       //                       |                                    |\r
+                       //                       |  +---Content----------------------------------------------+\r
+                       //                       |  |                                 |                      |\r
+                       //                       |  |      +------Notification------+ |                      |\r
+                       //                       |  |                                 |                      |\r
+                       //                       |  |                                 |                      |\r
+                       //                       |  +--------------------------------------------------------+\r
+                       //                       |                                    |\r
+                       //                       +------------------------------------+\r
+                       } else if ( contentsPos.x + contentsRect.width / 2 +\r
+                               notificationWidth / 2 + notificationMargin > scrollPos.x + viewRect.width ) {\r
+                               setRightFixed();\r
+\r
+                       //                       +---Viewport-------------------------+\r
+                       //                       |                                    |\r
+                       //   +---Content----------------------------+                 |\r
+                       //   |                   |                  |                 |\r
+                       //   |           +------Notification------+ |                 |\r
+                       //   |                   |                  |                 |\r
+                       //   |                   |                  |                 |\r
+                       //   +--------------------------------------+                 |\r
+                       //                       |                                    |\r
+                       //                       +------------------------------------+\r
+                       } else if ( contentsRect.left + contentsRect.width - notificationWidth - notificationMargin < 0 ) {\r
+                               setRight();\r
+\r
+                       //                       +---Viewport-------------------------+\r
+                       //                       |                                    |\r
+                       // +---Content---------------------------------------------+  |\r
+                       // |                     |                                 |  |\r
+                       // |                     | +------Notification------+      |  |\r
+                       // |                     |                                 |  |\r
+                       // |                     |                                 |  |\r
+                       // +-------------------------------------------------------+  |\r
+                       //                       |                                    |\r
+                       //                       +------------------------------------+\r
+                       } else if ( contentsRect.left + contentsRect.width / 2 - notificationWidth / 2 < 0 ) {\r
+                               setLeftFixed();\r
+\r
+                       //                       +---Viewport-------------------------+\r
+                       //                       |                                    |\r
+                       //                       | +---Content----------------------+ |\r
+                       //                       | |                                | |\r
+                       //                       | |    +-----Notification-----+    | |\r
+                       //                       | |                                | |\r
+                       //                       | |                                | |\r
+                       //                       | +--------------------------------+ |\r
+                       //                       |                                    |\r
+                       //                       +------------------------------------+\r
+                       } else {\r
+                               setCenter();\r
+                       }\r
+               }\r
+\r
+               function setLeft() {\r
+                       area.setStyle( 'left', cssLength( leftBase ) );\r
+               }\r
+\r
+               function setLeftFixed() {\r
+                       area.setStyle( 'left', cssLength( leftBase - contentsPos.x + scrollPos.x ) );\r
+               }\r
+\r
+               function setCenter() {\r
+                       area.setStyle( 'left', cssLength( leftBase + contentsRect.width / 2 - notificationWidth / 2 - notificationMargin / 2 ) );\r
+               }\r
+\r
+               function setRight() {\r
+                       area.setStyle( 'left', cssLength( leftBase + contentsRect.width - notificationWidth - notificationMargin ) );\r
+               }\r
+\r
+               function setRightFixed() {\r
+                       area.setStyle( 'left', cssLength( leftBase - contentsPos.x + scrollPos.x + viewRect.width -\r
+                               notificationWidth - notificationMargin ) );\r
+               }\r
+       }\r
+};\r
+\r
+CKEDITOR.plugins.notification = Notification;\r
+\r
+/**\r
+ * After how many milliseconds the notification of the `info` and `success`\r
+ * {@link CKEDITOR.plugins.notification#type type} should close automatically.\r
+ * `0` means that notifications will not close automatically.\r
+ * Note that `warning` and `progress` notifications will never close automatically.\r
+ *\r
+ * Refer to the [Notifications](http://docs.ckeditor.com/#!/guide/dev_notifications) article\r
+ * for more information about this feature.\r
+ *\r
+ * @since 4.5\r
+ * @cfg {Number} [notification_duration=5000]\r
+ * @member CKEDITOR.config\r
+ */\r
+\r
+/**\r
+ * Event fired when the {@link CKEDITOR.plugins.notification#show} method is called, before the\r
+ * notification is shown. If this event is canceled, the notification will not be shown.\r
+ *\r
+ * Using this event allows you to fully customize how a notification will be shown. It may be used to integrate\r
+ * the CKEditor notification system with your web page notifications.\r
+ *\r
+ * @since 4.5\r
+ * @event notificationShow\r
+ * @member CKEDITOR.editor\r
+ * @param data\r
+ * @param {CKEDITOR.plugins.notification} data.notification Notification which will be shown.\r
+ * @param {CKEDITOR.editor} editor The editor instance.\r
+ */\r
+\r
+/**\r
+ * Event fired when the {@link CKEDITOR.plugins.notification#update} method is called, before the\r
+ * notification is updated. If this event is canceled, the notification will not be shown even if the update was important,\r
+ * but the object will be updated anyway. Note that canceling this event does not prevent updating {@link #element}\r
+ * attributes, but if {@link #notificationShow} was canceled as well, this element is detached from the DOM.\r
+ *\r
+ * Using this event allows you to fully customize how a notification will be updated. It may be used to integrate\r
+ * the CKEditor notification system with your web page notifications.\r
+ *\r
+ * @since 4.5\r
+ * @event notificationUpdate\r
+ * @member CKEDITOR.editor\r
+ * @param data\r
+ * @param {CKEDITOR.plugins.notification} data.notification Notification which will be updated.\r
+ * Note that it contains the data that has not been updated yet.\r
+ * @param {Object} data.options Update options, see {@link CKEDITOR.plugins.notification#update}.\r
+ * @param {CKEDITOR.editor} editor The editor instance.\r
+ */\r
+\r
+/**\r
+ * Event fired when the {@link CKEDITOR.plugins.notification#hide} method is called, before the\r
+ * notification is hidden. If this event is canceled, the notification will not be hidden.\r
+ *\r
+ * Using this event allows you to fully customize how a notification will be hidden. It may be used to integrate\r
+ * the CKEditor notification system with your web page notifications.\r
+ *\r
+ * @since 4.5\r
+ * @event notificationHide\r
+ * @member CKEDITOR.editor\r
+ * @param data\r
+ * @param {CKEDITOR.plugins.notification} data.notification Notification which will be hidden.\r
+ * @param {CKEDITOR.editor} editor The editor instance.\r
+ */\r
index b64c5407c27ca3f388fd7a7b8a6f4372d1ce5a42..816ccc48b2ae4d2fd1710626172b5dd47030d7b6 100644 (file)
@@ -99,7 +99,7 @@
                                                        parentDiv = iframe.getParent(),\r
                                                        doc = iframe.getFrameDocument();\r
 \r
-                                               // Make it scrollable on iOS. (#8308)\r
+                                               // Make it scrollable on iOS. (http://dev.ckeditor.com/ticket/8308)\r
                                                CKEDITOR.env.iOS && parentDiv.setStyles( {\r
                                                        'overflow': 'scroll',\r
                                                        '-webkit-overflow-scrolling': 'touch'\r
                                                // Register the CKEDITOR global.\r
                                                win.$.CKEDITOR = CKEDITOR;\r
 \r
-                                               // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534).\r
+                                               // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (http://dev.ckeditor.com/ticket/4534).\r
                                                doc.on( 'keydown', function( evt ) {\r
                                                        var keystroke = evt.data.getKeystroke(),\r
                                                                dir = this.document.getById( this.id ).getAttribute( 'dir' );\r
                                current = this._.currentBlock;\r
 \r
                        // ARIA role works better in IE on the body element, while on the iframe\r
-                       // for FF. (#8864)\r
+                       // for FF. (http://dev.ckeditor.com/ticket/8864)\r
                        var holder = !this.forceIFrame || CKEDITOR.env.ie ? this._.holder : this.document.getById( this.id + '_frame' );\r
 \r
                        if ( current )\r
                                var links = this.element.getElementsByTag( 'a' );\r
                                var item = links.getItem( this._.focusIndex = index );\r
 \r
-                               // Safari need focus on the iframe window first(#3389), but we need\r
+                               // Safari need focus on the iframe window first(http://dev.ckeditor.com/ticket/3389), but we need\r
                                // lock the blur to avoid hiding the panel.\r
                                if ( CKEDITOR.env.webkit )\r
                                        item.getDocument().getWindow().focus();\r
                                item.focus();\r
 \r
                                this.onMark && this.onMark( item );\r
+                       },\r
+\r
+                       /**\r
+                        * Marks the first visible item or the one whose `aria-selected` attribute is set to `true`.\r
+                        * The latter has priority over the former.\r
+                        *\r
+                        * @private\r
+                        * @param beforeMark function to be executed just before marking.\r
+                        * Used in cases when any preparatory cleanup (like unmarking all items) would simultaneously\r
+                        * destroy the information that is needed to determine the focused item.\r
+                        */\r
+                       markFirstDisplayed: function( beforeMark ) {\r
+                               var notDisplayed = function( element ) {\r
+                                               return element.type == CKEDITOR.NODE_ELEMENT && element.getStyle( 'display' ) == 'none';\r
+                                       },\r
+                                       links = this._.getItems(),\r
+                                       item, focused;\r
+\r
+                               for ( var i = links.count() - 1; i >= 0; i-- ) {\r
+                                       item = links.getItem( i );\r
+\r
+                                       if ( !item.getAscendant( notDisplayed ) ) {\r
+                                               focused = item;\r
+                                               this._.focusIndex = i;\r
+                                       }\r
+\r
+                                       if ( item.getAttribute( 'aria-selected' ) == 'true' ) {\r
+                                               focused = item;\r
+                                               this._.focusIndex = i;\r
+                                               break;\r
+                                       }\r
+                               }\r
+\r
+                               if ( !focused ) {\r
+                                       return;\r
+                               }\r
+\r
+                               if ( beforeMark ) {\r
+                                       beforeMark();\r
+                               }\r
+\r
+                               if ( CKEDITOR.env.webkit )\r
+                                       focused.getDocument().getWindow().focus();\r
+                               focused.focus();\r
+\r
+                               this.onMark && this.onMark( focused );\r
+                       },\r
+\r
+                       /**\r
+                        * Returns a `CKEDITOR.dom.nodeList` of block items.\r
+                        *\r
+                        * @returns {*|CKEDITOR.dom.nodeList}\r
+                        */\r
+                       getItems: function() {\r
+                               return this.element.getElementsByTag( 'a' );\r
                        }\r
                },\r
 \r
                                                        }\r
                                                }\r
 \r
-                                               // If no link was found, cycle and restart from the top. (#11125)\r
+                                               // If no link was found, cycle and restart from the top. (http://dev.ckeditor.com/ticket/11125)\r
                                                if ( !link && !noCycle ) {\r
                                                        this._.focusIndex = -1;\r
                                                        return this.onKeyDown( keystroke, 1 );\r
                                                        }\r
 \r
                                                        // Make sure link is null when the loop ends and nothing was\r
-                                                       // found (#11125).\r
+                                                       // found (http://dev.ckeditor.com/ticket/11125).\r
                                                        link = null;\r
                                                }\r
 \r
-                                               // If no link was found, cycle and restart from the bottom. (#11125)\r
+                                               // If no link was found, cycle and restart from the bottom. (http://dev.ckeditor.com/ticket/11125)\r
                                                if ( !link && !noCycle ) {\r
                                                        this._.focusIndex = links.count();\r
                                                        return this.onKeyDown( keystroke, 1 );\r
index 352d23934bb0d4118e6f74cac2fee34d142e5b56..89b6201d0d66251c41e2057254ef557eb70ecab8 100644 (file)
@@ -48,7 +48,7 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype, {
                        return false;\r
 \r
                try {\r
-                       // Chrome is problematic with moveTo/resizeTo, but it's not really needed here (#8855).\r
+                       // Chrome is problematic with moveTo/resizeTo, but it's not really needed here (http://dev.ckeditor.com/ticket/8855).\r
                        var ua = navigator.userAgent.toLowerCase();\r
                        if ( ua.indexOf( ' chrome/' ) == -1 ) {\r
                                popupWindow.moveTo( left, top );\r
diff --git a/sources/plugins/removeformat/lang/es-mx.js b/sources/plugins/removeformat/lang/es-mx.js
new file mode 100644 (file)
index 0000000..dda30c5
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'removeformat', 'es-mx', {\r
+       toolbar: 'Remover formato'\r
+} );\r
index 20f7ecbae80a633b9406c277256c1da7170ccba5..94360eed3eff2686b4f2fb4790a2d4a2408dc073 100644 (file)
@@ -5,7 +5,7 @@
 \r
 CKEDITOR.plugins.add( 'removeformat', {\r
        // jscs:disable maximumLineLength\r
-       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+       lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
        // jscs:enable maximumLineLength\r
        icons: 'removeformat', // %REMOVE_LINE_CORE%\r
        hidpi: true, // %REMOVE_LINE_CORE%\r
@@ -120,7 +120,7 @@ CKEDITOR.plugins.removeformat = {
                                }\r
 \r
                                // The selection path may not changed, but we should force a selection\r
-                               // change event to refresh command states, due to the above attribution change. (#9238)\r
+                               // change event to refresh command states, due to the above attribution change. (http://dev.ckeditor.com/ticket/9238)\r
                                editor.forceNextSelectionCheck();\r
                                editor.getSelection().selectRanges( ranges );\r
                        }\r
index 095ee1299c488aae53ed4ba2fc865cf3120b255e..123dd2d9714a57b7b660275c2e99f26f9a2b708e 100644 (file)
@@ -19,7 +19,7 @@ CKEDITOR.plugins.add( 'resize', {
                        if ( resizeVertical )\r
                                height = Math.max( config.resize_minHeight, Math.min( internalHeight, config.resize_maxHeight ) );\r
 \r
-                       // DO NOT impose fixed size with single direction resize. (#6308)\r
+                       // DO NOT impose fixed size with single direction resize. (http://dev.ckeditor.com/ticket/6308)\r
                        editor.resize( resizeHorizontal ? width : null, height );\r
                }\r
 \r
@@ -37,7 +37,7 @@ CKEDITOR.plugins.add( 'resize', {
                var spaceId = editor.ui.spaceId( 'resizer' );\r
 \r
                // Resize in the same direction of chrome,\r
-               // which is identical to dir of editor element. (#6614)\r
+               // which is identical to dir of editor element. (http://dev.ckeditor.com/ticket/6614)\r
                var resizeDir = editor.element ? editor.element.getDirection( 1 ) : 'ltr';\r
 \r
                !config.resize_dir && ( config.resize_dir = 'vertical' );\r
index 231a7c7e22946ae84a366237e066c115834efffe..15b04b181bab53bc1358ffd0df8d6c1f721bcd18 100644 (file)
@@ -37,7 +37,7 @@ CKEDITOR.plugins.add( 'richcombo', {
        template +=\r
                ' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event,this);"' +\r
                ' onfocus="return CKEDITOR.tools.callFunction({focusFn},event);" ' +\r
-                       ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // #188\r
+                       ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // http://dev.ckeditor.com/ticket/188\r
                                '="CKEDITOR.tools.callFunction({clickFn},this);return false;">' +\r
                        '<span id="{id}_text" class="cke_combo_text cke_combo_inlinelabel">{label}</span>' +\r
                        '<span class="cke_combo_open">' +\r
@@ -160,7 +160,7 @@ CKEDITOR.plugins.add( 'richcombo', {
                                };\r
 \r
                                function updateState() {\r
-                                       // Don't change state while richcombo is active (#11793).\r
+                                       // Don't change state while richcombo is active (http://dev.ckeditor.com/ticket/11793).\r
                                        if ( this.getState() == CKEDITOR.TRISTATE_ON )\r
                                                return;\r
 \r
@@ -189,15 +189,6 @@ CKEDITOR.plugins.add( 'richcombo', {
 \r
                                        var keystroke = ev.getKeystroke();\r
 \r
-                                       // ARROW-DOWN\r
-                                       // This call is duplicated in plugins/toolbar/plugin.js in itemKeystroke().\r
-                                       // Move focus to the first element after drop down was opened by the arrow down key.\r
-                                       if ( keystroke == 40 ) {\r
-                                               editor.once( 'panelShow', function( evt ) {\r
-                                                       evt.data._.panel._.currentBlock.onKeyDown( 40 );\r
-                                               } );\r
-                                       }\r
-\r
                                        switch ( keystroke ) {\r
                                                case 13: // ENTER\r
                                                case 32: // SPACE\r
@@ -266,12 +257,6 @@ CKEDITOR.plugins.add( 'richcombo', {
 \r
                                        if ( me.onOpen )\r
                                                me.onOpen();\r
-\r
-                                       // The "panelShow" event is fired assinchronously, after the\r
-                                       // onShow method call.\r
-                                       editor.once( 'panelShow', function() {\r
-                                               list.focus( !list.multiSelect && me.getValue() );\r
-                                       } );\r
                                };\r
 \r
                                panel.onHide = function( preventOnClose ) {\r
diff --git a/sources/plugins/sourcearea/lang/es-mx.js b/sources/plugins/sourcearea/lang/es-mx.js
new file mode 100644 (file)
index 0000000..6dc6469
--- /dev/null
@@ -0,0 +1,7 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'sourcearea', 'es-mx', {\r
+       toolbar: 'Fuente'\r
+} );\r
index 837bc305a642623713bc1aed850db068e8985997..09745be6cc943fa8e6e65183a307dd323b8f09c9 100644 (file)
@@ -11,7 +11,7 @@
 ( function() {\r
        CKEDITOR.plugins.add( 'sourcearea', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                icons: 'source,source-rtl', // %REMOVE_LINE_CORE%\r
                hidpi: true, // %REMOVE_LINE_CORE%\r
@@ -38,7 +38,7 @@
                                        CKEDITOR.tools.cssVendorPrefix( 'tab-size', editor.config.sourceAreaTabSize || 4 ) ) );\r
 \r
                                // Make sure that source code is always displayed LTR,\r
-                               // regardless of editor language (#10105).\r
+                               // regardless of editor language (http://dev.ckeditor.com/ticket/10105).\r
                                textarea.setAttribute( 'dir', 'ltr' );\r
 \r
                                textarea.addClass( 'cke_source' ).addClass( 'cke_reset' ).addClass( 'cke_enable_context_menu' );\r
@@ -53,7 +53,7 @@
                                // Having to make <textarea> fixed sized to conquer the following bugs:\r
                                // 1. The textarea height/width='100%' doesn't constraint to the 'td' in IE6/7.\r
                                // 2. Unexpected vertical-scrolling behavior happens whenever focus is moving out of editor\r
-                               // if text content within it has overflowed. (#4762)\r
+                               // if text content within it has overflowed. (http://dev.ckeditor.com/ticket/4762)\r
                                if ( CKEDITOR.env.ie ) {\r
                                        editable.attachListener( editor, 'resize', onResize, editable );\r
                                        editable.attachListener( CKEDITOR.document.getWindow(), 'resize', onResize, editable );\r
@@ -83,7 +83,7 @@
 \r
                        function onResize() {\r
                                // We have to do something with focus on IE9, because if sourcearea had focus\r
-                               // before being resized, the caret ends somewhere in the editor UI (#11839).\r
+                               // before being resized, the caret ends somewhere in the editor UI (http://dev.ckeditor.com/ticket/11839).\r
                                var wasActive = needsFocusHack && this.equals( CKEDITOR.document.getActive() );\r
 \r
                                // Holder rectange size is stretched by textarea,\r
diff --git a/sources/plugins/toolbar/lang/es-mx.js b/sources/plugins/toolbar/lang/es-mx.js
new file mode 100644 (file)
index 0000000..4af52fe
--- /dev/null
@@ -0,0 +1,22 @@
+/*\r
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.md or http://ckeditor.com/license\r
+*/\r
+CKEDITOR.plugins.setLang( 'toolbar', 'es-mx', {\r
+       toolbarCollapse: 'Colapsar barra de herramientas',\r
+       toolbarExpand: 'Expandir barra de herramientas',\r
+       toolbarGroups: {\r
+               document: 'Documento',\r
+               clipboard: 'Portapapeles/deshacer',\r
+               editing: 'Editando',\r
+               forms: 'Formularios',\r
+               basicstyles: 'Estilo básico',\r
+               paragraph: 'Párrafo',\r
+               links: 'Enlaces',\r
+               insert: 'Insertar',\r
+               styles: 'Estilos',\r
+               colors: 'Colores',\r
+               tools: 'Herramientas'\r
+       },\r
+       toolbars: 'Editor de barra de herramientas'\r
+} );\r
index b267b51da76293d0fe71c168d0deb72aa0045b5a..fc19359ecb8312162b8bd5349507c3092084159a 100644 (file)
@@ -34,7 +34,7 @@
                                if ( editor.toolbox ) {\r
                                        editor.toolbox.focusCommandExecuted = true;\r
 \r
-                                       // Make the first button focus accessible for IE. (#3417)\r
+                                       // Make the first button focus accessible for IE. (http://dev.ckeditor.com/ticket/3417)\r
                                        // Adobe AIR instead need while of delay.\r
                                        if ( CKEDITOR.env.ie || CKEDITOR.env.air ) {\r
                                                setTimeout( function() {\r
@@ -51,7 +51,7 @@
        CKEDITOR.plugins.add( 'toolbar', {\r
                requires: 'button',\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
 \r
                init: function( editor ) {\r
                                                        return false;\r
                                                case 40: // DOWN-ARROW\r
                                                        if ( item.button && item.button.hasArrow ) {\r
-                                                               // Note: code is duplicated in plugins\richcombo\plugin.js in keyDownFn().\r
-                                                               editor.once( 'panelShow', function( evt ) {\r
-                                                                       evt.data._.panel._.currentBlock.onKeyDown( 40 );\r
-                                                               } );\r
                                                                item.execute();\r
                                                        } else {\r
                                                                // Send left arrow key.\r
                                        // available because it's a common mistake to leave\r
                                        // an extra comma in the toolbar definition\r
                                        // settings, which leads on the editor not loading\r
-                                       // at all in IE. (#3983)\r
+                                       // at all in IE. (http://dev.ckeditor.com/ticket/3983)\r
                                        if ( !row )\r
                                                continue;\r
 \r
                                                                itemObj.toolbar = toolbarObj;\r
                                                                itemObj.onkey = itemKeystroke;\r
 \r
-                                                               // Fix for #3052:\r
+                                                               // Fix for http://dev.ckeditor.com/ticket/3052:\r
                                                                // Prevent JAWS from focusing the toolbar after document load.\r
                                                                itemObj.onfocus = function() {\r
                                                                        if ( !editor.toolbox.focusCommandExecuted )\r
index 43dbad53da04c11eba1ba76d3002fc195e9c318f..4c22d0d06747cff828345de4707bc1c75cad3ca7 100644 (file)
@@ -3,7 +3,7 @@
 // Register the plugin within the editor.\r
 CKEDITOR.plugins.add( 'simplebox', {\r
        // This plugin requires the Widgets System defined in the 'widget' plugin.\r
-       requires: 'widget',\r
+       requires: 'widget,dialog',\r
 \r
        // Register the icon used for the toolbar button. It must be the same\r
        // as the name of the widget.\r
index f4979ac9bf25d04c2875a34519a80164e6cb5e1c..381511a3b1070614e7ea4ed8412f71b38e2cdf7f 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'eo', {\r
        'move': 'klaki kaj treni por movi',\r
-       'label': '%1 widget' // MISSING\r
+       'label': '%1 fenestraĵo'\r
 } );\r
diff --git a/sources/plugins/widget/lang/es-mx.js b/sources/plugins/widget/lang/es-mx.js
new file mode 100644 (file)
index 0000000..279ea3e
--- /dev/null
@@ -0,0 +1,8 @@
+/**\r
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.\r
+ * For licensing, see LICENSE.md or http://ckeditor.com/license\r
+ */\r
+CKEDITOR.plugins.setLang( 'widget', 'es-mx', {\r
+       'move': 'Presiona y arrastra para mover',\r
+       'label': '%1 widget'\r
+} );\r
index ef070b62a9f7caf7f6c87e26cc4cb463e9c10612..32f65d1f0e6f18197d0f1b110b0a5f72b32f0e97 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'gl', {\r
        'move': 'Prema e arrastre para mover',\r
-       'label': '%1 widget' // MISSING\r
+       'label': 'Trebello %1'\r
 } );\r
index 952d80066bcaf0c89f3f62b49ea934b48e1bcacd..6b47d9562b6156e1fc804f98a17c8ddaa1acecaa 100644 (file)
@@ -3,6 +3,6 @@
  * For licensing, see LICENSE.md or http://ckeditor.com/license\r
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'hr', {\r
-       'move': 'Klikni i povuci da pomakneš',\r
-       'label': '%1 widget' // MISSING\r
+       'move': 'Klikni i povuci za pomicanje',\r
+       'label': '%1 widget'\r
 } );\r
index 47213051951dd38f5d844eb89eadd561f6182389..a06047fc87a7315669821330d6fa6f723c72fd82 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'hu', {\r
        'move': 'Kattints és húzd a mozgatáshoz',\r
-       'label': '%1 widget' // MISSING\r
+       'label': '%1 modul'\r
 } );\r
index 0107a139cd33ea885f035d124afb89fd1c700ec2..03afb95032b980a83957b66e328be642f46ea074 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'ko', {\r
        'move': '움직이려면 클릭 후 드래그 하세요',\r
-       'label': '%1 widget' // MISSING\r
+       'label': '%1 위젯'\r
 } );\r
index 05acac4f2970b47f46cd567557167164e6cb0c2b..5bf4cc0b414a97737ab8737ff9c9664c2cba9b50 100644 (file)
@@ -4,5 +4,5 @@
  */\r
 CKEDITOR.plugins.setLang( 'widget', 'sk', {\r
        'move': 'Kliknite a potiahnite pre presunutie',\r
-       'label': '%1 widget' // MISSING\r
+       'label': '%1 widget'\r
 } );\r
index 37374abe826efed81319863a9b5b31d3d246d33b..2708e090856c97b5254039385330a0112b67603d 100644 (file)
@@ -14,7 +14,7 @@
 \r
        CKEDITOR.plugins.add( 'widget', {\r
                // jscs:disable maximumLineLength\r
-               lang: 'af,ar,az,bg,ca,cs,cy,da,de,de-ch,el,en,en-gb,eo,es,eu,fa,fi,fr,gl,he,hr,hu,id,it,ja,km,ko,ku,lv,nb,nl,no,oc,pl,pt,pt-br,ru,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
+               lang: 'af,ar,az,bg,ca,cs,cy,da,de,de-ch,el,en,en-gb,eo,es,es-mx,eu,fa,fi,fr,gl,he,hr,hu,id,it,ja,km,ko,ku,lv,nb,nl,no,oc,pl,pt,pt-br,ru,sk,sl,sq,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%\r
                // jscs:enable maximumLineLength\r
                requires: 'lineutils,clipboard,widgetselection',\r
                onLoad: function() {\r
                                        'width:' + DRAG_HANDLER_SIZE + 'px;' +\r
                                        'height:0;' +\r
                                        // Initially drag handler should not be visible, until its position will be\r
-                                       // calculated (#11177).\r
+                                       // calculated (http://dev.ckeditor.com/ticket/11177).\r
                                        // We need to hide unpositined handlers, so they don't extend\r
-                                       // widget's outline far to the left (#12024).\r
+                                       // widget's outline far to the left (http://dev.ckeditor.com/ticket/12024).\r
                                        'display:none;' +\r
                                        'opacity:0.75;' +\r
                                        'transition:height 0s 0.2s;' + // Delay hiding drag handler.\r
-                                       // Prevent drag handler from being misplaced (#11198).\r
+                                       // Prevent drag handler from being misplaced (http://dev.ckeditor.com/ticket/11198).\r
                                        'line-height:0' +\r
                                '}' +\r
                                '.cke_widget_wrapper:hover>.cke_widget_drag_handler_container{' +\r
                 * @returns {Boolean} Whether an editable was successfully initialized.\r
                 */\r
                initEditable: function( editableName, definition ) {\r
-                       // Don't fetch just first element which matched selector but look for a correct one. (#13334)\r
+                       // Don't fetch just first element which matched selector but look for a correct one. (http://dev.ckeditor.com/ticket/13334)\r
                        var editable = this._findOneNotNested( definition.selector );\r
 \r
                        if ( editable && editable.is( CKEDITOR.dtd.$editable ) ) {\r
 \r
                /**\r
                 * Looks inside wrapper element to find a node that\r
-                * matches given selector and is not nested in other widget. (#13334)\r
+                * matches given selector and is not nested in other widget. (http://dev.ckeditor.com/ticket/13334)\r
                 *\r
                 * @since 4.5\r
                 * @private\r
                                !isDirty && this.editor.resetDirty();\r
                        }\r
 \r
-                       // Always focus editor (not only when focusManger.hasFocus is false) (because of #10483).\r
+                       // Always focus editor (not only when focusManger.hasFocus is false) (because of http://dev.ckeditor.com/ticket/10483).\r
                        this.editor.focus();\r
                },\r
 \r
                        if ( oldPos && newPos.x == oldPos.x && newPos.y == oldPos.y )\r
                                return;\r
 \r
-                       // We need to make sure that dirty state is not changed (#11487).\r
+                       // We need to make sure that dirty state is not changed (http://dev.ckeditor.com/ticket/11487).\r
                        var initialDirty = editor.checkDirty();\r
 \r
                        editor.fire( 'lockSnapshot' );\r
 \r
                // Remove widgets which have no corresponding elements in DOM.\r
                for ( i in instances ) {\r
-                       // #13410 Remove widgets that are ready. This prevents from destroying widgets that are during loading process.\r
+                       // http://dev.ckeditor.com/ticket/13410 Remove widgets that are ready. This prevents from destroying widgets that are during loading process.\r
                        if ( instances[ i ].isReady() && !editable.contains( instances[ i ].wrapper ) )\r
                                this.destroy( instances[ i ], true );\r
                }\r
 \r
                                // Check if:\r
                                // * there's no instance for this widget\r
-                               // * wrapper is not inside some temporary element like copybin (#11088)\r
+                               // * wrapper is not inside some temporary element like copybin (http://dev.ckeditor.com/ticket/11088)\r
                                // * it was a nested widget's wrapper which has been detached from DOM,\r
                                // when nested editable has been initialized (it overwrites its innerHTML\r
                                // and initializes nested widgets).\r
        // @returns {CKEDITOR.filter} Filter instance or `null` if rules are not defined.\r
        // @context CKEDITOR.plugins.widget.repository\r
        function createEditableFilter( widgetName, editableName, editableDefinition ) {\r
-               if ( !editableDefinition.allowedContent )\r
+               if ( !editableDefinition.allowedContent && !editableDefinition.disallowedContent )\r
                        return null;\r
 \r
                var editables = this._.filters[ widgetName ];\r
 \r
                var filter = editables[ editableName ];\r
 \r
-               if ( !filter )\r
-                       editables[ editableName ] = filter = new CKEDITOR.filter( editableDefinition.allowedContent );\r
+               if ( !filter ) {\r
+                       filter = editableDefinition.allowedContent ? new CKEDITOR.filter( editableDefinition.allowedContent ) : this.editor.filter.clone();\r
+\r
+                       editables[ editableName ] = filter;\r
+\r
+                       if ( editableDefinition.disallowedContent ) {\r
+                               filter.disallow( editableDefinition.disallowedContent );\r
+                       }\r
+               }\r
 \r
                return filter;\r
        }\r
                                        return false;\r
                                }\r
                                else if ( ( upcastsLength = upcasts.length ) ) {\r
-                                       // Ignore elements with data-cke-widget-upcasted to avoid multiple upcasts (#11533).\r
+                                       // Ignore elements with data-cke-widget-upcasted to avoid multiple upcasts (http://dev.ckeditor.com/ticket/11533).\r
                                        // Do not iterate over descendants.\r
                                        if ( element.attributes[ 'data-cke-widget-upcasted' ] )\r
                                                return false;\r
                        '(?:</(?:div|span)>)?' +\r
                '(?:</(?:div|span)>)?' +\r
                '$',\r
-               // IE8 prefers uppercase when browsers stick to lowercase HTML (#13460).\r
+               // IE8 prefers uppercase when browsers stick to lowercase HTML (http://dev.ckeditor.com/ticket/13460).\r
                'i'\r
        );\r
 \r
                                // IE needs focus.\r
                                editor.focus();\r
 \r
-                               // and widget need to be focused on drag start (#12172#comment:10).\r
+                               // and widget need to be focused on drag start (http://dev.ckeditor.com/ticket/12172#comment:10).\r
                                widget.focus();\r
                        }\r
                } );\r
                                dragRange = editor.createRange(),\r
                                sourceWidget;\r
 \r
-                       // Disable cross-editor drag & drop for widgets - #13599.\r
+                       // Disable cross-editor drag & drop for widgets - http://dev.ckeditor.com/ticket/13599.\r
                        if ( id !== '' && transferType === CKEDITOR.DATA_TRANSFER_CROSS_EDITORS ) {\r
                                evt.cancel();\r
                                return;\r
                                                        if ( !el.is( CKEDITOR.dtd.$block ) )\r
                                                                return;\r
 \r
-                                                       // Allow drop line inside, but never before or after nested editable (#12006).\r
+                                                       // Allow drop line inside, but never before or after nested editable (http://dev.ckeditor.com/ticket/12006).\r
                                                        if ( Widget.isDomNestedEditable( el ) )\r
                                                                return;\r
 \r
-                                                       // Do not allow droping inside the widget being dragged (#13397).\r
+                                                       // Do not allow droping inside the widget being dragged (http://dev.ckeditor.com/ticket/13397).\r
                                                        if ( widgetsRepo._.draggedWidget.wrapper.contains( el ) ) {\r
                                                                return;\r
                                                        }\r
 \r
-                                                       // If element is nested editable, make sure widget can be dropped there (#12006).\r
+                                                       // If element is nested editable, make sure widget can be dropped there (http://dev.ckeditor.com/ticket/12006).\r
                                                        var nestedEditable = Widget.getNestedEditable( editable, el );\r
                                                        if ( nestedEditable ) {\r
                                                                var draggedWidget = widgetsRepo._.draggedWidget;\r
                        editable.attachListener( evtRoot, 'mousedown', function( evt ) {\r
                                var target = evt.data.getTarget();\r
 \r
-                               // #10887 Clicking scrollbar in IE8 will invoke event with empty target object.\r
-                               if ( !target.type )\r
-                                       return false;\r
+                               // Clicking scrollbar in Chrome will invoke event with target object of document type (#663).\r
+                               // In IE8 the target object will be empty (http://dev.ckeditor.com/ticket/10887).\r
+                               // We need to check if target is a proper element.\r
+                               widget = ( target instanceof CKEDITOR.dom.element ) ? widgetsRepo.getByElement( target ) : null;\r
 \r
-                               widget = widgetsRepo.getByElement( target );\r
                                mouseDownOnDragHandler = 0; // Reset.\r
 \r
                                // Widget was clicked, but not editable nested in it.\r
                                                mouseDownOnDragHandler = 1;\r
 \r
                                                // When drag handler is pressed we have to clear current selection if it wasn't already on this widget.\r
-                                               // Otherwise, the selection may be in a fillingChar, which prevents dragging a widget. (#13284, see comment 8 and 9.)\r
+                                               // Otherwise, the selection may be in a fillingChar, which prevents dragging a widget. (http://dev.ckeditor.com/ticket/13284, see comment 8 and 9.)\r
                                                if ( widgetsRepo.focused != widget )\r
                                                        editor.getSelection().removeAllRanges();\r
 \r
                                        // Save the reference to this nested editable in the closest widget to be downcasted.\r
                                        // Nested editables are downcasted in the successive toDataFormat to create an opportunity\r
                                        // for dataFilter's "excludeNestedEditable" option to do its job (that option relies on\r
-                                       // contenteditable="true" attribute) (#11372).\r
+                                       // contenteditable="true" attribute) (http://dev.ckeditor.com/ticket/11372).\r
                                        toBeDowncasted[ toBeDowncasted.length - 1 ].editables[ attrs[ 'data-cke-widget-editable' ] ] = element;\r
 \r
                                        // Don't check children - there won't be next wrapper or nested editable which we\r
                        // If drag'n'drop kind of paste into nested editable (data.range), selection is set AFTER\r
                        // data is pasted, which means editor has no chance to change activeFilter's context.\r
                        // As a result, pasted data is filtered with default editor's filter instead of NE's and\r
-                       // funny things get inserted. Changing the filter by analysis of the paste range below (#13186).\r
+                       // funny things get inserted. Changing the filter by analysis of the paste range below (http://dev.ckeditor.com/ticket/13186).\r
                        if ( data.range ) {\r
                                // Check if pasting into nested editable.\r
                                var nestedEditable = Widget.getNestedEditable( editor.editable(), data.range.startContainer );\r
                } );\r
        }\r
 \r
-       // Add a listener to data event that will set/change widget's label (#14539).\r
+       // Add a listener to data event that will set/change widget's label (http://dev.ckeditor.com/ticket/14539).\r
        function setupA11yListener( widget ) {\r
                // Note, the function gets executed in a context of widget instance.\r
                function getLabelDefault() {\r
                        return;\r
 \r
                var editor = widget.editor,\r
-                       // Use getLast to find wrapper's direct descendant (#12022).\r
+                       // Use getLast to find wrapper's direct descendant (http://dev.ckeditor.com/ticket/12022).\r
                        container = widget.wrapper.getLast( Widget.isDomDragHandlerContainer ),\r
                        img;\r
 \r
-               // Reuse drag handler if already exists (#11281).\r
+               // Reuse drag handler if already exists (http://dev.ckeditor.com/ticket/11281).\r
                if ( container )\r
                        img = container.findOne( 'img' );\r
                else {\r
                        widget.wrapper.append( container );\r
                }\r
 \r
-               // Preventing page reload when dropped content on widget wrapper (#13015).\r
+               // Preventing page reload when dropped content on widget wrapper (http://dev.ckeditor.com/ticket/13015).\r
                // Widget is not editable so by default drop on it isn't allowed what means that\r
                // browser handles it (there's no editable#drop event). If there's no drop event we cannot block\r
                // the drop, so page is reloaded. This listener enables drop on widget wrappers.\r
                if ( !widget.mask )\r
                        return;\r
 \r
-               // Reuse mask if already exists (#11281).\r
+               // Reuse mask if already exists (http://dev.ckeditor.com/ticket/11281).\r
                var img = widget.wrapper.findOne( '.cke_widget_mask' );\r
 \r
                if ( !img ) {\r
                setupDataClassesListener( widget );\r
                setupA11yListener( widget );\r
 \r
-               // #11145: [IE8] Non-editable content of widget is draggable.\r
+               // http://dev.ckeditor.com/ticket/11145: [IE8] Non-editable content of widget is draggable.\r
                if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) {\r
                        widget.wrapper.on( 'dragstart', function( evt ) {\r
                                var target = evt.data.getTarget();\r
                widget.on( 'doubleclick', function( evt ) {\r
                        if ( widget.edit() ) {\r
                                // We have to cancel event if edit method opens a dialog, otherwise\r
-                               // link plugin may open extra dialog (#12140).\r
+                               // link plugin may open extra dialog (http://dev.ckeditor.com/ticket/12140).\r
                                evt.cancel();\r
                        }\r
                } );\r
  * This option is similar to {@link CKEDITOR.config#allowedContent} and one can\r
  * use it to limit the editor features available in the nested editable.\r
  *\r
+ * If no `allowedContent` is specified, the editable will use the editor default\r
+ * {@link CKEDITOR.editor#filter}.\r
+ *\r
  * @property {CKEDITOR.filter.allowedContentRules} allowedContent\r
  */\r
 \r
 /**\r
- * Nested editable name displayed in elements path.\r
+ * The [Advanced Content Filter](#!/guide/dev_advanced_content_filter) rules\r
+ * which will be used to blacklist elements within this nested editable.\r
+ * This option is similar to {@link CKEDITOR.config#disallowedContent}.\r
+ *\r
+ * Note that `disallowedContent` work on top of the definition's {@link #allowedContent}.\r
+ *\r
+ * @since 4.7.3\r
+ * @property {CKEDITOR.filter.disallowedContentRules} disallowedContent\r
+ */\r
+\r
+/**\r
+ * Nested editable name displayed in the elements path.\r
  *\r
  * @property {String} pathName\r
  */\r
index b7aa6a089c5aff015e5efdc6bb612098244877d7..6c788cb4bf20eba685a75bdf4a811070edc9153f 100644 (file)
@@ -4,7 +4,7 @@
  */\r
 \r
 /**\r
- * @fileOverview A plugin created to handle ticket #11064. While the issue is caused by native WebKit/Blink behaviour,\r
+ * @fileOverview A plugin created to handle ticket http://dev.ckeditor.com/ticket/11064. While the issue is caused by native WebKit/Blink behaviour,\r
  * this plugin can be easily detached or modified when the issue is fixed in the browsers without changing the core.\r
  * When Ctrl/Cmd + A is pressed to select all content it does not work due to a bug in\r
  * Webkit/Blink if a non-editable element is at the beginning or the end of the content.\r
index 962f31e9471fc113d40739c5ba5bc8a24262a964..1358129850e2914992e7465e61624154536c1024 100644 (file)
@@ -29,7 +29,7 @@
                                // With IE, the custom domain has to be taken care at first,\r
                                // for other browers, the 'src' attribute should be left empty to\r
                                // trigger iframe's 'load' event.\r
-                               // Microsoft Edge throws "Permission Denied" if treated like an IE (#13441).\r
+                               // Microsoft Edge throws "Permission Denied" if treated like an IE (http://dev.ckeditor.com/ticket/13441).\r
                                if ( CKEDITOR.env.air ) {\r
                                        src = 'javascript:void(0)'; // jshint ignore:line\r
                                } else if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) {\r
                        body.hideFocus = true;\r
 \r
                        // Disable and re-enable the body to avoid IE from\r
-                       // taking the editing focus at startup. (#141 / #523)\r
+                       // taking the editing focus at startup. (http://dev.ckeditor.com/ticket/141 / http://dev.ckeditor.com/ticket/523)\r
                        body.disabled = true;\r
                        body.removeAttribute( 'disabled' );\r
                }\r
 \r
                var editable = this;\r
 \r
-               // Without it IE8 has problem with removing selection in nested editable. (#13785)\r
+               // Without it IE8 has problem with removing selection in nested editable. (http://dev.ckeditor.com/ticket/13785)\r
                if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) {\r
                        doc.getDocumentElement().addClass( doc.$.compatMode );\r
                }\r
 \r
-               // Prevent IE/Edge from leaving a new paragraph/div after deleting all contents in body. (#6966, #13142)\r
+               // Prevent IE/Edge from leaving a new paragraph/div after deleting all contents in body. (http://dev.ckeditor.com/ticket/6966, http://dev.ckeditor.com/ticket/13142)\r
                if ( CKEDITOR.env.ie && !CKEDITOR.env.edge && editor.enterMode != CKEDITOR.ENTER_P ) {\r
                        removeSuperfluousElement( 'p' );\r
                } else if ( CKEDITOR.env.edge && editor.enterMode != CKEDITOR.ENTER_DIV ) {\r
                        removeSuperfluousElement( 'div' );\r
                }\r
 \r
-               // Fix problem with cursor not appearing in Webkit and IE11+ when clicking below the body (#10945, #10906).\r
+               // Fix problem with cursor not appearing in Webkit and IE11+ when clicking below the body (http://dev.ckeditor.com/ticket/10945, http://dev.ckeditor.com/ticket/10906).\r
                // Fix for older IEs (8-10 and QM) is placed inside selection.js.\r
                if ( CKEDITOR.env.webkit || ( CKEDITOR.env.ie && CKEDITOR.env.version > 10 ) ) {\r
                        doc.getDocumentElement().on( 'mousedown', function( evt ) {\r
                                // PageUp OR PageDown\r
                                if ( keyCode == 33 || keyCode == 34 ) {\r
                                        // PageUp/PageDown scrolling is broken in document\r
-                                       // with standard doctype, manually fix it. (#4736)\r
+                                       // with standard doctype, manually fix it. (http://dev.ckeditor.com/ticket/4736)\r
                                        if ( CKEDITOR.env.ie ) {\r
                                                setTimeout( function() {\r
                                                        editor.getSelection().scrollIntoView();\r
                                        // Page up/down cause editor selection to leak\r
                                        // outside of editable thus we try to intercept\r
                                        // the behavior, while it affects only happen\r
-                                       // when editor contents are not overflowed. (#7955)\r
+                                       // when editor contents are not overflowed. (http://dev.ckeditor.com/ticket/7955)\r
                                        else if ( editor.window.$.innerHeight > this.$.offsetHeight ) {\r
                                                var range = editor.createRange();\r
                                                range[ keyCode == 33 ? 'moveToElementEditStart' : 'moveToElementEditEnd' ]( this );\r
                        // focus is moved onto a non-editing host, e.g. link or button, but\r
                        // it becomes a problem for the object type selection, since the resizer\r
                        // handler attached on it will mark other part of the UI, especially\r
-                       // for the dialog. (#8157)\r
+                       // for the dialog. (http://dev.ckeditor.com/ticket/8157)\r
                        // [IE<8 & Opera] Even worse For old IEs, the cursor will not vanish even if\r
-                       // the selection has been moved to another text input in some cases. (#4716)\r
+                       // the selection has been moved to another text input in some cases. (http://dev.ckeditor.com/ticket/4716)\r
                        //\r
                        // Now the range restore is disabled, so we simply force IE to clean\r
                        // up the selection before blur.\r
                        this.attachListener( doc, 'blur', function() {\r
-                               // Error proof when the editor is not visible. (#6375)\r
+                               // Error proof when the editor is not visible. (http://dev.ckeditor.com/ticket/6375)\r
                                try {\r
                                        doc.$.selection.empty();\r
                                } catch ( er ) {}\r
 \r
                if ( CKEDITOR.env.iOS ) {\r
                        // [iOS] If touch is bound to any parent of the iframe blur happens on any touch\r
-                       // event and body becomes the focused element (#10714).\r
+                       // event and body becomes the focused element (http://dev.ckeditor.com/ticket/10714).\r
                        this.attachListener( doc, 'touchend', function() {\r
                                win.focus();\r
                        } );\r
                }\r
 \r
                var title = editor.document.getElementsByTag( 'title' ).getItem( 0 );\r
-               // document.title is malfunctioning on Chrome, so get value from the element (#12402).\r
+               // document.title is malfunctioning on Chrome, so get value from the element (http://dev.ckeditor.com/ticket/12402).\r
                title.data( 'cke-title', title.getText() );\r
 \r
                // [IE] JAWS will not recognize the aria label we used on the iframe\r
                        // 2. On keyup remove all elements that were not marked\r
                        // as non-superfluous (which means they must have had appeared in the meantime).\r
                        // Also we should preserve all temporary elements inserted by editor – otherwise we'd likely\r
-                       // leak fake selection's content into editable due to removing hidden selection container (#14831).\r
+                       // leak fake selection's content into editable due to removing hidden selection container (http://dev.ckeditor.com/ticket/14831).\r
                        editable.attachListener( editable, 'keyup', function() {\r
                                var elements = doc.getElementsByTag( tagName );\r
                                if ( lockRetain ) {\r
 \r
                        this._.frameLoadedHandler = CKEDITOR.tools.addFunction( function( win ) {\r
                                // Avoid opening design mode in a frame window thread,\r
-                               // which will cause host page scrolling.(#4397)\r
+                               // which will cause host page scrolling.(http://dev.ckeditor.com/ticket/4397)\r
                                CKEDITOR.tools.setTimeout( onDomReady, 0, this, win );\r
                        }, this );\r
 \r
                                        this.fixInitialSelection();\r
 \r
                                        // Fire dataReady for the consistency with inline editors\r
-                                       // and because it makes sense. (#10370)\r
+                                       // and because it makes sense. (http://dev.ckeditor.com/ticket/10370)\r
                                        editor.fire( 'dataReady' );\r
                                }\r
                                else {\r
                                        }\r
 \r
                                        // The script that launches the bootstrap logic on 'domReady', so the document\r
-                                       // is fully editable even before the editing iframe is fully loaded (#4455).\r
+                                       // is fully editable even before the editing iframe is fully loaded (http://dev.ckeditor.com/ticket/4455).\r
                                        var bootstrapCode =\r
                                                '<script id="cke_actscrpt" type="text/javascript"' + ( CKEDITOR.env.ie ? ' defer="defer" ' : '' ) + '>' +\r
                                                        'var wasLoaded=0;' +    // It must be always set to 0 as it remains as a window property.\r
                                        }\r
 \r
                                        // IE<10 needs this hack to properly enable <base href="...">.\r
-                                       // See: http://stackoverflow.com/a/13373180/1485219 (#11910).\r
+                                       // See: http://stackoverflow.com/a/13373180/1485219 (http://dev.ckeditor.com/ticket/11910).\r
                                        if ( baseTag && CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) {\r
                                                bootstrapCode +=\r
                                                        '<script id="cke_basetagscrpt">' +\r
 \r
                                        var doc = this.getDocument();\r
 \r
-                                       // Work around Firefox bug - error prune when called from XUL (#320),\r
+                                       // Work around Firefox bug - error prune when called from XUL (http://dev.ckeditor.com/ticket/320),\r
                                        // defer it thanks to the async nature of this method.\r
                                        try {\r
                                                doc.write( data );\r
 \r
                                        var data = fullPage ? doc.getDocumentElement().getOuterHtml() : doc.getBody().getHtml();\r
 \r
-                                       // BR at the end of document is bogus node for Mozilla. (#5293).\r
+                                       // BR at the end of document is bogus node for Mozilla. (http://dev.ckeditor.com/ticket/5293).\r
                                        // Prevent BRs from disappearing from the end of the content\r
-                                       // while enterMode is ENTER_BR (#10146).\r
+                                       // while enterMode is ENTER_BR (http://dev.ckeditor.com/ticket/10146).\r
                                        if ( CKEDITOR.env.gecko && config.enterMode != CKEDITOR.ENTER_BR )\r
                                                data = data.replace( /<br>(?=\s*(:?$|<\/body>))/, '' );\r
 \r
                                        onResize;\r
 \r
                                // Trying to access window's frameElement property on Edge throws an exception\r
-                               // when frame was already removed from DOM. (#13850, #13790)\r
+                               // when frame was already removed from DOM. (http://dev.ckeditor.com/ticket/13850, http://dev.ckeditor.com/ticket/13790)\r
                                try {\r
                                        iframe =  editor.window.getFrame();\r
                                } catch ( e ) {}\r
                                CKEDITOR.tools.removeFunction( this._.frameLoadedHandler );\r
 \r
                                // On IE, iframe is returned even after remove() method is called on it.\r
-                               // Checking if parent is present fixes this issue. (#13850)\r
+                               // Checking if parent is present fixes this issue. (http://dev.ckeditor.com/ticket/13850)\r
                                if ( iframe && iframe.getParent() ) {\r
                                        iframe.clearCustomData();\r
                                        onResize = iframe.removeCustomData( 'onResize' );\r
 \r
                                        // IE BUG: When destroying editor DOM with the selection remains inside\r
                                        // editing area would break IE7/8's selection system, we have to put the editing\r
-                                       // iframe offline first. (#3812 and #5441)\r
+                                       // iframe offline first. (http://dev.ckeditor.com/ticket/3812 and http://dev.ckeditor.com/ticket/5441)\r
                                        iframe.remove();\r
                                } else {\r
                                        CKEDITOR.warn( 'editor-destroy-iframe' );\r
                var css = [];\r
 \r
                // IE>=8 stricts mode doesn't have 'contentEditable' in effect\r
-               // on element unless it has layout. (#5562)\r
+               // on element unless it has layout. (http://dev.ckeditor.com/ticket/5562)\r
                if ( CKEDITOR.document.$.documentMode >= 8 ) {\r
                        css.push( 'html.CSS1Compat [contenteditable=false]{min-height:0 !important}' );\r
 \r
 \r
                        css.push( selectors.join( ',' ) + '{display:inline-block}' );\r
                }\r
-               // Set the HTML style to 100% to have the text cursor in affect (#6341)\r
+               // Set the HTML style to 100% to have the text cursor in affect (http://dev.ckeditor.com/ticket/6341)\r
                else if ( CKEDITOR.env.gecko ) {\r
                        css.push( 'html{height:100% !important}' );\r
                        css.push( 'img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}' );\r
                }\r
 \r
-               // #6341: The text cursor must be set on the editor area.\r
-               // #6632: Avoid having "text" shape of cursor in IE7 scrollbars.\r
+               // http://dev.ckeditor.com/ticket/6341: The text cursor must be set on the editor area.\r
+               // http://dev.ckeditor.com/ticket/6632: Avoid having "text" shape of cursor in IE7 scrollbars.\r
                css.push( 'html{cursor:text;*cursor:auto}' );\r
 \r
                // Use correct cursor for these elements\r
index 3d274cf054dbdad3d762f88c385b39a9c93dd5e5..5f4735143dccfc1cb6f6cb86f795450d2d7e7968 100644 (file)
@@ -18,7 +18,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
        <div class="grid-container">
                <ul class="navigation-a-left grid-width-70">
                        <li><a href="http://ckeditor.com">Project Homepage</a></li>
-                       <li><a href="http://dev.ckeditor.com/">I found a bug</a></li>
+                       <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li>
                        <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li>
                </ul>
                <ul class="navigation-a-right grid-width-30">
index df6b2dcdf0e4f018bbf86c51cb15275ff341f2fa..a3cf84fe74cad09cccc7363578a4a6d54bb1dd46 100644 (file)
@@ -26,6 +26,7 @@ var CKEDITOR_LANGS = ( function() {
                'en-gb': 'English (United Kingdom)',
                eo: 'Esperanto',
                es: 'Spanish',
+               'es-mx': 'Spanish (Mexico)',
                et: 'Estonian',
                eu: 'Basque',
                fa: 'Persian',
index 4d31289239679d4126388029e822221baa3ba79a..ea216d26f8af528fac497d7691ce9a1abcdf853f 100644 (file)
@@ -26,7 +26,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
        <div class="grid-container">
                <ul class="navigation-a-left grid-width-70">
                        <li><a href="http://ckeditor.com">Project Homepage</a></li>
-                       <li><a href="http://dev.ckeditor.com/">I found a bug</a></li>
+                       <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li>
                        <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li>
                </ul>
                <ul class="navigation-a-right grid-width-30">
index 37e268554cc7822ea4e70065d4708e11b8741d3f..e5c31559e4e75bf71ac0ed26050be80204b44347 100644 (file)
     // very slow. So make the area wide instead.
     if (webkit) te.style.width = "1000px";
     else te.setAttribute("wrap", "off");
-    // If border: 0; -- iOS fails to open keyboard (issue #1287)
+    // If border: 0; -- iOS fails to open keyboard (issue http://dev.ckeditor.com/ticket/1287)
     if (ios) te.style.border = "1px solid black";
     disableBrowserMagic(te);
     return div;
       if (text == prevInput && !cm.somethingSelected()) return false;
       // Work around nonsensical selection resetting in IE9/10, and
       // inexplicable appearance of private area unicode characters on
-      // some key combos in Mac (#2689).
+      // some key combos in Mac (http://dev.ckeditor.com/ticket/2689).
       if (ie && ie_version >= 9 && this.hasSelection === text ||
           mac && /[\uf700-\uf7ff]/.test(text)) {
         cm.display.input.reset();
         "px; left: " + (e.clientX - 5) + "px; z-index: 1000; background: " +
         (ie ? "rgba(255, 255, 255, .05)" : "transparent") +
         "; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";
-      if (webkit) var oldScrollY = window.scrollY; // Work around Chrome issue (#2712)
+      if (webkit) var oldScrollY = window.scrollY; // Work around Chrome issue (http://dev.ckeditor.com/ticket/2712)
       display.input.focus();
       if (webkit) window.scrollTo(null, oldScrollY);
       display.input.reset();
         e_preventDefault(e2);
         if (!modifier && +new Date - 200 < startTime)
           extendSelection(cm.doc, start);
-        // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)
+        // Work around unexplainable focus problem in IE9 (http://dev.ckeditor.com/ticket/2127) and Chrome (http://dev.ckeditor.com/ticket/3081)
         if (webkit || ie && ie_version == 9)
           setTimeout(function() {document.body.focus(); display.input.focus();}, 20);
         else
   }
 
   // Kludge to work around strange IE behavior where it'll sometimes
-  // re-fire a series of drag-related events right after the drop (#1551)
+  // re-fire a series of drag-related events right after the drop (http://dev.ckeditor.com/ticket/1551)
   var lastDrop = 0;
 
   function onDrop(e) {
       // select-all detection hack)
       if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {
         cm.display.input.reset();
-        if (webkit) setTimeout(function() { cm.display.input.reset(true); }, 20); // Issue #1730
+        if (webkit) setTimeout(function() { cm.display.input.reset(true); }, 20); // Issue http://dev.ckeditor.com/ticket/1730
       }
       cm.display.input.receivedFocus();
     }
       }
     }
 
-    // See issue #2901
+    // See issue http://dev.ckeditor.com/ticket/2901
     if (webkit && /\bcm-tab\b/.test(builder.content.lastChild.className))
       builder.content.className = "cm-tab-wrap-hack";
 
     if (badBidiRects != null) return badBidiRects;
     var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA"));
     var r0 = range(txt, 0, 1).getBoundingClientRect();
-    if (!r0 || r0.left == r0.right) return false; // Safari returns null in some cases (#2780)
+    if (!r0 || r0.left == r0.right) return false; // Safari returns null in some cases (http://dev.ckeditor.com/ticket/2780)
     var r1 = range(txt, 1, 2).getBoundingClientRect();
     return badBidiRects = (r1.right - r0.right < 3);
   }
index 733bb4ba03ddb82ecf26481d6a065d52c316586d..dd9680ed6eff61fcb90819d715cf2a72c80754c4 100644 (file)
@@ -126,7 +126,7 @@ CKEDITOR.stylesSet.add( 'default', [
        { name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' },
 
        // Adding space after the style name is an intended workaround. For now, there
-       // is no option to create two styles with the same name for different widget types. See #16664.
+       // is no option to create two styles with the same name for different widget types. See http://dev.ckeditor.com/ticket/16664.
        { name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' },
        { name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' },
        { name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' },