!function(c){"use strict";varn,t,e,r,o,u,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),f=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=function(n,t){vare,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),f.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},l=function(n){n.addCommand("mceDirectionLTR",function(){d(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){d(n,"rtl")})},a=function(n){returnfunction(){returnn}},m=a(!1),N=a(!0),s=m,g=N,T=function(){returnE},E=(r={fold:function(n,t){returnn()},is:s,isSome:s,isNone:g,getOr:e=function(n){returnn},getOrThunk:t=function(n){returnn()},getOrDie:function(n){thrownewError(n||"error: getOrDie called on none.")},getOrNull:function(){returnnull},getOrUndefined:function(){returnundefined},or:e,orThunk:t,map:T,ap:T,each:function(){},bind:T,flatten:T,exists:s,forall:g,filter:T,equals:n=function(n){returnn.isNone()},equals_:n,toArray:function(){return[]},toString:a("none()")},Object.freeze&&Object.freeze(r),r),O=function(e){varn=function(){returne},t=function(){returno},r=function(n){returnn(e)},o={fold:function(n,t){returnt(e)},is:function(n){returne===n},isSome:g,isNone:s,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){returnO(n(e))},ap:function(n){returnn.fold(T,function(n){returnO(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){returnn(e)?o:E},equals:function(n){returnn.is(e)},equals_:function(n,t){returnn.fold(s,function(n){returnt(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};returno},y=function(n){returnnull===n||n===undefined?E:O(n)},D=function(n){if(null===n||n===undefined)thrownewError("Node cannot be null or undefined");return{dom:a(n)}},p={fromHtml:function(n,t){vare=(t||c.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1<e.childNodes.length)throwc.console.error("HTML does not have a single root node",n),newError("HTML must have a single root node");returnD(e.childNodes[0])},fromTag:function(n,t){vare=(t||c.document).createElement(n);returnD(e)},fromText:function(n,t){vare=(t||c.document).createTextNode(n);returnD(e)},fromDom:D,fromPoint:function(n,t,e){varr=n.dom();returny(r.elementFromPoint(t,e)).map(D)}},h=(o="function",function(n){returnfunction(n){if(null===n)return"null";vart=typeofn;return"object"===t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t}(n)===o}),_=Array.prototype.slice,v=(h(Array.from)&&Array.from,c.Node.ATTRIBUTE_NODE,c.Node.CDATA_SECTION_NODE,c.Node.COMMENT_NODE,c.Node.DOCUMENT_NODE,c.Node.DOCUMENT_TYPE_NODE,c.Node.DOCUMENT_FRAGMENT_NODE,c.Node.ELEMENT_NODE,c.Node.TEXT_NODE),C=(c.Node.PROCESSING_INSTRUCTION_NODE,c.Node.ENTITY_REFERENCE_NODE,c.Node.ENTITY_NODE,c.Node.NOTATION_NODE,u=v,function(n){returnn.dom().nodeType===u}),A=function(n,t){vare,r,o=n.dom(),u=c.window.getComputedStyle(o).getPropertyValue(t),i=""!==u||(r=C(e=n)?e.dom().parentNode:e.dom())!==undefined&&null!==r&&r.ownerDocument.body.contains(r)?u:S(o,t);returnnull===i?undefined:i},S=function(n,t){return(e=n).style!==undefined&&h(e.style.getPropertyValue)?n.style.getPropertyValue(t):"";vare},R=function(t,r){returnfunction(e){varn=function(n){vart=p.fromDom(n.element);e.setActive(("rtl"===A(t,"direction")?"rtl":"ltr")===r)};returnt.on("NodeChange",n),function(){returnt.off("NodeChange",n)}}},w=function(n){n.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:function(){returnn.execCommand("mceDirectionLTR")},onSetup:R(n,"ltr")}),n.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:function(){returnn.execCommand("mceDirectionRTL")},onSetup:R(n,"rtl")})};!functionM(){i.add("directionality",function(n){l(n),w(n)})}()}(window);