/*
Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license
*/ (function(){function p(a){this.editor=a;this.registered={};this.instances={};this.selected=[];this.widgetHoldingFocusedEditable=this.focused=null;this._={nextId:0,upcasts:,upcastCallbacks:[],filters:{}};F(this);G(this);this.on(“checkWidgets”,H);this.editor.on(“contentDomInvalidated”,this.checkWidgets,this);I(this);J(this);K(this);L(this);M(this)}function g(a,b,c,d,e){var f=a.editor;CKEDITOR.tools.extend(this,d,{editor:f,id:b,inline:“span”==c.getParent().getName(),element:c,data:CKEDITOR.tools.extend({}, “function”==typeof d.defaults?d.defaults():d.defaults),dataReady:!1,inited:!1,ready:!1,edit:g.prototype.edit,focusedEditable:null,definition:d,repository:a,draggable:!1!==d.draggable,_:{downcastFn:d.downcast&&“string”==typeof d.downcast?d.downcasts:d.downcast}},!0);a.fire(“instanceCreated”,this);N(this,d);this.init&&this.init();this.inited=!0;(a=this.element.data(“cke-widget-data”))&&this.setData(JSON.parse(decodeURIComponent(a)));e&&this.setData(e);this.data.classes||this.setData(“classes”, this.getClasses());this.dataReady=!0;r(this);this.fire(“data”,this.data);this.isInited()&&f.editable().contains(this.wrapper)&&(this.ready=!0,this.fire(“ready”))}function q(a,b,c){CKEDITOR.dom.element.call(this,b.$);this.editor=a;this._={};b=this.filter=c.filter;CKEDITOR.dtd.p?(this.enterMode=b?b.getAllowedEnterMode(a.enterMode):a.enterMode,this.shiftEnterMode=b?b.getAllowedEnterMode(a.shiftEnterMode,!0):a.shiftEnterMode):this.enterMode=this.shiftEnterMode=CKEDITOR.ENTER_BR}function O(a, 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> c});0>e&&(e=a._.upcasts.length);a._.upcasts.splice(e,0,)}var d=b.upcast,e=b.upcastPriority||10;if(d)if(“string”==typeof d)for(d=d.split(“,”);d.length;)c(b.upcasts,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.isReady()&& !b.contains(c.wrapper)&&this.destroy(c,!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.focus()}}}function u(a,b,c){if(!c.allowedContent&&!c.disallowedContent)return null;var d= this._.filters;d||(this._.filters=d={});a=d;a||(a=c.allowedContent?new CKEDITOR.filter(c.allowedContent):this.editor.filter.clone(),d=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(),!1;if(“data-widget”in a.attributes)return b.push(),!1;if(m=c.length){if(a.attributes)return!1; k=0;for(f=d.length;kb.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©);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),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),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,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),b=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”,{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”,requires:“lineutils,clipboard,widgetselection”, onLoad:function(){CKEDITOR.addCss(“.cke_widget_wrapper{position:relative;outline:none}.cke_widget_inline{display:inline-block}.cke_widget_wrapper:hoverx3e.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_focusedx3e.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:hoverx3e.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,(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= 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();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()}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;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), !0))&&this.destroy©}else for(d in e)c=e,this.destroy(c,a)},finalizeCreation:function(a){(a=a.getFirst())&&g.isDomWidgetWrapper(a)&&(this.editor.insertElement(a),a=this.getByElement(a),a.ready=!0,a.fire(“ready”),a.focus())},getByElement:function(){function a(a){return a.is(b)&&a.data(“cke-widget-id”)}var b={div:1,span:1};return function(b,d){if(!b)return null;var e=a(b);if(!d&&!e){var f=this.editor.editable();do b=b.getParent();while(b&&!b.equals(f)&&!(e=a(b)))}return this.instances||null}}(), initOn:function(a,b,c){b?“string”==typeof b&&(b=this.registered):b=this.registered;if(!b)return null;var d=this.wrapElement(a,b.name);return d?d.hasClass(“cke_widget_new”)?(a=new g(this,this._.nextId++,a,b,c),a.isInited()?this.instances=a:null):this.getByElement(a):null},initOnAll:function(a){a=(a||this.editor.editable()).find(“.cke_widget_new”);for(var b=[],c,d=a.count();d–;)(c=this.initOn(a.getItem(d).getFirst(g.isDomWidgetElement)))&&b.push©;return b},onWidget:function(a){var b= Array.prototype.slice.call(arguments);b.shift();for(var c in this.instances){var d=this.instances;d.name==a&&d.on.apply(d,b)}this.on(“instanceCreated”,function(d){d=d.data;d.name==a&&d.on.apply(d,b)})},parseElementClasses:function(a){if(!a)return null;a=CKEDITOR.tools.trim(a).split(/s+/);for(var b,c={},d=0;b=a.pop();)-1==b.indexOf(“cke_”)&&(c=d=1);return d?c:null},wrapElement:function(a,b){var c=null,d,e;if(a instanceof CKEDITOR.dom.element){b=b||a.data(“widget”);d=this.registered;if(!d)return null; if((c=a.getParent())&&c.type==CKEDITOR.NODE_ELEMENT&&c.data(“cke-widget-wrapper”))return c;a.hasAttribute(“data-cke-widget-keep-attr”)||a.data(“cke-widget-keep-attr”,a.data(“widget”)?1:0);a.data(“widget”,b);e=x(d,a.getName());c=new CKEDITOR.dom.element(e?“span”:“div”);c.setAttributes(v(e,b));c.data(“cke-display-name”,d.pathName?d.pathName:a.getName());a.getParent(!0)&&c.replace(a);a.appendTo©}else if(a instanceof CKEDITOR.htmlParser.element){b=b||a.attributes;d=this.registered; if(!d)return null;if((c=a.parent)&&c.type==CKEDITOR.NODE_ELEMENT&&c.attributes)return c;“data-cke-widget-keep-attr”in a.attributes||(a.attributes=a.attributes?1:0);b&&(a.attributes=b);e=x(d,a.name);c=new CKEDITOR.htmlParser.element(e?“span”:“div”,v(e,b));c.attributes=d.pathName?d.pathName:a.name;d=a.parent;var f;d&&(f=a.getIndex(),a.remove());c.add(a);d&&w(d,f,c)}return c},_tests_createEditableFilter:u}; CKEDITOR.event.implementOn(p.prototype);g.prototype={addClass:function(a){this.element.addClass(a);this.wrapper.addClass(g.WRAPPER_CLASS_PREFIX+a)},applyStyle:function(a){A(this,a,1)},checkStyleActive:function(a){a=B(a);var b;if(!a)return!1;for(;b=a.pop();)if(!this.hasClass(b))return!1;return!0},destroy:function(a){this.fire(“destroy”);if(this.editables)for(var b in this.editables)this.destroyEditable(b,a);a||(“0”==this.element.data(“cke-widget-keep-attr”)&&this.element.removeAttribute(“data-widget”), this.element.removeAttributes(),this.element.removeClass(“cke_widget_element”),this.element.replace(this.wrapper));this.wrapper=null},destroyEditable:function(a,b){var c=this.editables;c.removeListener(“focus”,E);c.removeListener(“blur”,D);this.editor.focusManager.remove©;b||(this.repository.destroyAll(!1,c),c.removeClass(“cke_widget_editable”),c.removeClass(“cke_widget_editable_focused”),c.removeAttributes([“contenteditable”,“data-cke-widget-editable”, “data-cke-enter-mode”]));delete this.editables},edit:function(){var a={dialog:this.dialog},b=this;if(!1===this.fire(“edit”,a)||!a.dialog)return!1;this.editor.openDialog(a.dialog,function(a){var d,e;!1!==b.fire(“dialog”,a)&&(d=a.on(“show”,function(){a.setupContent(b)}),e=a.on(“ok”,function(){var d,e=b.on(“data”,function(a){d=1;a.cancel()},null,null,0);b.editor.fire(“saveSnapshot”);a.commitContent(b);e.removeListener();d&&(b.fire(“data”,b.data),b.editor.fire(“saveSnapshot”))}),a.once(“hide”,function(){d.removeListener(); e.removeListener()}))});return!0},getClasses:function(){return this.repository.parseElementClasses(this.element.getAttribute(“class”))},hasClass:function(a){return this.element.hasClass(a)},initEditable:function(a,b){var c=this._findOneNotNested(b.selector);return c&&c.is(CKEDITOR.dtd.$editable)?(c=new q(this.editor,c,{filter:u.call(this.repository,this.name,a,b)}),this.editables=c,c.setAttributes({contenteditable:“true”,“data-cke-widget-editable”:a,“data-cke-enter-mode”:c.enterMode}),c.filter&& c.data(“cke-filter”,c.filter.id),c.addClass(“cke_widget_editable”),c.removeClass(“cke_widget_editable_focused”),b.pathName&&c.data(“cke-display-name”,b.pathName),this.editor.focusManager.add©,c.on(“focus”,E,this),CKEDITOR.env.ie&&c.on(“blur”,D,this),c._.initialSetData=!0,c.setData(c.getHtml()),!0):!1},_findOneNotNested:function(a){a=this.wrapper.find(a);for(var b,c,d=0;d<a.count();d++)if(b=a.getItem(d),c=b.getAscendant(g.isDomWidgetWrapper),this.wrapper.equals©)return b;return null},isInited:function(){return!(!this.wrapper|| !this.inited)},isReady:function(){return this.isInited()&&this.ready},focus:function(){var a=this.editor.getSelection();if(a){var b=this.editor.checkDirty();a.fake(this.wrapper);!b&&this.editor.resetDirty()}this.editor.focus()},removeClass:function(a){this.element.removeClass(a);this.wrapper.removeClass(g.WRAPPER_CLASS_PREFIX+a)},removeStyle:function(a){A(this,a,0)},setData:function(a,b){var c=this.data,d=0;if(“string”==typeof a)c!==b&&(c=b,d=1);else{var e=a;for(a in e)c!==e&&(d=1,c= e)}d&&this.dataReady&&(r(this),this.fire(“data”,c));return this},setFocused:function(a){this.wrapper(“cke_widget_focused”);this.fire(a?“focus”:“blur”);return this},setSelected:function(a){this.wrapper(“cke_widget_selected”);this.fire(a?“select”:“deselect”);return this},updateDragHandlerPosition:function(){var a=this.editor,b=this.element.$,c=this._.dragHandlerOffset,b={x:b.offsetLeft,y:b.offsetTop-15};c&&b.x==c.x&&b.y==c.y||(c=a.checkDirty(), a.fire(“lockSnapshot”),this.dragHandlerContainer.setStyles({top:b.y+“px”,left:b.x+“px”,display:“block”}),a.fire(“unlockSnapshot”),!c&&a.resetDirty(),this._.dragHandlerOffset=b)}};CKEDITOR.event.implementOn(g.prototype);g.getNestedEditable=function(a,b){return!b||b.equals(a)?null:g.isDomNestedEditable(b)?b:g.getNestedEditable(a,b.getParent())};g.isDomDragHandler=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute(“data-cke-widget-drag-handler”)};g.isDomDragHandlerContainer=function(a){return a.type== CKEDITOR.NODE_ELEMENT&&a.hasClass(“cke_widget_drag_handler_container”)};g.isDomNestedEditable=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute(“data-cke-widget-editable”)};g.isDomWidgetElement=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute(“data-widget”)};g.isDomWidgetWrapper=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute(“data-cke-widget-wrapper”)};g.isParserWidgetElement=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes}; g.isParserWidgetWrapper=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes};g.WRAPPER_CLASS_PREFIX=“cke_widget_wrapper_”;q.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.dom.element.prototype),{setData:function(a){this._.initialSetData||this.editor.widgets.destroyAll(!1,this);this._.initialSetData=!1;a=this.editor.dataProcessor.toHtml(a,{context:this.getName(),filter:this.filter,enterMode:this.enterMode});this.setHtml(a);this.editor.widgets.initOnAll(this)}, getData:function(){return this.editor.dataProcessor.toDataFormat(this.getHtml(),{context:this.getName(),filter:this.filter,enterMode:this.enterMode})}});var U=/^(?:<(?:div|span)(?: data-cke-temp=“1”)?(?: id=“cke_copybin”)?(?: data-cke-temp=“1”)?>)?(?:<(?:div|span)(?: style=“+”)?>)?<span [^>]*span>(+)<span [^>]*a.group?:a.group){a=this.widget;var b;c||(c={});for(var f=0,h=this.group.length;f