/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.0 (2020-02-13)
*/
!function(j) {
"use strict";
function i() {}
var q = function(n, r) {
return function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return n(r.apply(null, e))
}
}
, $ = function(e) {
return function() {
return e
}
}
, W = function(e) {
return e
};
function d(r) {
for (var o = [], e = 1; e < arguments.length; e++)
o[e - 1] = arguments[e];
return function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
var n = o.concat(e);
return r.apply(null, n)
}
}
function c(n) {
return function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return !n.apply(null, e)
}
}
function e() {
return u
}
var t, s = $(!1), a = $(!0), u = (t = {
fold: function(e, t) {
return e()
},
is: s,
isSome: s,
isNone: a,
getOr: o,
getOrThunk: r,
getOrDie: function(e) {
throw new Error(e || "error: getOrDie called on none.")
},
getOrNull: $(null),
getOrUndefined: $(undefined),
or: o,
orThunk: r,
map: e,
each: i,
bind: e,
exists: s,
forall: a,
filter: e,
equals: n,
equals_: n,
toArray: function() {
return []
},
toString: $("none()")
},
Object.freeze && Object.freeze(t),
t);
function n(e) {
return e.isNone()
}
function r(e) {
return e()
}
function o(e) {
return e
}
function l(t) {
return function(e) {
return function(e) {
if (null === e)
return "null";
var t = typeof e;
return "object" == t && (Array.prototype.isPrototypeOf(e) || e.constructor && "Array" === e.constructor.name) ? "array" : "object" == t && (String.prototype.isPrototypeOf(e) || e.constructor && "String" === e.constructor.name) ? "string" : t
}(e) === t
}
}
function f(e, t) {
return V.call(e, t)
}
function h(e, t) {
return -1 < f(e, t)
}
function C(e, t) {
for (var n = 0, r = e.length; n < r; n++) {
if (t(e[n], n))
return !0
}
return !1
}
function m(e, t, n) {
return function(e, t) {
for (var n = e.length - 1; 0 <= n; n--) {
t(e[n], n)
}
}(e, function(e) {
n = t(n, e)
}),
n
}
function y(e, t, n) {
return F(e, function(e) {
n = t(n, e)
}),
n
}
function g(e, t) {
for (var n = 0, r = e.length; n < r; n++) {
var o = e[n];
if (t(o, n))
return R.some(o)
}
return R.none()
}
function p(e, t) {
for (var n = 0, r = e.length; n < r; n++) {
if (t(e[n], n))
return R.some(n)
}
return R.none()
}
function v(e, t) {
return function(e) {
for (var t = [], n = 0, r = e.length; n < r; ++n) {
if (!D(e[n]))
throw new Error("Arr.flatten item " + n + " was not an array, input: " + e);
I.apply(t, e[n])
}
return t
}(X(e, t))
}
function b(e, t) {
for (var n = 0, r = e.length; n < r; ++n) {
if (!0 !== t(e[n], n))
return !1
}
return !0
}
function w(e) {
var t = L.call(e, 0);
return t.reverse(),
t
}
function x(e, t) {
return U(e, function(e) {
return !h(t, e)
})
}
function z(e) {
return 0 === e.length ? R.none() : R.some(e[0])
}
function E(e) {
return 0 === e.length ? R.none() : R.some(e[e.length - 1])
}
function N(e, t) {
for (var n = Z(e), r = 0, o = n.length; r < o; r++) {
var i = n[r];
t(e[i], i)
}
}
function S(e, n) {
return Q(e, function(e, t) {
return {
k: t,
v: n(e, t)
}
})
}
function k(n) {
return function(e, t) {
n[t] = e
}
}
function T(e, t) {
var n = {}
, r = {};
return function(e, n, r, o) {
N(e, function(e, t) {
(n(e, t) ? r : o)(e, t)
})
}(e, t, k(n), k(r)),
{
t: n,
f: r
}
}
function A(e, t) {
return ee(e, t) ? R.from(e[t]) : R.none()
}
var M = function(n) {
function e() {
return o
}
function t(e) {
return e(n)
}
var r = $(n)
, o = {
fold: function(e, t) {
return t(n)
},
is: function(e) {
return n === e
},
isSome: a,
isNone: s,
getOr: r,
getOrThunk: r,
getOrDie: r,
getOrNull: r,
getOrUndefined: r,
or: e,
orThunk: e,
map: function(e) {
return M(e(n))
},
each: function(e) {
e(n)
},
bind: t,
exists: t,
forall: t,
filter: function(e) {
return e(n) ? o : u
},
toArray: function() {
return [n]
},
toString: function() {
return "some(" + n + ")"
},
equals: function(e) {
return e.is(n)
},
equals_: function(e, t) {
return e.fold(s, function(e) {
return t(n, e)
})
}
};
return o
}
, R = {
some: M,
none: e,
from: function(e) {
return null === e || e === undefined ? u : M(e)
}
}
, K = l("string")
, _ = l("object")
, D = l("array")
, O = l("null")
, H = l("boolean")
, B = l("function")
, P = l("number")
, L = Array.prototype.slice
, V = Array.prototype.indexOf
, I = Array.prototype.push
, X = function(e, t) {
for (var n = e.length, r = new Array(n), o = 0; o < n; o++) {
var i = e[o];
r[o] = t(i, o)
}
return r
}
, F = function(e, t) {
for (var n = 0, r = e.length; n < r; n++) {
t(e[n], n)
}
}
, Y = function(e, t) {
for (var n = [], r = [], o = 0, i = e.length; o < i; o++) {
var a = e[o];
(t(a, o) ? n : r).push(a)
}
return {
pass: n,
fail: r
}
}
, U = function(e, t) {
for (var n = [], r = 0, o = e.length; r < o; r++) {
var i = e[r];
t(i, r) && n.push(i)
}
return n
}
, G = B(Array.from) ? Array.from : function(e) {
return L.call(e)
}
, Z = Object.keys
, J = Object.hasOwnProperty
, Q = function(e, r) {
var o = {};
return N(e, function(e, t) {
var n = r(e, t);
o[n.k] = n.v
}),
o
}
, ee = function(e, t) {
return J.call(e, t)
}
, te = function() {
return (te = Object.assign || function(e) {
for (var t, n = 1, r = arguments.length; n < r; n++)
for (var o in t = arguments[n])
Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
return e
}
).apply(this, arguments)
};
function ne(e, t) {
var n = function(e, t) {
for (var n = 0; n < e.length; n++) {
var r = e[n];
if (r.test(t))
return r
}
return undefined
}(e, t);
if (!n)
return {
major: 0,
minor: 0
};
function r(e) {
return Number(t.replace(n, "$" + e))
}
return ct(r(1), r(2))
}
function re(e, t) {
return function() {
return t === e
}
}
function oe(e, t) {
return function() {
return t === e
}
}
function ie(e, t) {
var n = String(t).toLowerCase();
return g(e, function(e) {
return e.search(n)
})
}
function ae(e, t) {
return -1 !== e.indexOf(t)
}
function ue(e, t) {
return function(e, t, n) {
return "" === t || !(e.length < t.length) && e.substr(n, n + t.length) === t
}(e, t, 0)
}
function ce(e) {
return e.replace(/^\s+|\s+$/g, "")
}
function se(e) {
return e.replace(/\s+$/g, "")
}
function le(t) {
return function(e) {
return ae(e, t)
}
}
function fe() {
return St.get()
}
function de() {
for (var t = [], e = 0; e < arguments.length; e++)
t[e] = arguments[e];
return function() {
for (var n = [], e = 0; e < arguments.length; e++)
n[e] = arguments[e];
if (t.length !== n.length)
throw new Error('Wrong number of arguments to struct. Expected "[' + t.length + ']", got ' + n.length + " arguments");
var r = {};
return F(t, function(e, t) {
r[e] = $(n[t])
}),
r
}
}
function he(e, t, n) {
return 0 != (e.compareDocumentPosition(t) & n)
}
function me(e, t) {
var n = e.dom();
if (n.nodeType !== _t)
return !1;
var r = n;
if (r.matches !== undefined)
return r.matches(t);
if (r.msMatchesSelector !== undefined)
return r.msMatchesSelector(t);
if (r.webkitMatchesSelector !== undefined)
return r.webkitMatchesSelector(t);
if (r.mozMatchesSelector !== undefined)
return r.mozMatchesSelector(t);
throw new Error("Browser lacks native selectors")
}
function ge(e) {
return e.nodeType !== _t && e.nodeType !== Dt || 0 === e.childElementCount
}
function pe(e, t) {
return e.dom() === t.dom()
}
function ve(e) {
return it.fromDom(e.dom().ownerDocument)
}
function ye(e) {
return it.fromDom(e.dom().ownerDocument.defaultView)
}
function be(e) {
return R.from(e.dom().parentNode).map(it.fromDom)
}
function Ce(e) {
return R.from(e.dom().previousSibling).map(it.fromDom)
}
function we(e) {
return R.from(e.dom().nextSibling).map(it.fromDom)
}
function xe(e) {
return w(kt(e, Ce))
}
function ze(e) {
return kt(e, we)
}
function Ee(e) {
return X(e.dom().childNodes, it.fromDom)
}
function Ne(e, t) {
var n = e.dom().childNodes;
return R.from(n[t]).map(it.fromDom)
}
function Se(e) {
return Ne(e, 0)
}
function ke(e) {
return Ne(e, e.dom().childNodes.length - 1)
}
function Te(t, n) {
be(t).each(function(e) {
e.dom().insertBefore(n.dom(), t.dom())
})
}
function Ae(e, t) {
we(e).fold(function() {
be(e).each(function(e) {
Ht(e, t)
})
}, function(e) {
Te(e, t)
})
}
function Me(t, n) {
Se(t).fold(function() {
Ht(t, n)
}, function(e) {
t.dom().insertBefore(n.dom(), e.dom())
})
}
function Re(t, e) {
F(e, function(e) {
Ht(t, e)
})
}
function _e(e) {
e.dom().textContent = "",
F(Ee(e), function(e) {
Bt(e)
})
}
function De(e) {
var t = Ee(e);
0 < t.length && function(t, e) {
F(e, function(e) {
Te(t, e)
})
}(e, t),
Bt(e)
}
function Oe(e) {
return e.dom().nodeName.toLowerCase()
}
function He(t) {
return function(e) {
return function(e) {
return e.dom().nodeType
}(e) === t
}
}
function Be(e) {
var t = Lt(e) ? e.dom().parentNode : e.dom();
return t !== undefined && null !== t && t.ownerDocument.body.contains(t)
}
function Pe(e, t) {
return e !== undefined ? e : t !== undefined ? t : 0
}
function Le(e) {
var t = e !== undefined ? e.dom() : j.document
, n = t.body.scrollLeft || t.documentElement.scrollLeft
, r = t.body.scrollTop || t.documentElement.scrollTop;
return It(n, r)
}
function Ve(e, t, n) {
(n !== undefined ? n.dom() : j.document).defaultView.scrollTo(e, t)
}
function Ie(e, t) {
Ut && B(e.dom().scrollIntoViewIfNeeded) ? e.dom().scrollIntoViewIfNeeded(!1) : e.dom().scrollIntoView(t)
}
function Fe(e, t, n, r) {
return {
x: $(e),
y: $(t),
width: $(n),
height: $(r),
right: $(e + n),
bottom: $(t + r)
}
}
function Ue(t) {
return function(e) {
return !!e && e.nodeType === t
}
}
function je(e) {
var n = e.map(function(e) {
return e.toLowerCase()
});
return function(e) {
if (e && e.nodeName) {
var t = e.nodeName.toLowerCase();
return h(n, t)
}
return !1
}
}
function qe(t) {
return function(e) {
if (qt(e)) {
if (e.contentEditable === t)
return !0;
if (e.getAttribute("data-mce-contenteditable") === t)
return !0
}
return !1
}
}
function $e(e) {
return e.style !== undefined && B(e.style.getPropertyValue)
}
function We(e, t, n) {
if (!(K(n) || H(n) || P(n)))
throw j.console.error("Invalid call to Attr.set. Key ", t, ":: Value ", n, ":: Element ", e),
new Error("Attribute value was not simple");
e.setAttribute(t, n + "")
}
function Ke(e, t) {
var n = e.dom();
N(t, function(e, t) {
We(n, t, e)
})
}
function Xe(e, t) {
var n = e.dom().getAttribute(t);
return null === n ? undefined : n
}
function Ye(e, t) {
e.dom().removeAttribute(t)
}
function Ge(e, t) {
var n = e.dom()
, r = j.window.getComputedStyle(n).getPropertyValue(t)
, o = "" !== r || Be(e) ? r : tn(n, t);
return null === o ? undefined : o
}
function Ze(e, t) {
var n = e.dom()
, r = tn(n, t);
return R.from(r).filter(function(e) {
return 0 < e.length
})
}
function Je(e) {
return g(e, Pt)
}
function Qe(e, t) {
return e.children && h(e.children, t)
}
var et, tt, nt, rt, ot = function(e) {
if (null === e || e === undefined)
throw new Error("Node cannot be null or undefined");
return {
dom: $(e)
}
}, it = {
fromHtml: function(e, t) {
var n = (t || j.document).createElement("div");
if (n.innerHTML = e,
!n.hasChildNodes() || 1 < n.childNodes.length)
throw j.console.error("HTML does not have a single root node", e),
new Error("HTML must have a single root node");
return ot(n.childNodes[0])
},
fromTag: function(e, t) {
var n = (t || j.document).createElement(e);
return ot(n)
},
fromText: function(e, t) {
var n = (t || j.document).createTextNode(e);
return ot(n)
},
fromDom: ot,
fromPoint: function(e, t, n) {
var r = e.dom();
return R.from(r.elementFromPoint(t, n)).map(ot)
}
}, at = function(e) {
function t() {
return n
}
var n = e;
return {
get: t,
set: function(e) {
n = e
},
clone: function() {
return at(t())
}
}
}, ut = function() {
return ct(0, 0)
}, ct = function(e, t) {
return {
major: e,
minor: t
}
}, st = {
nu: ct,
detect: function(e, t) {
var n = String(t).toLowerCase();
return 0 === e.length ? ut() : ne(e, n)
},
unknown: ut
}, lt = "Firefox", ft = function(e) {
var t = e.current;
return {
current: t,
version: e.version,
isEdge: re("Edge", t),
isChrome: re("Chrome", t),
isIE: re("IE", t),
isOpera: re("Opera", t),
isFirefox: re(lt, t),
isSafari: re("Safari", t)
}
}, dt = {
unknown: function() {
return ft({
current: undefined,
version: st.unknown()
})
},
nu: ft,
edge: $("Edge"),
chrome: $("Chrome"),
ie: $("IE"),
opera: $("Opera"),
firefox: $(lt),
safari: $("Safari")
}, ht = "Windows", mt = "Android", gt = "Solaris", pt = "FreeBSD", vt = "ChromeOS", yt = function(e) {
var t = e.current;
return {
current: t,
version: e.version,
isWindows: oe(ht, t),
isiOS: oe("iOS", t),
isAndroid: oe(mt, t),
isOSX: oe("OSX", t),
isLinux: oe("Linux", t),
isSolaris: oe(gt, t),
isFreeBSD: oe(pt, t),
isChromeOS: oe(vt, t)
}
}, bt = {
unknown: function() {
return yt({
current: undefined,
version: st.unknown()
})
},
nu: yt,
windows: $(ht),
ios: $("iOS"),
android: $(mt),
linux: $("Linux"),
osx: $("OSX"),
solaris: $(gt),
freebsd: $(pt),
chromeos: $(vt)
}, Ct = function(e, n) {
return ie(e, n).map(function(e) {
var t = st.detect(e.versionRegexes, n);
return {
current: e.name,
version: t
}
})
}, wt = function(e, n) {
return ie(e, n).map(function(e) {
var t = st.detect(e.versionRegexes, n);
return {
current: e.name,
version: t
}
})
}, xt = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, zt = [{
name: "Edge",
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
search: function(e) {
return ae(e, "edge/") && ae(e, "chrome") && ae(e, "safari") && ae(e, "applewebkit")
}
}, {
name: "Chrome",
versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, xt],
search: function(e) {
return ae(e, "chrome") && !ae(e, "chromeframe")
}
}, {
name: "IE",
versionRegexes: [/.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/],
search: function(e) {
return ae(e, "msie") || ae(e, "trident")
}
}, {
name: "Opera",
versionRegexes: [xt, /.*?opera\/([0-9]+)\.([0-9]+).*/],
search: le("opera")
}, {
name: "Firefox",
versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
search: le("firefox")
}, {
name: "Safari",
versionRegexes: [xt, /.*?cpu os ([0-9]+)_([0-9]+).*/],
search: function(e) {
return (ae(e, "safari") || ae(e, "mobile/")) && ae(e, "applewebkit")
}
}], Et = [{
name: "Windows",
search: le("win"),
versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]
}, {
name: "iOS",
search: function(e) {
return ae(e, "iphone") || ae(e, "ipad")
},
versionRegexes: [/.*?version\/\ ?([0-9]+)\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]
}, {
name: "Android",
search: le("android"),
versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/]
}, {
name: "OSX",
search: le("mac os x"),
versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]
}, {
name: "Linux",
search: le("linux"),
versionRegexes: []
}, {
name: "Solaris",
search: le("sunos"),
versionRegexes: []
}, {
name: "FreeBSD",
search: le("freebsd"),
versionRegexes: []
}, {
name: "ChromeOS",
search: le("cros"),
versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/]
}], Nt = {
browsers: $(zt),
oses: $(Et)
}, St = at(function(e, t) {
var n = Nt.browsers()
, r = Nt.oses()
, o = Ct(n, e).fold(dt.unknown, dt.nu)
, i = wt(r, e).fold(bt.unknown, bt.nu);
return {
browser: o,
os: i,
deviceType: function(e, t, n, r) {
var o = e.isiOS() && !0 === /ipad/i.test(n)
, i = e.isiOS() && !o
, a = e.isiOS() || e.isAndroid()
, u = a || r("(pointer:coarse)")
, c = o || !i && a && r("(min-device-width:768px)")
, s = i || a && !c
, l = t.isSafari() && e.isiOS() && !1 === /safari/i.test(n)
, f = !s && !c && !l;
return {
isiPad: $(o),
isiPhone: $(i),
isTablet: $(c),
isPhone: $(s),
isTouch: $(u),
isAndroid: e.isAndroid,
isiOS: e.isiOS,
isWebView: $(l),
isDesktop: $(f)
}
}(i, o, e, t)
}
}(j.navigator.userAgent, function(e) {
return j.window.matchMedia(e).matches
})), kt = function(e, t) {
for (var n = [], r = function(e) {
return n.push(e),
t(e)
}, o = t(e); (o = o.bind(r)).isSome(); )
;
return n
}, Tt = function(e, t) {
return he(e, t, j.Node.DOCUMENT_POSITION_CONTAINED_BY)
}, At = (j.Node.ATTRIBUTE_NODE,
j.Node.CDATA_SECTION_NODE,
j.Node.COMMENT_NODE,
j.Node.DOCUMENT_NODE), Mt = (j.Node.DOCUMENT_TYPE_NODE,
j.Node.DOCUMENT_FRAGMENT_NODE,
j.Node.ELEMENT_NODE), Rt = j.Node.TEXT_NODE, _t = (j.Node.PROCESSING_INSTRUCTION_NODE,
j.Node.ENTITY_REFERENCE_NODE,
j.Node.ENTITY_NODE,
j.Node.NOTATION_NODE,
Mt), Dt = At, Ot = fe().browser.isIE() ? function(e, t) {
return Tt(e.dom(), t.dom())
}
: function(e, t) {
var n = e.dom()
, r = t.dom();
return n !== r && n.contains(r)
}
, Ht = (de("element", "offset"),
function(e, t) {
e.dom().appendChild(t.dom())
}
), Bt = function(e) {
var t = e.dom();
null !== t.parentNode && t.parentNode.removeChild(t)
}, Pt = ("undefined" != typeof j.window ? j.window : Function("return this;")(),
He(Mt)), Lt = He(Rt), Vt = function(n, r) {
return {
left: $(n),
top: $(r),
translate: function(e, t) {
return Vt(n + e, r + t)
}
}
}, It = Vt, Ft = function(e) {
var t = e.dom()
, n = t.ownerDocument.body;
return n === t ? It(n.offsetLeft, n.offsetTop) : Be(e) ? function(e) {
var t = e.getBoundingClientRect();
return It(t.left, t.top)
}(t) : It(0, 0)
}, Ut = fe().browser.isSafari(), jt = function(e) {
var r = e === undefined ? j.window : e
, t = r.document
, o = Le(it.fromDom(t));
return function(e) {
var t = e === undefined ? j.window : e;
return R.from(t.visualViewport)
}(r).fold(function() {
var e = r.document.documentElement
, t = e.clientWidth
, n = e.clientHeight;
return Fe(o.left(), o.top(), t, n)
}, function(e) {
return Fe(Math.max(e.pageLeft, o.left()), Math.max(e.pageTop, o.top()), e.width, e.height)
})
}, qt = Ue(1), $t = je(["textarea", "input"]), Wt = Ue(3), Kt = Ue(8), Xt = Ue(9), Yt = Ue(11), Gt = je(["br"]), Zt = qe("true"), Jt = qe("false"), Qt = {
isText: Wt,
isElement: qt,
isComment: Kt,
isDocument: Xt,
isDocumentFragment: Yt,
isBr: Gt,
isContentEditableTrue: Zt,
isContentEditableFalse: Jt,
isRestrictedNode: function(e) {
return !!e && !Object.getPrototypeOf(e)
},
matchNodeNames: je,
hasPropValue: function(t, n) {
return function(e) {
return qt(e) && e[t] === n
}
},
hasAttribute: function(t, e) {
return function(e) {
return qt(e) && e.hasAttribute(t)
}
},
hasAttributeValue: function(t, n) {
return function(e) {
return qt(e) && e.getAttribute(t) === n
}
},
matchStyleValues: function(r, e) {
var o = e.toLowerCase().split(" ");
return function(e) {
var t;
if (qt(e))
for (t = 0; t < o.length; t++) {
var n = e.ownerDocument.defaultView.getComputedStyle(e, null);
if ((n ? n.getPropertyValue(r) : null) === o[t])
return !0
}
return !1
}
},
isBogus: function(e) {
return qt(e) && e.hasAttribute("data-mce-bogus")
},
isBogusAll: function(e) {
return qt(e) && "all" === e.getAttribute("data-mce-bogus")
},
isTable: function(e) {
return qt(e) && "TABLE" === e.tagName
},
isTextareaOrInput: $t
}, en = function(e, t, n) {
We(e.dom(), t, n)
}, tn = function(e, t) {
return $e(e) ? e.style.getPropertyValue(t) : ""
}, nn = fe().browser, rn = {
getPos: function(e, t, n) {
var r, o, i = 0, a = 0, u = e.ownerDocument;
if (n = n || e,
t) {
if (n === e && t.getBoundingClientRect && "static" === Ge(it.fromDom(e), "position"))
return {
x: i = (o = t.getBoundingClientRect()).left + (u.documentElement.scrollLeft || e.scrollLeft) - u.documentElement.clientLeft,
y: a = o.top + (u.documentElement.scrollTop || e.scrollTop) - u.documentElement.clientTop
};
for (r = t; r && r !== n && r.nodeType && !Qe(r, n); )
i += r.offsetLeft || 0,
a += r.offsetTop || 0,
r = r.offsetParent;
for (r = t.parentNode; r && r !== n && r.nodeType && !Qe(r, n); )
i -= r.scrollLeft || 0,
a -= r.scrollTop || 0,
r = r.parentNode;
a += function(e) {
return nn.isFirefox() && "table" === Oe(e) ? Je(Ee(e)).filter(function(e) {
return "caption" === Oe(e)
}).bind(function(o) {
return Je(ze(o)).map(function(e) {
var t = e.dom().offsetTop
, n = o.dom().offsetTop
, r = o.dom().offsetHeight;
return t <= n ? -r : 0
})
}).getOr(0) : 0
}(it.fromDom(t))
}
return {
x: i,
y: a
}
}
}, on = {}, an = {
exports: on
};
et = undefined,
tt = on,
nt = an,
rt = undefined,
function(e) {
"object" == typeof tt && void 0 !== nt ? nt.exports = e() : "function" == typeof et && et.amd ? et([], e) : ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).EphoxContactWrapper = e()
}(function() {
return function l(i, a, u) {
function c(t, e) {
if (!a[t]) {
if (!i[t]) {
var n = "function" == typeof rt && rt;
if (!e && n)
return n(t, !0);
if (s)
return s(t, !0);
var r = new Error("Cannot find module '" + t + "'");
throw r.code = "MODULE_NOT_FOUND",
r
}
var o = a[t] = {
exports: {}
};
i[t][0].call(o.exports, function(e) {
return c(i[t][1][e] || e)
}, o, o.exports, l, i, a, u)
}
return a[t].exports
}
for (var s = "function" == typeof rt && rt, e = 0; e < u.length; e++)
c(u[e]);
return c
}({
1: [function(e, t, n) {
var r, o, i = t.exports = {};
function a() {
throw new Error("setTimeout has not been defined")
}
function u() {
throw new Error("clearTimeout has not been defined")
}
function c(e) {
if (r === setTimeout)
return setTimeout(e, 0);
if ((r === a || !r) && setTimeout)
return r = setTimeout,
setTimeout(e, 0);
try {
return r(e, 0)
} catch (t) {
try {
return r.call(null, e, 0)
} catch (t) {
return r.call(this, e, 0)
}
}
}
!function() {
try {
r = "function" == typeof setTimeout ? setTimeout : a
} catch (e) {
r = a
}
try {
o = "function" == typeof clearTimeout ? clearTimeout : u
} catch (e) {
o = u
}
}();
var s, l = [], f = !1, d = -1;
function h() {
f && s && (f = !1,
s.length ? l = s.concat(l) : d = -1,
l.length && m())
}
function m() {
if (!f) {
var e = c(h);
f = !0;
for (var t = l.length; t; ) {
for (s = l,
l = []; ++d < t; )
s && s[d].run();
d = -1,
t = l.length
}
s = null,
f = !1,
function n(e) {
if (o === clearTimeout)
return clearTimeout(e);
if ((o === u || !o) && clearTimeout)
return o = clearTimeout,
clearTimeout(e);
try {
return o(e)
} catch (t) {
try {
return o.call(null, e)
} catch (t) {
return o.call(this, e)
}
}
}(e)
}
}
function g(e, t) {
this.fun = e,
this.array = t
}
function p() {}
i.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (1 < arguments.length)
for (var n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
l.push(new g(e,t)),
1 !== l.length || f || c(m)
}
,
g.prototype.run = function() {
this.fun.apply(null, this.array)
}
,
i.title = "browser",
i.browser = !0,
i.env = {},
i.argv = [],
i.version = "",
i.versions = {},
i.on = p,
i.addListener = p,
i.once = p,
i.off = p,
i.removeListener = p,
i.removeAllListeners = p,
i.emit = p,
i.prependListener = p,
i.prependOnceListener = p,
i.listeners = function(e) {
return []
}
,
i.binding = function(e) {
throw new Error("process.binding is not supported")
}
,
i.cwd = function() {
return "/"
}
,
i.chdir = function(e) {
throw new Error("process.chdir is not supported")
}
,
i.umask = function() {
return 0
}
}
, {}],
2: [function(e, f, t) {
(function(t) {
function r() {}
function i(e) {
if ("object" != typeof this)
throw new TypeError("Promises must be constructed via new");
if ("function" != typeof e)
throw new TypeError("not a function");
this._state = 0,
this._handled = !1,
this._value = undefined,
this._deferreds = [],
l(e, this)
}
function o(r, o) {
for (; 3 === r._state; )
r = r._value;
0 !== r._state ? (r._handled = !0,
i._immediateFn(function() {
var e = 1 === r._state ? o.onFulfilled : o.onRejected;
if (null !== e) {
var t;
try {
t = e(r._value)
} catch (n) {
return void u(o.promise, n)
}
a(o.promise, t)
} else
(1 === r._state ? a : u)(o.promise, r._value)
})) : r._deferreds.push(o)
}
function a(e, t) {
try {
if (t === e)
throw new TypeError("A promise cannot be resolved with itself.");
if (t && ("object" == typeof t || "function" == typeof t)) {
var n = t.then;
if (t instanceof i)
return e._state = 3,
e._value = t,
void c(e);
if ("function" == typeof n)
return void l(function r(e, t) {
return function() {
e.apply(t, arguments)
}
}(n, t), e)
}
e._state = 1,
e._value = t,
c(e)
} catch (o) {
u(e, o)
}
}
function u(e, t) {
e._state = 2,
e._value = t,
c(e)
}
function c(e) {
2 === e._state && 0 === e._deferreds.length && i._immediateFn(function() {
e._handled || i._unhandledRejectionFn(e._value)
});
for (var t = 0, n = e._deferreds.length; t < n; t++)
o(e, e._deferreds[t]);
e._deferreds = null
}
function s(e, t, n) {
this.onFulfilled = "function" == typeof e ? e : null,
this.onRejected = "function" == typeof t ? t : null,
this.promise = n
}
function l(e, t) {
var n = !1;
try {
e(function(e) {
n || (n = !0,
a(t, e))
}, function(e) {
n || (n = !0,
u(t, e))
})
} catch (r) {
if (n)
return;
n = !0,
u(t, r)
}
}
var e, n;
e = this,
n = setTimeout,
i.prototype["catch"] = function(e) {
return this.then(null, e)
}
,
i.prototype.then = function(e, t) {
var n = new this.constructor(r);
return o(this, new s(e,t,n)),
n
}
,
i.all = function(e) {
var c = Array.prototype.slice.call(e);
return new i(function(o, i) {
if (0 === c.length)
return o([]);
var a = c.length;
function u(t, e) {
try {
if (e && ("object" == typeof e || "function" == typeof e)) {
var n = e.then;
if ("function" == typeof n)
return void n.call(e, function(e) {
u(t, e)
}, i)
}
c[t] = e,
0 == --a && o(c)
} catch (r) {
i(r)
}
}
for (var e = 0; e < c.length; e++)
u(e, c[e])
}
)
}
,
i.resolve = function(t) {
return t && "object" == typeof t && t.constructor === i ? t : new i(function(e) {
e(t)
}
)
}
,
i.reject = function(n) {
return new i(function(e, t) {
t(n)
}
)
}
,
i.race = function(o) {
return new i(function(e, t) {
for (var n = 0, r = o.length; n < r; n++)
o[n].then(e, t)
}
)
}
,
i._immediateFn = "function" == typeof t ? function(e) {
t(e)
}
: function(e) {
n(e, 0)
}
,
i._unhandledRejectionFn = function(e) {
"undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", e)
}
,
i._setImmediateFn = function(e) {
i._immediateFn = e
}
,
i._setUnhandledRejectionFn = function(e) {
i._unhandledRejectionFn = e
}
,
void 0 !== f && f.exports ? f.exports = i : e.Promise || (e.Promise = i)
}
).call(this, e("timers").setImmediate)
}
, {
timers: 3
}],
3: [function(c, e, s) {
(function(e, t) {
var r = c("process/browser.js").nextTick
, n = Function.prototype.apply
, o = Array.prototype.slice
, i = {}
, a = 0;
function u(e, t) {
this._id = e,
this._clearFn = t
}
s.setTimeout = function() {
return new u(n.call(setTimeout, window, arguments),clearTimeout)
}
,
s.setInterval = function() {
return new u(n.call(setInterval, window, arguments),clearInterval)
}
,
s.clearTimeout = s.clearInterval = function(e) {
e.close()
}
,
u.prototype.unref = u.prototype.ref = function() {}
,
u.prototype.close = function() {
this._clearFn.call(window, this._id)
}
,
s.enroll = function(e, t) {
clearTimeout(e._idleTimeoutId),
e._idleTimeout = t
}
,
s.unenroll = function(e) {
clearTimeout(e._idleTimeoutId),
e._idleTimeout = -1
}
,
s._unrefActive = s.active = function(e) {
clearTimeout(e._idleTimeoutId);
var t = e._idleTimeout;
0 <= t && (e._idleTimeoutId = setTimeout(function() {
e._onTimeout && e._onTimeout()
}, t))
}
,
s.setImmediate = "function" == typeof e ? e : function(e) {
var t = a++
, n = !(arguments.length < 2) && o.call(arguments, 1);
return i[t] = !0,
r(function() {
i[t] && (n ? e.apply(null, n) : e.call(null),
s.clearImmediate(t))
}),
t
}
,
s.clearImmediate = "function" == typeof t ? t : function(e) {
delete i[e]
}
}
).call(this, c("timers").setImmediate, c("timers").clearImmediate)
}
, {
"process/browser.js": 1,
timers: 3
}],
4: [function(e, t, n) {
var r = e("promise-polyfill")
, o = "undefined" != typeof window ? window : Function("return this;")();
t.exports = {
boltExport: o.Promise || r
}
}
, {
"promise-polyfill": 2
}]
}, {}, [4])(4)
});
function un(e) {
j.setTimeout(function() {
throw e
}, 0)
}
function cn(i, e) {
return e(function(n) {
var r = []
, o = 0;
0 === i.length ? n([]) : F(i, function(e, t) {
e.get(function(t) {
return function(e) {
r[t] = e,
++o >= i.length && n(r)
}
}(t))
})
})
}
var sn, ln, fn, dn = an.exports.boltExport, hn = function(e) {
var n = R.none()
, t = []
, r = function(e) {
o() ? a(e) : t.push(e)
}
, o = function() {
return n.isSome()
}
, i = function(e) {
F(e, a)
}
, a = function(t) {
n.each(function(e) {
j.setTimeout(function() {
t(e)
}, 0)
})
};
return e(function(e) {
n = R.some(e),
i(t),
t = []
}),
{
get: r,
map: function(n) {
return hn(function(t) {
r(function(e) {
t(n(e))
})
})
},
isReady: o
}
}, mn = {
nu: hn,
pure: function(t) {
return hn(function(e) {
e(t)
})
}
}, gn = function(n) {
function e(e) {
n().then(e, un)
}
return {
map: function(e) {
return gn(function() {
return n().then(e)
})
},
bind: function(t) {
return gn(function() {
return n().then(function(e) {
return t(e).toPromise()
})
})
},
anonBind: function(e) {
return gn(function() {
return n().then(function() {
return e.toPromise()
})
})
},
toLazy: function() {
return mn.nu(e)
},
toCached: function() {
var e = null;
return gn(function() {
return null === e && (e = n()),
e
})
},
toPromise: n,
get: e
}
}, pn = {
nu: function(e) {
return gn(function() {
return new dn(e)
})
},
pure: function(e) {
return gn(function() {
return dn.resolve(e)
})
}
}, vn = function(e) {
return cn(e, pn.nu)
}, yn = function(n) {
return {
is: function(e) {
return n === e
},
isValue: a,
isError: s,
getOr: $(n),
getOrThunk: $(n),
getOrDie: $(n),
or: function(e) {
return yn(n)
},
orThunk: function(e) {
return yn(n)
},
fold: function(e, t) {
return t(n)
},
map: function(e) {
return yn(e(n))
},
mapError: function(e) {
return yn(n)
},
each: function(e) {
e(n)
},
bind: function(e) {
return e(n)
},
exists: function(e) {
return e(n)
},
forall: function(e) {
return e(n)
},
toOption: function() {
return R.some(n)
}
}
}, bn = function(n) {
return {
is: s,
isValue: s,
isError: a,
getOr: W,
getOrThunk: function(e) {
return e()
},
getOrDie: function() {
return function(e) {
return function() {
throw new Error(e)
}
}(String(n))()
},
or: function(e) {
return e
},
orThunk: function(e) {
return e()
},
fold: function(e, t) {
return e(n)
},
map: function(e) {
return bn(n)
},
mapError: function(e) {
return bn(e(n))
},
each: i,
bind: function(e) {
return bn(n)
},
exists: s,
forall: a,
toOption: R.none
}
}, Cn = {
value: yn,
error: bn,
fromOption: function(e, t) {
return e.fold(function() {
return bn(t)
}, yn)
}
}, wn = window.Promise ? window.Promise : (sn = Array.isArray || function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
}
,
ln = zn.immediateFn || "function" == typeof j.setImmediate && j.setImmediate || function(e) {
j.setTimeout(e, 1)
}
,
zn.prototype["catch"] = function(e) {
return this.then(null, e)
}
,
zn.prototype.then = function(n, r) {
var o = this;
return new zn(function(e, t) {
En.call(o, new Tn(n,r,e,t))
}
)
}
,
zn.all = function() {
var c = Array.prototype.slice.call(1 === arguments.length && sn(arguments[0]) ? arguments[0] : arguments);
return new zn(function(o, i) {
if (0 === c.length)
return o([]);
var a = c.length;
function u(t, e) {
try {
if (e && ("object" == typeof e || "function" == typeof e)) {
var n = e.then;
if ("function" == typeof n)
return void n.call(e, function(e) {
u(t, e)
}, i)
}
c[t] = e,
0 == --a && o(c)
} catch (r) {
i(r)
}
}
for (var e = 0; e < c.length; e++)
u(e, c[e])
}
)
}
,
zn.resolve = function(t) {
return t && "object" == typeof t && t.constructor === zn ? t : new zn(function(e) {
e(t)
}
)
}
,
zn.reject = function(n) {
return new zn(function(e, t) {
t(n)
}
)
}
,
zn.race = function(o) {
return new zn(function(e, t) {
for (var n = 0, r = o.length; n < r; n++)
o[n].then(e, t)
}
)
}
,
zn);
function xn(e, t) {
return function() {
e.apply(t, arguments)
}
}
function zn(e) {
if ("object" != typeof this)
throw new TypeError("Promises must be constructed via new");
if ("function" != typeof e)
throw new TypeError("not a function");
this._state = null,
this._value = null,
this._deferreds = [],
An(e, xn(Nn, this), xn(Sn, this))
}
function En(r) {
var o = this;
null !== this._state ? ln(function() {
var e = o._state ? r.onFulfilled : r.onRejected;
if (null !== e) {
var t;
try {
t = e(o._value)
} catch (n) {
return void r.reject(n)
}
r.resolve(t)
} else
(o._state ? r.resolve : r.reject)(o._value)
}) : this._deferreds.push(r)
}
function Nn(e) {
try {
if (e === this)
throw new TypeError("A promise cannot be resolved with itself.");
if (e && ("object" == typeof e || "function" == typeof e)) {
var t = e.then;
if ("function" == typeof t)
return void An(xn(t, e), xn(Nn, this), xn(Sn, this))
}
this._state = !0,
this._value = e,
kn.call(this)
} catch (n) {
Sn.call(this, n)
}
}
function Sn(e) {
this._state = !1,
this._value = e,
kn.call(this)
}
function kn() {
for (var e = 0, t = this._deferreds.length; e < t; e++)
En.call(this, this._deferreds[e]);
this._deferreds = null
}
function Tn(e, t, n, r) {
this.onFulfilled = "function" == typeof e ? e : null,
this.onRejected = "function" == typeof t ? t : null,
this.resolve = n,
this.reject = r
}
function An(e, t, n) {
var r = !1;
try {
e(function(e) {
r || (r = !0,
t(e))
}, function(e) {
r || (r = !0,
n(e))
})
} catch (o) {
if (r)
return;
r = !0,
n(o)
}
}
function Mn(e, t) {
return "number" != typeof t && (t = 0),
j.setTimeout(e, t)
}
function Rn(e, t) {
return "number" != typeof t && (t = 1),
j.setInterval(e, t)
}
function _n(n, r) {
var o, e;
return (e = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
j.clearTimeout(o),
o = Mn(function() {
n.apply(this, e)
}, r)
}
).stop = function() {
j.clearTimeout(o)
}
,
e
}
function Dn(e, t, n) {
var r, o;
if (!e)
return 0;
if (n = n || e,
e.length !== undefined) {
for (r = 0,
o = e.length; r < o; r++)
if (!1 === t.call(n, e[r], r, e))
return 0
} else
for (r in e)
if (e.hasOwnProperty(r) && !1 === t.call(n, e[r], r, e))
return 0;
return 1
}
function On(e, t, n) {
var r, o;
for (r = 0,
o = e.length; r < o; r++)
if (t.call(n, e[r], r, e))
return r;
return -1
}
function Hn(e) {
return null === e || e === undefined ? "" : ("" + e).replace(Yn, "")
}
function Bn(e, t) {
return t ? !("array" !== t || !Xn.isArray(e)) || typeof e === t : e !== undefined
}
var Pn = {
requestAnimationFrame: function(e, t) {
fn ? fn.then(e) : fn = new wn(function(e) {
!function(e, t) {
var n, r = j.window.requestAnimationFrame, o = ["ms", "moz", "webkit"];
for (n = 0; n < o.length && !r; n++)
r = j.window[o[n] + "RequestAnimationFrame"];
(r = r || function(e) {
j.window.setTimeout(e, 0)
}
)(e, t)
}(e, t = t || j.document.body)
}
).then(e)
},
setTimeout: Mn,
setInterval: Rn,
setEditorTimeout: function(e, t, n) {
return Mn(function() {
e.removed || t()
}, n)
},
setEditorInterval: function(e, t, n) {
var r;
return r = Rn(function() {
e.removed ? j.clearInterval(r) : t()
}, n)
},
debounce: _n,
throttle: _n,
clearInterval: function(e) {
return j.clearInterval(e)
},
clearTimeout: function(e) {
return j.clearTimeout(e)
}
}
, Ln = j.navigator.userAgent
, Vn = fe()
, In = Vn.browser
, Fn = Vn.os
, Un = Vn.deviceType
, jn = /WebKit/.test(Ln) && !In.isEdge()
, qn = "FormData"in j.window && "FileReader"in j.window && "URL"in j.window && !!j.URL.createObjectURL
, $n = -1 !== Ln.indexOf("Windows Phone")
, Wn = {
opera: In.isOpera(),
webkit: jn,
ie: !(!In.isIE() && !In.isEdge()) && In.version.major,
gecko: In.isFirefox(),
mac: Fn.isOSX() || Fn.isiOS(),
iOS: Un.isiPad() || Un.isiPhone(),
android: Fn.isAndroid(),
contentEditable: !0,
transparentSrc: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
caretAfter: !0,
range: j.window.getSelection && "Range"in j.window,
documentMode: In.isIE() ? j.document.documentMode || 7 : 10,
fileApi: qn,
ceFalse: !0,
cacheSuffix: null,
container: null,
experimentalShadowDom: !1,
canHaveCSP: !In.isIE(),
desktop: Un.isDesktop(),
windowsPhone: $n,
browser: {
current: In.current,
version: In.version,
isChrome: In.isChrome,
isEdge: In.isEdge,
isFirefox: In.isFirefox,
isIE: In.isIE,
isOpera: In.isOpera,
isSafari: In.isSafari
},
os: {
current: Fn.current,
version: Fn.version,
isAndroid: Fn.isAndroid,
isChromeOS: Fn.isChromeOS,
isFreeBSD: Fn.isFreeBSD,
isiOS: Fn.isiOS,
isLinux: Fn.isLinux,
isOSX: Fn.isOSX,
isSolaris: Fn.isSolaris,
isWindows: Fn.isWindows
},
deviceType: {
isDesktop: Un.isDesktop,
isiPad: Un.isiPad,
isiPhone: Un.isiPhone,
isPhone: Un.isPhone,
isTablet: Un.isTablet,
isTouch: Un.isTouch,
isWebView: Un.isWebView
}
}
, Kn = Array.isArray
, Xn = {
isArray: Kn,
toArray: function(e) {
var t, n, r = e;
if (!Kn(e))
for (r = [],
t = 0,
n = e.length; t < n; t++)
r[t] = e[t];
return r
},
each: Dn,
map: function(n, r) {
var o = [];
return Dn(n, function(e, t) {
o.push(r(e, t, n))
}),
o
},
filter: function(n, r) {
var o = [];
return Dn(n, function(e, t) {
r && !r(e, t, n) || o.push(e)
}),
o
},
indexOf: function(e, t) {
var n, r;
if (e)
for (n = 0,
r = e.length; n < r; n++)
if (e[n] === t)
return n;
return -1
},
reduce: function(e, t, n, r) {
var o = 0;
for (arguments.length < 3 && (n = e[0]); o < e.length; o++)
n = t.call(r, n, e[o], o);
return n
},
findIndex: On,
find: function(e, t, n) {
var r = On(e, t, n);
return -1 !== r ? e[r] : undefined
},
last: function(e) {
return e[e.length - 1]
}
}
, Yn = /^\s*|\s*$/g
, Gn = function(e, n, r, o) {
o = o || this,
e && (r && (e = e[r]),
Xn.each(e, function(e, t) {
if (!1 === n.call(o, e, t, r))
return !1;
Gn(e, n, r, o)
}))
}
, Zn = {
trim: Hn,
isArray: Xn.isArray,
is: Bn,
toArray: Xn.toArray,
makeMap: function(e, t, n) {
var r;
for (t = t || ",",
"string" == typeof (e = e || []) && (e = e.split(t)),
n = n || {},
r = e.length; r--; )
n[e[r]] = {};
return n
},
each: Xn.each,
map: Xn.map,
grep: Xn.filter,
inArray: Xn.indexOf,
hasOwn: function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
},
extend: function(e, t) {
for (var n, r, o, i = [], a = 2; a < arguments.length; a++)
i[a - 2] = arguments[a];
var u, c = arguments;
for (n = 1,
r = c.length; n < r; n++)
for (o in t = c[n])
t.hasOwnProperty(o) && (u = t[o]) !== undefined && (e[o] = u);
return e
},
create: function(e, t, n) {
var r, o, i, a, u, c = this, s = 0;
if (e = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),
i = e[3].match(/(^|\.)(\w+)$/i)[2],
!(o = c.createNS(e[3].replace(/\.\w+$/, ""), n))[i]) {
if ("static" === e[2])
return o[i] = t,
void (this.onCreate && this.onCreate(e[2], e[3], o[i]));
t[i] || (t[i] = function() {}
,
s = 1),
o[i] = t[i],
c.extend(o[i].prototype, t),
e[5] && (r = c.resolve(e[5]).prototype,
a = e[5].match(/\.(\w+)$/i)[1],
u = o[i],
o[i] = s ? function() {
return r[a].apply(this, arguments)
}
: function() {
return this.parent = r[a],
u.apply(this, arguments)
}
,
o[i].prototype[i] = o[i],
c.each(r, function(e, t) {
o[i].prototype[t] = r[t]
}),
c.each(t, function(e, t) {
r[t] ? o[i].prototype[t] = function() {
return this.parent = r[t],
e.apply(this, arguments)
}
: t !== i && (o[i].prototype[t] = e)
})),
c.each(t["static"], function(e, t) {
o[i][t] = e
})
}
},
walk: Gn,
createNS: function(e, t) {
var n, r;
for (t = t || j.window,
e = e.split("."),
n = 0; n < e.length; n++)
t[r = e[n]] || (t[r] = {}),
t = t[r];
return t
},
resolve: function(e, t) {
var n, r;
for (t = t || j.window,
n = 0,
r = (e = e.split(".")).length; n < r && (t = t[e[n]]); n++)
;
return t
},
explode: function(e, t) {
return !e || Bn(e, "array") ? e : Xn.map(e.split(t || ","), Hn)
},
_addCacheSuffix: function(e) {
var t = Wn.cacheSuffix;
return t && (e += (-1 === e.indexOf("?") ? "?" : "&") + t),
e
}
};
function Jn(t) {
var n;
return function(e) {
return (n = n || function(e, t) {
for (var n = {}, r = 0, o = e.length; r < o; r++) {
var i = e[r];
n[String(i)] = t(i, r)
}
return n
}(t, $(!0))).hasOwnProperty(Oe(e))
}
}
function Qn(e) {
return Pt(e) && !ar(e)
}
function er(e) {
return Pt(e) && "br" === Oe(e)
}
function tr(e) {
return e && "SPAN" === e.tagName && "bookmark" === e.getAttribute("data-mce-type")
}
var nr, rr, or, ir = Jn(["h1", "h2", "h3", "h4", "h5", "h6"]), ar = Jn(["article", "aside", "details", "div", "dt", "figcaption", "footer", "form", "fieldset", "header", "hgroup", "html", "main", "nav", "section", "summary", "body", "p", "dl", "multicol", "dd", "figure", "address", "center", "blockquote", "h1", "h2", "h3", "h4", "h5", "h6", "listing", "xmp", "pre", "plaintext", "menu", "dir", "ul", "ol", "li", "hr", "table", "tbody", "thead", "tfoot", "th", "tr", "td", "caption"]), ur = Jn(["h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "pre", "form", "blockquote", "center", "dir", "fieldset", "header", "footer", "article", "section", "hgroup", "aside", "nav", "figure"]), cr = Jn(["ul", "ol", "dl"]), sr = Jn(["li", "dd", "dt"]), lr = Jn(["area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta", "param", "embed", "source", "wbr", "track"]), fr = Jn(["thead", "tbody", "tfoot"]), dr = Jn(["td", "th"]), hr = Jn(["pre", "script", "textarea", "style"]), mr = function(e, t) {
var n, r = t.childNodes;
if (!Qt.isElement(t) || !tr(t)) {
for (n = r.length - 1; 0 <= n; n--)
mr(e, r[n]);
if (!1 === Qt.isDocument(t)) {
if (Qt.isText(t) && 0 < t.nodeValue.length) {
var o = Zn.trim(t.nodeValue).length;
if (e.isBlock(t.parentNode) || 0 < o)
return;
if (0 === o && function(e) {
var t = e.previousSibling && "SPAN" === e.previousSibling.nodeName
, n = e.nextSibling && "SPAN" === e.nextSibling.nodeName;
return t && n
}(t))
return
} else if (Qt.isElement(t) && (1 === (r = t.childNodes).length && tr(r[0]) && t.parentNode.insertBefore(r[0], t),
r.length || lr(it.fromDom(t))))
return;
e.remove(t)
}
return t
}
}, gr = {
trimNode: mr
}, pr = Zn.makeMap, vr = /[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, yr = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, br = /[<>&\"\']/g, Cr = /([a-z0-9]+);?|&([a-z0-9]+);/gi, wr = {
128: "\u20ac",
130: "\u201a",
131: "\u0192",
132: "\u201e",
133: "\u2026",
134: "\u2020",
135: "\u2021",
136: "\u02c6",
137: "\u2030",
138: "\u0160",
139: "\u2039",
140: "\u0152",
142: "\u017d",
145: "\u2018",
146: "\u2019",
147: "\u201c",
148: "\u201d",
149: "\u2022",
150: "\u2013",
151: "\u2014",
152: "\u02dc",
153: "\u2122",
154: "\u0161",
155: "\u203a",
156: "\u0153",
158: "\u017e",
159: "\u0178"
};
rr = {
'"': """,
"'": "'",
"<": "<",
">": ">",
"&": "&",
"`": "`"
},
or = {
"<": "<",
">": ">",
"&": "&",
""": '"',
"'": "'"
};
function xr(e, t) {
var n, r, o, i = {};
if (e) {
for (e = e.split(","),
t = t || 10,
n = 0; n < e.length; n += 2)
r = String.fromCharCode(parseInt(e[n], t)),
rr[r] || (o = "&" + e[n + 1] + ";",
i[r] = o,
i[o] = r);
return i
}
}
nr = xr("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro", 32);
function zr(e, t) {
return e.replace(t ? vr : yr, function(e) {
return rr[e] || e
})
}
function Er(e, t) {
return e.replace(t ? vr : yr, function(e) {
return 1 < e.length ? "" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : rr[e] || "" + e.charCodeAt(0) + ";"
})
}
function Nr(e, t, n) {
return n = n || nr,
e.replace(t ? vr : yr, function(e) {
return rr[e] || n[e] || e
})
}
var Sr = {
encodeRaw: zr,
encodeAllRaw: function(e) {
return ("" + e).replace(br, function(e) {
return rr[e] || e
})
},
encodeNumeric: Er,
encodeNamed: Nr,
getEncodeFunc: function(e, t) {
var n = xr(t) || nr
, r = pr(e.replace(/\+/g, ","));
return r.named && r.numeric ? function(e, t) {
return e.replace(t ? vr : yr, function(e) {
return rr[e] !== undefined ? rr[e] : n[e] !== undefined ? n[e] : 1 < e.length ? "" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : "" + e.charCodeAt(0) + ";"
})
}
: r.named ? t ? function(e, t) {
return Nr(e, t, n)
}
: Nr : r.numeric ? Er : zr
},
decode: function(e) {
return e.replace(Cr, function(e, t) {
return t ? 65535 < (t = "x" === t.charAt(0).toLowerCase() ? parseInt(t.substr(1), 16) : parseInt(t, 10)) ? (t -= 65536,
String.fromCharCode(55296 + (t >> 10), 56320 + (1023 & t))) : wr[t] || String.fromCharCode(t) : or[e] || nr[e] || function(e) {
var t;
return (t = it.fromTag("div").dom()).innerHTML = e,
t.textContent || t.innerText || e
}(e)
})
}
}
, kr = {}
, Tr = {}
, Ar = Zn.makeMap
, Mr = Zn.each
, Rr = Zn.extend
, _r = Zn.explode
, Dr = Zn.inArray
, Or = function(e, t) {
return (e = Zn.trim(e)) ? e.split(t || " ") : []
}
, Hr = function(e) {
function t(e, t, n) {
function r(e, t) {
var n, r, o = {};
for (n = 0,
r = e.length; n < r; n++)
o[e[n]] = t || {};
return o
}
var o, i, a;
for (t = t || "",
"string" == typeof (n = n || []) && (n = Or(n)),
o = (e = Or(e)).length; o--; )
a = {
attributes: r(i = Or([u, t].join(" "))),
attributesOrder: i,
children: r(n, Tr)
},
s[e[o]] = a
}
function n(e, t) {
var n, r, o, i;
for (n = (e = Or(e)).length,
t = Or(t); n--; )
for (r = s[e[n]],
o = 0,
i = t.length; o < i; o++)
r.attributes[t[o]] = {},
r.attributesOrder.push(t[o])
}
var u, r, o, i, a, c, s = {};
return kr[e] ? kr[e] : (u = "id accesskey class dir lang style tabindex title role",
r = "address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",
o = "a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment",
"html4" !== e && (u += " contenteditable contextmenu draggable dropzone hidden spellcheck translate",
r += " article aside details dialog figure main header footer hgroup section nav",
o += " audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"),
"html5-strict" !== e && (u += " xml:lang",
o = [o, c = "acronym applet basefont big font strike tt"].join(" "),
Mr(Or(c), function(e) {
t(e, "", o)
}),
r = [r, a = "center dir isindex noframes"].join(" "),
i = [r, o].join(" "),
Mr(Or(a), function(e) {
t(e, "", i)
})),
i = i || [r, o].join(" "),
t("html", "manifest", "head body"),
t("head", "", "base command link meta noscript script style title"),
t("title hr noscript br"),
t("base", "href target"),
t("link", "href rel media hreflang type sizes hreflang"),
t("meta", "name http-equiv content charset"),
t("style", "media type scoped"),
t("script", "src async defer type charset"),
t("body", "onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload", i),
t("address dt dd div caption", "", i),
t("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn", "", o),
t("blockquote", "cite", i),
t("ol", "reversed start type", "li"),
t("ul", "", "li"),
t("li", "value", i),
t("dl", "", "dt dd"),
t("a", "href target rel media hreflang type", o),
t("q", "cite", o),
t("ins del", "cite datetime", i),
t("img", "src sizes srcset alt usemap ismap width height"),
t("iframe", "src name width height", i),
t("embed", "src type width height"),
t("object", "data type typemustmatch name usemap form width height", [i, "param"].join(" ")),
t("param", "name value"),
t("map", "name", [i, "area"].join(" ")),
t("area", "alt coords shape href target rel media hreflang type"),
t("table", "border", "caption colgroup thead tfoot tbody tr" + ("html4" === e ? " col" : "")),
t("colgroup", "span", "col"),
t("col", "span"),
t("tbody thead tfoot", "", "tr"),
t("tr", "", "td th"),
t("td", "colspan rowspan headers", i),
t("th", "colspan rowspan headers scope abbr", i),
t("form", "accept-charset action autocomplete enctype method name novalidate target", i),
t("fieldset", "disabled form name", [i, "legend"].join(" ")),
t("label", "form for", o),
t("input", "accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),
t("button", "disabled form formaction formenctype formmethod formnovalidate formtarget name type value", "html4" === e ? i : o),
t("select", "disabled form multiple name required size", "option optgroup"),
t("optgroup", "disabled label", "option"),
t("option", "disabled label selected value"),
t("textarea", "cols dirname disabled form maxlength name readonly required rows wrap"),
t("menu", "type label", [i, "li"].join(" ")),
t("noscript", "", i),
"html4" !== e && (t("wbr"),
t("ruby", "", [o, "rt rp"].join(" ")),
t("figcaption", "", i),
t("mark rt rp summary bdi", "", o),
t("canvas", "width height", i),
t("video", "src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered", [i, "track source"].join(" ")),
t("audio", "src crossorigin preload autoplay mediagroup loop muted controls buffered volume", [i, "track source"].join(" ")),
t("picture", "", "img source"),
t("source", "src srcset type media sizes"),
t("track", "kind src srclang label default"),
t("datalist", "", [o, "option"].join(" ")),
t("article section nav aside main header footer", "", i),
t("hgroup", "", "h1 h2 h3 h4 h5 h6"),
t("figure", "", [i, "figcaption"].join(" ")),
t("time", "datetime", o),
t("dialog", "open", i),
t("command", "type label icon disabled checked radiogroup command"),
t("output", "for form name", o),
t("progress", "value max", o),
t("meter", "value min max low high optimum", o),
t("details", "open", [i, "summary"].join(" ")),
t("keygen", "autofocus challenge disabled form keytype name")),
"html5-strict" !== e && (n("script", "language xml:space"),
n("style", "xml:space"),
n("object", "declare classid code codebase codetype archive standby align border hspace vspace"),
n("embed", "align name hspace vspace"),
n("param", "valuetype type"),
n("a", "charset name rev shape coords"),
n("br", "clear"),
n("applet", "codebase archive code object alt name width height align hspace vspace"),
n("img", "name longdesc align border hspace vspace"),
n("iframe", "longdesc frameborder marginwidth marginheight scrolling align"),
n("font basefont", "size color face"),
n("input", "usemap align"),
n("select"),
n("textarea"),
n("h1 h2 h3 h4 h5 h6 div p legend caption", "align"),
n("ul", "type compact"),
n("li", "type"),
n("ol dl menu dir", "compact"),
n("pre", "width xml:space"),
n("hr", "align noshade size width"),
n("isindex", "prompt"),
n("table", "summary width frame rules cellspacing cellpadding align bgcolor"),
n("col", "width align char charoff valign"),
n("colgroup", "width align char charoff valign"),
n("thead", "align char charoff valign"),
n("tr", "align char charoff valign bgcolor"),
n("th", "axis align char charoff valign nowrap bgcolor width height"),
n("form", "accept"),
n("td", "abbr axis scope align char charoff valign nowrap bgcolor width height"),
n("tfoot", "align char charoff valign"),
n("tbody", "align char charoff valign"),
n("area", "nohref"),
n("body", "background bgcolor text link vlink alink")),
"html4" !== e && (n("input button select textarea", "autofocus"),
n("input textarea", "placeholder"),
n("a", "download"),
n("link script img", "crossorigin"),
n("img", "loading"),
n("iframe", "sandbox seamless allowfullscreen loading")),
Mr(Or("a form meter progress dfn"), function(e) {
s[e] && delete s[e].children[e]
}),
delete s.caption.children.table,
delete s.script,
kr[e] = s)
}
, Br = function(e, n) {
var r;
return e && (r = {},
"string" == typeof e && (e = {
"*": e
}),
Mr(e, function(e, t) {
r[t] = r[t.toUpperCase()] = "map" === n ? Ar(e, /[, ]/) : _r(e, /[, ]/)
})),
r
};
function Pr(i) {
function e(e, t, n) {
var r = i[e];
return r ? r = Ar(r, /[, ]/, Ar(r.toUpperCase(), /[, ]/)) : (r = kr[e]) || (r = Ar(t, " ", Ar(t.toUpperCase(), " ")),
r = Rr(r, n),
kr[e] = r),
r
}
var t, n, r, o, a, u, c, s, l, f, d, h, m, z = {}, g = {}, E = [], p = {}, v = {};
r = Hr((i = i || {}).schema),
!1 === i.verify_html && (i.valid_elements = "*[*]"),
t = Br(i.valid_styles),
n = Br(i.invalid_styles, "map"),
s = Br(i.valid_classes, "map"),
o = e("whitespace_elements", "pre script noscript style textarea video audio iframe object code"),
a = e("self_closing_elements", "colgroup dd dt li option p td tfoot th thead tr"),
u = e("short_ended_elements", "area base basefont br col frame hr img input isindex link meta param embed source wbr track"),
c = e("boolean_attributes", "checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),
f = e("non_empty_elements", "td th iframe video audio object script pre code", u),
d = e("move_caret_before_on_enter_elements", "table", f),
h = e("text_block_elements", "h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"),
l = e("block_elements", "hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary", h),
m = e("text_inline_elements", "span strong b em i font strike u var cite dfn code mark q sup sub samp"),
Mr((i.special || "script noscript noframes noembed title style textarea xmp").split(" "), function(e) {
v[e] = new RegExp("" + e + "[^>]*>","gi")
});
function N(e) {
return new RegExp("^" + e.replace(/([?+*])/g, ".$1") + "$")
}
function y(e) {
var t, n, r, o, i, a, u, c, s, l, f, d, h, m, g, p, v, y, b, C = /^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/, w = /^([!\-])?(\w+[\\:]:\w+|[^=:<]+)?(?:([=:<])(.*))?$/, x = /[*?+]/;
if (e)
for (e = Or(e, ","),
z["@"] && (p = z["@"].attributes,
v = z["@"].attributesOrder),
t = 0,
n = e.length; t < n; t++)
if (i = C.exec(e[t])) {
if (m = i[1],
s = i[2],
g = i[3],
c = i[5],
a = {
attributes: d = {},
attributesOrder: h = []
},
"#" === m && (a.paddEmpty = !0),
"-" === m && (a.removeEmpty = !0),
"!" === i[4] && (a.removeEmptyAttrs = !0),
p) {
for (y in p)
d[y] = p[y];
h.push.apply(h, v)
}
if (c)
for (r = 0,
o = (c = Or(c, "|")).length; r < o; r++)
if (i = w.exec(c[r])) {
if (u = {},
f = i[1],
l = i[2].replace(/[\\:]:/g, ":"),
m = i[3],
b = i[4],
"!" === f && (a.attributesRequired = a.attributesRequired || [],
a.attributesRequired.push(l),
u.required = !0),
"-" === f) {
delete d[l],
h.splice(Dr(h, l), 1);
continue
}
m && ("=" === m && (a.attributesDefault = a.attributesDefault || [],
a.attributesDefault.push({
name: l,
value: b
}),
u.defaultValue = b),
":" === m && (a.attributesForced = a.attributesForced || [],
a.attributesForced.push({
name: l,
value: b
}),
u.forcedValue = b),
"<" === m && (u.validValues = Ar(b, "?"))),
x.test(l) ? (a.attributePatterns = a.attributePatterns || [],
u.pattern = N(l),
a.attributePatterns.push(u)) : (d[l] || h.push(l),
d[l] = u)
}
p || "@" !== s || (p = d,
v = h),
g && (a.outputName = s,
z[g] = a),
x.test(s) ? (a.pattern = N(s),
E.push(a)) : z[s] = a
}
}
function b(e) {
z = {},
E = [],
y(e),
Mr(r, function(e, t) {
g[t] = e.children
})
}
function C(e) {
var a = /^(~)?(.+)$/;
e && (kr.text_block_elements = kr.block_elements = null,
Mr(Or(e, ","), function(e) {
var t = a.exec(e)
, n = "~" === t[1]
, r = n ? "span" : "div"
, o = t[2];
if (g[o] = g[r],
p[o] = r,
n || (l[o.toUpperCase()] = {},
l[o] = {}),
!z[o]) {
var i = z[r];
delete (i = Rr({}, i)).removeEmptyAttrs,
delete i.removeEmpty,
z[o] = i
}
Mr(g, function(e, t) {
e[r] && (g[t] = e = Rr({}, g[t]),
e[o] = e[r])
})
}))
}
function w(e) {
var o = /^([+\-]?)(\w+)\[([^\]]+)\]$/;
kr[i.schema] = null,
e && Mr(Or(e, ","), function(e) {
var t, n, r = o.exec(e);
r && (n = r[1],
t = n ? g[r[2]] : g[r[2]] = {
"#comment": {}
},
t = g[r[2]],
Mr(Or(r[3], "|"), function(e) {
"-" === n ? delete t[e] : t[e] = {}
}))
})
}
function x(e) {
var t, n = z[e];
if (n)
return n;
for (t = E.length; t--; )
if ((n = E[t]).pattern.test(e))
return n
}
i.valid_elements ? b(i.valid_elements) : (Mr(r, function(e, t) {
z[t] = {
attributes: e.attributes,
attributesOrder: e.attributesOrder
},
g[t] = e.children
}),
"html5" !== i.schema && Mr(Or("strong/b em/i"), function(e) {
e = Or(e, "/"),
z[e[1]].outputName = e[0]
}),
Mr(Or("ol ul sub sup blockquote span font a table tbody tr strong em b i"), function(e) {
z[e] && (z[e].removeEmpty = !0)
}),
Mr(Or("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"), function(e) {
z[e].paddEmpty = !0
}),
Mr(Or("span"), function(e) {
z[e].removeEmptyAttrs = !0
})),
C(i.custom_elements),
w(i.valid_children),
y(i.extended_valid_elements),
w("+ol[ul|ol],+ul[ul|ol]"),
Mr({
dd: "dl",
dt: "dl",
li: "ul ol",
td: "tr",
th: "tr",
tr: "tbody thead tfoot",
tbody: "table",
thead: "table",
tfoot: "table",
legend: "fieldset",
area: "map",
param: "video audio object"
}, function(e, t) {
z[t] && (z[t].parentsRequired = Or(e))
}),
i.invalid_elements && Mr(_r(i.invalid_elements), function(e) {
z[e] && delete z[e]
}),
x("span") || y("span[!data-mce-type|*]");
return {
children: g,
elements: z,
getValidStyles: function() {
return t
},
getValidClasses: function() {
return s
},
getBlockElements: function() {
return l
},
getInvalidStyles: function() {
return n
},
getShortEndedElements: function() {
return u
},
getTextBlockElements: function() {
return h
},
getTextInlineElements: function() {
return m
},
getBoolAttrs: function() {
return c
},
getElementRule: x,
getSelfClosingElements: function() {
return a
},
getNonEmptyElements: function() {
return f
},
getMoveCaretBeforeOnEnterElements: function() {
return d
},
getWhiteSpaceElements: function() {
return o
},
getSpecialElements: function() {
return v
},
isValidChild: function(e, t) {
var n = g[e.toLowerCase()];
return !(!n || !n[t.toLowerCase()])
},
isValid: function(e, t) {
var n, r, o = x(e);
if (o) {
if (!t)
return !0;
if (o.attributes[t])
return !0;
if (n = o.attributePatterns)
for (r = n.length; r--; )
if (n[r].pattern.test(e))
return !0
}
return !1
},
getCustomElements: function() {
return p
},
addValidElements: y,
setValidElements: b,
addCustomElements: C,
addValidChildren: w
}
}
function Lr(e, t, n, r) {
function o(e) {
return 1 < (e = parseInt(e, 10).toString(16)).length ? e : "0" + e
}
return "#" + o(t) + o(n) + o(r)
}
function Vr(e, t, n, r) {
e.addEventListener ? e.addEventListener(t, n, r || !1) : e.attachEvent && e.attachEvent("on" + t, n)
}
function Ir(e, t, n, r) {
e.removeEventListener ? e.removeEventListener(t, n, r || !1) : e.detachEvent && e.detachEvent("on" + t, n)
}
function Fr(e, t) {
var n, r = t || {};
for (n in e)
Kr[n] || (r[n] = e[n]);
if (r.target || (r.target = r.srcElement || j.document),
Wn.experimentalShadowDom && (r.target = function(e, t) {
if (e.composedPath) {
var n = e.composedPath();
if (n && 0 < n.length)
return n[0]
}
return t
}(e, r.target)),
e && Wr.test(e.type) && e.pageX === undefined && e.clientX !== undefined) {
var o = r.target.ownerDocument || j.document
, i = o.documentElement
, a = o.body;
r.pageX = e.clientX + (i && i.scrollLeft || a && a.scrollLeft || 0) - (i && i.clientLeft || a && a.clientLeft || 0),
r.pageY = e.clientY + (i && i.scrollTop || a && a.scrollTop || 0) - (i && i.clientTop || a && a.clientTop || 0)
}
return r.preventDefault = function() {
r.isDefaultPrevented = Yr,
e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
}
,
r.stopPropagation = function() {
r.isPropagationStopped = Yr,
e && (e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0)
}
,
!(r.stopImmediatePropagation = function() {
r.isImmediatePropagationStopped = Yr,
r.stopPropagation()
}
) === function(e) {
return e.isDefaultPrevented === Yr || e.isDefaultPrevented === Xr
}(r) && (r.isDefaultPrevented = Xr,
r.isPropagationStopped = Xr,
r.isImmediatePropagationStopped = Xr),
"undefined" == typeof r.metaKey && (r.metaKey = !1),
r
}
function Ur(e, t, n) {
var r = e.document
, o = {
type: "ready"
};
if (n.domLoaded)
t(o);
else {
var i = function() {
Ir(e, "DOMContentLoaded", i),
Ir(e, "load", i),
n.domLoaded || (n.domLoaded = !0,
t(o))
};
"complete" === r.readyState || "interactive" === r.readyState && r.body ? i() : Vr(e, "DOMContentLoaded", i),
Vr(e, "load", i)
}
}
var jr = "\ufeff"
, qr = "\xa0"
, $r = function(b, e) {
var C, t, s, l, w = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi, x = /(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi, z = /\s*([^:]+):\s*([^;]+);?/g, E = /\s+$/, N = {}, S = jr;
for (b = b || {},
e && (s = e.getValidStyles(),
l = e.getInvalidStyles()),
t = ("\\\" \\' \\; \\: ; : " + S).split(" "),
C = 0; C < t.length; C++)
N[t[C]] = S + C,
N[S + C] = t[C];
return {
toHex: function(e) {
return e.replace(w, Lr)
},
parse: function(e) {
function t(e, t, n) {
var r, o, i, a;
if ((r = p[e + "-top" + t]) && (o = p[e + "-right" + t]) && (i = p[e + "-bottom" + t]) && (a = p[e + "-left" + t])) {
var u = [r, o, i, a];
for (C = u.length - 1; C-- && u[C] === u[C + 1]; )
;
-1 < C && n || (p[e + t] = -1 === C ? u[0] : u.join(" "),
delete p[e + "-top" + t],
delete p[e + "-right" + t],
delete p[e + "-bottom" + t],
delete p[e + "-left" + t])
}
}
function n(e) {
var t, n = p[e];
if (n) {
for (t = (n = n.split(" ")).length; t--; )
if (n[t] !== n[0])
return !1;
return p[e] = n[0],
!0
}
}
function r(e) {
return f = !0,
N[e]
}
function u(e, t) {
return f && (e = e.replace(/\uFEFF[0-9]/g, function(e) {
return N[e]
})),
t || (e = e.replace(/\\([\'\";:])/g, "$1")),
e
}
function o(e) {
return String.fromCharCode(parseInt(e.slice(1), 16))
}
function i(e) {
return e.replace(/\\[0-9a-f]+/gi, o)
}
function a(e, t, n, r, o, i) {
if (o = o || i)
return "'" + (o = u(o)).replace(/\'/g, "\\'") + "'";
if (t = u(t || n || r),
!b.allow_script_urls) {
var a = t.replace(/[\s\r\n]+/g, "");
if (/(java|vb)script:/i.test(a))
return "";
if (!b.allow_svg_data_urls && /^data:image\/svg/i.test(a))
return ""
}
return v && (t = v.call(y, t, "style")),
"url('" + t.replace(/\'/g, "\\'") + "')"
}
var c, s, l, f, d, h, m, g, p = {}, v = b.url_converter, y = b.url_converter_scope || this;
if (e) {
for (e = (e = e.replace(/[\u0000-\u001F]/g, "")).replace(/\\[\"\';:\uFEFF]/g, r).replace(/\"[^\"]+\"|\'[^\']+\'/g, function(e) {
return e.replace(/[;:]/g, r)
}); c = z.exec(e); )
if (z.lastIndex = c.index + c[0].length,
s = c[1].replace(E, "").toLowerCase(),
l = c[2].replace(E, ""),
s && l) {
if (s = i(s),
l = i(l),
-1 !== s.indexOf(S) || -1 !== s.indexOf('"'))
continue;
if (!b.allow_script_urls && ("behavior" === s || /expression\s*\(|\/\*|\*\//.test(l)))
continue;
"font-weight" === s && "700" === l ? l = "bold" : "color" !== s && "background-color" !== s || (l = l.toLowerCase()),
l = (l = l.replace(w, Lr)).replace(x, a),
p[s] = f ? u(l, !0) : l
}
t("border", "", !0),
t("border", "-width"),
t("border", "-color"),
t("border", "-style"),
t("padding", ""),
t("margin", ""),
d = "border",
m = "border-style",
g = "border-color",
n(h = "border-width") && n(m) && n(g) && (p[d] = p[h] + " " + p[m] + " " + p[g],
delete p[h],
delete p[m],
delete p[g]),
"medium none" === p.border && delete p.border,
"none" === p["border-image"] && delete p["border-image"]
}
return p
},
serialize: function(i, e) {
function t(e) {
var t, n, r, o;
if (t = s[e])
for (n = 0,
r = t.length; n < r; n++)
e = t[n],
(o = i[e]) && (c += (0 < c.length ? " " : "") + e + ": " + o + ";")
}
var n, r, o, a, u, c = "";
if (e && s)
t("*"),
t(e);
else
for (n in i)
!(r = i[n]) || l && (o = n,
a = e,
u = void 0,
(u = l["*"]) && u[o] || (u = l[a]) && u[o]) || (c += (0 < c.length ? " " : "") + n + ": " + r + ";");
return c
}
}
}
, Wr = /^(?:mouse|contextmenu)|click/
, Kr = {
keyLocation: 1,
layerX: 1,
layerY: 1,
returnValue: 1,
webkitMovementX: 1,
webkitMovementY: 1,
keyIdentifier: 1,
mozPressure: 1
}
, Xr = function() {
return !1
}
, Yr = function() {
return !0
}
, Gr = (Zr.prototype.bind = function(e, t, n, r) {
function o(e) {
d.executeHandlers(Fr(e || h.event), i)
}
var i, a, u, c, s, l, f, d = this, h = j.window;
if (e && 3 !== e.nodeType && 8 !== e.nodeType) {
e[d.expando] ? i = e[d.expando] : (i = d.count++,
e[d.expando] = i,
d.events[i] = {}),
r = r || e;
var m = t.split(" ");
for (u = m.length; u--; )
l = o,
s = f = !1,
"DOMContentLoaded" === (c = m[u]) && (c = "ready"),
d.domLoaded && "ready" === c && "complete" === e.readyState ? n.call(r, Fr({
type: c
})) : (d.hasMouseEnterLeave || (s = d.mouseEnterLeave[c]) && (l = function(e) {
var t, n;
if (t = e.currentTarget,
(n = e.relatedTarget) && t.contains)
n = t.contains(n);
else
for (; n && n !== t; )
n = n.parentNode;
n || ((e = Fr(e || h.event)).type = "mouseout" === e.type ? "mouseleave" : "mouseenter",
e.target = t,
d.executeHandlers(e, i))
}
),
d.hasFocusIn || "focusin" !== c && "focusout" !== c || (f = !0,
s = "focusin" === c ? "focus" : "blur",
l = function(e) {
(e = Fr(e || h.event)).type = "focus" === e.type ? "focusin" : "focusout",
d.executeHandlers(e, i)
}
),
(a = d.events[i][c]) ? "ready" === c && d.domLoaded ? n(Fr({
type: c
})) : a.push({
func: n,
scope: r
}) : (d.events[i][c] = a = [{
func: n,
scope: r
}],
a.fakeName = s,
a.capture = f,
a.nativeHandler = l,
"ready" === c ? Ur(e, l, d) : Vr(e, s || c, l, f)));
return e = a = 0,
n
}
}
,
Zr.prototype.unbind = function(e, t, n) {
var r, o, i, a, u, c;
if (!e || 3 === e.nodeType || 8 === e.nodeType)
return this;
if (r = e[this.expando]) {
if (c = this.events[r],
t) {
var s = t.split(" ");
for (i = s.length; i--; )
if (o = c[u = s[i]]) {
if (n)
for (a = o.length; a--; )
if (o[a].func === n) {
var l = o.nativeHandler
, f = o.fakeName
, d = o.capture;
(o = o.slice(0, a).concat(o.slice(a + 1))).nativeHandler = l,
o.fakeName = f,
o.capture = d,
c[u] = o
}
n && 0 !== o.length || (delete c[u],
Ir(e, o.fakeName || u, o.nativeHandler, o.capture))
}
} else {
for (u in c)
o = c[u],
Ir(e, o.fakeName || u, o.nativeHandler, o.capture);
c = {}
}
for (u in c)
return this;
delete this.events[r];
try {
delete e[this.expando]
} catch (h) {
e[this.expando] = null
}
}
return this
}
,
Zr.prototype.fire = function(e, t, n) {
var r;
if (!e || 3 === e.nodeType || 8 === e.nodeType)
return this;
var o = Fr(null, n);
for (o.type = t,
o.target = e; (r = e[this.expando]) && this.executeHandlers(o, r),
(e = e.parentNode || e.ownerDocument || e.defaultView || e.parentWindow) && !o.isPropagationStopped(); )
;
return this
}
,
Zr.prototype.clean = function(e) {
var t, n;
if (!e || 3 === e.nodeType || 8 === e.nodeType)
return this;
if (e[this.expando] && this.unbind(e),
e.getElementsByTagName || (e = e.document),
e && e.getElementsByTagName)
for (this.unbind(e),
t = (n = e.getElementsByTagName("*")).length; t--; )
(e = n[t])[this.expando] && this.unbind(e);
return this
}
,
Zr.prototype.destroy = function() {
this.events = {}
}
,
Zr.prototype.cancel = function(e) {
return e && (e.preventDefault(),
e.stopImmediatePropagation()),
!1
}
,
Zr.prototype.executeHandlers = function(e, t) {
var n, r, o, i, a = this.events[t];
if (n = a && a[e.type])
for (r = 0,
o = n.length; r < o; r++)
if ((i = n[r]) && !1 === i.func.call(i.scope, e) && e.preventDefault(),
e.isImmediatePropagationStopped())
return
}
,
Zr.Event = new Zr,
Zr);
function Zr() {
this.domLoaded = !1,
this.events = {},
this.count = 1,
this.expando = "mce-data-" + (+new Date).toString(32),
this.hasMouseEnterLeave = "onmouseenter"in j.document.documentElement,
this.hasFocusIn = "onfocusin"in j.document.documentElement,
this.count = 1
}
function Jr(e, t, n) {
var r = "0x" + t - 65536;
return r != r || n ? t : r < 0 ? String.fromCharCode(65536 + r) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
}
var Qr, eo, to, no, ro, oo, io, ao, uo, co, so, lo, fo, ho, mo, go, po, vo, yo = "sizzle" + -new Date, bo = j.window.document, Co = 0, wo = 0, xo = Qo(), zo = Qo(), Eo = Qo(), No = function(e, t) {
return e === t && (so = !0),
0
}, So = typeof undefined, ko = {}.hasOwnProperty, To = [], Ao = To.pop, Mo = To.push, Ro = To.push, _o = To.slice, Do = To.indexOf || function(e) {
for (var t = 0, n = this.length; t < n; t++)
if (this[t] === e)
return t;
return -1
}
, Oo = "[\\x20\\t\\r\\n\\f]", Ho = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", Bo = "\\[" + Oo + "*(" + Ho + ")(?:" + Oo + "*([*^$|!~]?=)" + Oo + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + Ho + "))|)" + Oo + "*\\]", Po = ":(" + Ho + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + Bo + ")*)|.*)\\)|)", Lo = new RegExp("^" + Oo + "+|((?:^|[^\\\\])(?:\\\\.)*)" + Oo + "+$","g"), Vo = new RegExp("^" + Oo + "*," + Oo + "*"), Io = new RegExp("^" + Oo + "*([>+~]|" + Oo + ")" + Oo + "*"), Fo = new RegExp("=" + Oo + "*([^\\]'\"]*?)" + Oo + "*\\]","g"), Uo = new RegExp(Po), jo = new RegExp("^" + Ho + "$"), qo = {
ID: new RegExp("^#(" + Ho + ")"),
CLASS: new RegExp("^\\.(" + Ho + ")"),
TAG: new RegExp("^(" + Ho + "|[*])"),
ATTR: new RegExp("^" + Bo),
PSEUDO: new RegExp("^" + Po),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + Oo + "*(even|odd|(([+-]|)(\\d*)n|)" + Oo + "*(?:([+-]|)" + Oo + "*(\\d+)|))" + Oo + "*\\)|)","i"),
bool: new RegExp("^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$","i"),
needsContext: new RegExp("^" + Oo + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + Oo + "*((?:-\\d)?\\d*)" + Oo + "*\\)|)(?=[^-]|$)","i")
}, $o = /^(?:input|select|textarea|button)$/i, Wo = /^h\d$/i, Ko = /^[^{]+\{\s*\[native \w/, Xo = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, Yo = /[+~]/, Go = /'|\\/g, Zo = new RegExp("\\\\([\\da-f]{1,6}" + Oo + "?|(" + Oo + ")|.)","ig");
try {
Ro.apply(To = _o.call(bo.childNodes), bo.childNodes),
To[bo.childNodes.length].nodeType
} catch (HN) {
Ro = {
apply: To.length ? function(e, t) {
Mo.apply(e, _o.call(t))
}
: function(e, t) {
for (var n = e.length, r = 0; e[n++] = t[r++]; )
;
e.length = n - 1
}
}
}
var Jo = function(e, t, n, r) {
var o, i, a, u, c, s, l, f, d, h;
if ((t ? t.ownerDocument || t : bo) !== fo && lo(t),
n = n || [],
!e || "string" != typeof e)
return n;
if (1 !== (u = (t = t || fo).nodeType) && 9 !== u)
return [];
if (mo && !r) {
if (o = Xo.exec(e))
if (a = o[1]) {
if (9 === u) {
if (!(i = t.getElementById(a)) || !i.parentNode)
return n;
if (i.id === a)
return n.push(i),
n
} else if (t.ownerDocument && (i = t.ownerDocument.getElementById(a)) && vo(t, i) && i.id === a)
return n.push(i),
n
} else {
if (o[2])
return Ro.apply(n, t.getElementsByTagName(e)),
n;
if ((a = o[3]) && eo.getElementsByClassName)
return Ro.apply(n, t.getElementsByClassName(a)),
n
}
if (eo.qsa && (!go || !go.test(e))) {
if (f = l = yo,
d = t,
h = 9 === u && e,
1 === u && "object" !== t.nodeName.toLowerCase()) {
for (s = oo(e),
(l = t.getAttribute("id")) ? f = l.replace(Go, "\\$&") : t.setAttribute("id", f),
f = "[id='" + f + "'] ",
c = s.length; c--; )
s[c] = f + ui(s[c]);
d = Yo.test(e) && ii(t.parentNode) || t,
h = s.join(",")
}
if (h)
try {
return Ro.apply(n, d.querySelectorAll(h)),
n
} catch (m) {} finally {
l || t.removeAttribute("id")
}
}
}
return ao(e.replace(Lo, "$1"), t, n, r)
};
function Qo() {
var n = [];
return function r(e, t) {
return n.push(e + " ") > to.cacheLength && delete r[n.shift()],
r[e + " "] = t
}
}
function ei(e) {
return e[yo] = !0,
e
}
function ti(e, t) {
var n = t && e
, r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || 1 << 31) - (~e.sourceIndex || 1 << 31);
if (r)
return r;
if (n)
for (; n = n.nextSibling; )
if (n === t)
return -1;
return e ? 1 : -1
}
function ni(t) {
return function(e) {
return "input" === e.nodeName.toLowerCase() && e.type === t
}
}
function ri(n) {
return function(e) {
var t = e.nodeName.toLowerCase();
return ("input" === t || "button" === t) && e.type === n
}
}
function oi(a) {
return ei(function(i) {
return i = +i,
ei(function(e, t) {
for (var n, r = a([], e.length, i), o = r.length; o--; )
e[n = r[o]] && (e[n] = !(t[n] = e[n]))
})
})
}
function ii(e) {
return e && typeof e.getElementsByTagName != So && e
}
for (Qr in eo = Jo.support = {},
ro = Jo.isXML = function(e) {
var t = e && (e.ownerDocument || e).documentElement;
return !!t && "HTML" !== t.nodeName
}
,
lo = Jo.setDocument = function(e) {
var t, c = e ? e.ownerDocument || e : bo, n = c.defaultView;
return c !== fo && 9 === c.nodeType && c.documentElement ? (ho = (fo = c).documentElement,
mo = !ro(c),
n && n !== function r(e) {
try {
return e.top
} catch (t) {}
return null
}(n) && (n.addEventListener ? n.addEventListener("unload", function() {
lo()
}, !1) : n.attachEvent && n.attachEvent("onunload", function() {
lo()
})),
eo.attributes = !0,
eo.getElementsByTagName = !0,
eo.getElementsByClassName = Ko.test(c.getElementsByClassName),
eo.getById = !0,
to.find.ID = function(e, t) {
if (typeof t.getElementById != So && mo) {
var n = t.getElementById(e);
return n && n.parentNode ? [n] : []
}
}
,
to.filter.ID = function(e) {
var t = e.replace(Zo, Jr);
return function(e) {
return e.getAttribute("id") === t
}
}
,
to.find.TAG = eo.getElementsByTagName ? function(e, t) {
if (typeof t.getElementsByTagName != So)
return t.getElementsByTagName(e)
}
: function(e, t) {
var n, r = [], o = 0, i = t.getElementsByTagName(e);
if ("*" !== e)
return i;
for (; n = i[o++]; )
1 === n.nodeType && r.push(n);
return r
}
,
to.find.CLASS = eo.getElementsByClassName && function(e, t) {
if (mo)
return t.getElementsByClassName(e)
}
,
po = [],
go = [],
eo.disconnectedMatch = !0,
go = go.length && new RegExp(go.join("|")),
po = po.length && new RegExp(po.join("|")),
t = Ko.test(ho.compareDocumentPosition),
vo = t || Ko.test(ho.contains) ? function(e, t) {
var n = 9 === e.nodeType ? e.documentElement : e
, r = t && t.parentNode;
return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
}
: function(e, t) {
if (t)
for (; t = t.parentNode; )
if (t === e)
return !0;
return !1
}
,
No = t ? function(e, t) {
if (e === t)
return so = !0,
0;
var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
return n || (1 & (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !eo.sortDetached && t.compareDocumentPosition(e) === n ? e === c || e.ownerDocument === bo && vo(bo, e) ? -1 : t === c || t.ownerDocument === bo && vo(bo, t) ? 1 : co ? Do.call(co, e) - Do.call(co, t) : 0 : 4 & n ? -1 : 1)
}
: function(e, t) {
if (e === t)
return so = !0,
0;
var n, r = 0, o = e.parentNode, i = t.parentNode, a = [e], u = [t];
if (!o || !i)
return e === c ? -1 : t === c ? 1 : o ? -1 : i ? 1 : co ? Do.call(co, e) - Do.call(co, t) : 0;
if (o === i)
return ti(e, t);
for (n = e; n = n.parentNode; )
a.unshift(n);
for (n = t; n = n.parentNode; )
u.unshift(n);
for (; a[r] === u[r]; )
r++;
return r ? ti(a[r], u[r]) : a[r] === bo ? -1 : u[r] === bo ? 1 : 0
}
,
c) : fo
}
,
Jo.matches = function(e, t) {
return Jo(e, null, null, t)
}
,
Jo.matchesSelector = function(e, t) {
if ((e.ownerDocument || e) !== fo && lo(e),
t = t.replace(Fo, "='$1']"),
eo.matchesSelector && mo && (!po || !po.test(t)) && (!go || !go.test(t)))
try {
var n = (void 0).call(e, t);
if (n || eo.disconnectedMatch || e.document && 11 !== e.document.nodeType)
return n
} catch (HN) {}
return 0 < Jo(t, fo, null, [e]).length
}
,
Jo.contains = function(e, t) {
return (e.ownerDocument || e) !== fo && lo(e),
vo(e, t)
}
,
Jo.attr = function(e, t) {
(e.ownerDocument || e) !== fo && lo(e);
var n = to.attrHandle[t.toLowerCase()]
, r = n && ko.call(to.attrHandle, t.toLowerCase()) ? n(e, t, !mo) : undefined;
return r !== undefined ? r : eo.attributes || !mo ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
}
,
Jo.error = function(e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}
,
Jo.uniqueSort = function(e) {
var t, n = [], r = 0, o = 0;
if (so = !eo.detectDuplicates,
co = !eo.sortStable && e.slice(0),
e.sort(No),
so) {
for (; t = e[o++]; )
t === e[o] && (r = n.push(o));
for (; r--; )
e.splice(n[r], 1)
}
return co = null,
e
}
,
no = Jo.getText = function(e) {
var t, n = "", r = 0, o = e.nodeType;
if (o) {
if (1 === o || 9 === o || 11 === o) {
if ("string" == typeof e.textContent)
return e.textContent;
for (e = e.firstChild; e; e = e.nextSibling)
n += no(e)
} else if (3 === o || 4 === o)
return e.nodeValue
} else
for (; t = e[r++]; )
n += no(t);
return n
}
,
(to = Jo.selectors = {
cacheLength: 50,
createPseudo: ei,
match: qo,
attrHandle: {},
find: {},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(e) {
return e[1] = e[1].replace(Zo, Jr),
e[3] = (e[3] || e[4] || e[5] || "").replace(Zo, Jr),
"~=" === e[2] && (e[3] = " " + e[3] + " "),
e.slice(0, 4)
},
CHILD: function(e) {
return e[1] = e[1].toLowerCase(),
"nth" === e[1].slice(0, 3) ? (e[3] || Jo.error(e[0]),
e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])),
e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && Jo.error(e[0]),
e
},
PSEUDO: function(e) {
var t, n = !e[6] && e[2];
return qo.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && Uo.test(n) && (t = oo(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t),
e[2] = n.slice(0, t)),
e.slice(0, 3))
}
},
filter: {
TAG: function(e) {
var t = e.replace(Zo, Jr).toLowerCase();
return "*" === e ? function() {
return !0
}
: function(e) {
return e.nodeName && e.nodeName.toLowerCase() === t
}
},
CLASS: function(e) {
var t = xo[e + " "];
return t || (t = new RegExp("(^|" + Oo + ")" + e + "(" + Oo + "|$)")) && xo(e, function(e) {
return t.test("string" == typeof e.className && e.className || typeof e.getAttribute != So && e.getAttribute("class") || "")
})
},
ATTR: function(n, r, o) {
return function(e) {
var t = Jo.attr(e, n);
return null == t ? "!=" === r : !r || (t += "",
"=" === r ? t === o : "!=" === r ? t !== o : "^=" === r ? o && 0 === t.indexOf(o) : "*=" === r ? o && -1 < t.indexOf(o) : "$=" === r ? o && t.slice(-o.length) === o : "~=" === r ? -1 < (" " + t + " ").indexOf(o) : "|=" === r && (t === o || t.slice(0, o.length + 1) === o + "-"))
}
},
CHILD: function(h, e, t, m, g) {
var p = "nth" !== h.slice(0, 3)
, v = "last" !== h.slice(-4)
, y = "of-type" === e;
return 1 === m && 0 === g ? function(e) {
return !!e.parentNode
}
: function(e, t, n) {
var r, o, i, a, u, c, s = p != v ? "nextSibling" : "previousSibling", l = e.parentNode, f = y && e.nodeName.toLowerCase(), d = !n && !y;
if (l) {
if (p) {
for (; s; ) {
for (i = e; i = i[s]; )
if (y ? i.nodeName.toLowerCase() === f : 1 === i.nodeType)
return !1;
c = s = "only" === h && !c && "nextSibling"
}
return !0
}
if (c = [v ? l.firstChild : l.lastChild],
v && d) {
for (u = (r = (o = l[yo] || (l[yo] = {}))[h] || [])[0] === Co && r[1],
a = r[0] === Co && r[2],
i = u && l.childNodes[u]; i = ++u && i && i[s] || (a = u = 0) || c.pop(); )
if (1 === i.nodeType && ++a && i === e) {
o[h] = [Co, u, a];
break
}
} else if (d && (r = (e[yo] || (e[yo] = {}))[h]) && r[0] === Co)
a = r[1];
else
for (; (i = ++u && i && i[s] || (a = u = 0) || c.pop()) && ((y ? i.nodeName.toLowerCase() !== f : 1 !== i.nodeType) || !++a || (d && ((i[yo] || (i[yo] = {}))[h] = [Co, a]),
i !== e)); )
;
return (a -= g) === m || a % m == 0 && 0 <= a / m
}
}
},
PSEUDO: function(e, i) {
var t, a = to.pseudos[e] || to.setFilters[e.toLowerCase()] || Jo.error("unsupported pseudo: " + e);
return a[yo] ? a(i) : 1 < a.length ? (t = [e, e, "", i],
to.setFilters.hasOwnProperty(e.toLowerCase()) ? ei(function(e, t) {
for (var n, r = a(e, i), o = r.length; o--; )
e[n = Do.call(e, r[o])] = !(t[n] = r[o])
}) : function(e) {
return a(e, 0, t)
}
) : a
}
},
pseudos: {
not: ei(function(e) {
var r = []
, o = []
, u = io(e.replace(Lo, "$1"));
return u[yo] ? ei(function(e, t, n, r) {
for (var o, i = u(e, null, r, []), a = e.length; a--; )
(o = i[a]) && (e[a] = !(t[a] = o))
}) : function(e, t, n) {
return r[0] = e,
u(r, null, n, o),
!o.pop()
}
}),
has: ei(function(t) {
return function(e) {
return 0 < Jo(t, e).length
}
}),
contains: ei(function(t) {
return t = t.replace(Zo, Jr),
function(e) {
return -1 < (e.textContent || e.innerText || no(e)).indexOf(t)
}
}),
lang: ei(function(n) {
return jo.test(n || "") || Jo.error("unsupported lang: " + n),
n = n.replace(Zo, Jr).toLowerCase(),
function(e) {
var t;
do {
if (t = mo ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang"))
return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-")
} while ((e = e.parentNode) && 1 === e.nodeType);
return !1
}
}),
target: function(e) {
var t = j.window.location && j.window.location.hash;
return t && t.slice(1) === e.id
},
root: function(e) {
return e === ho
},
focus: function(e) {
return e === fo.activeElement && (!fo.hasFocus || fo.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
},
enabled: function(e) {
return !1 === e.disabled
},
disabled: function(e) {
return !0 === e.disabled
},
checked: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && !!e.checked || "option" === t && !!e.selected
},
selected: function(e) {
return e.parentNode && e.parentNode.selectedIndex,
!0 === e.selected
},
empty: function(e) {
for (e = e.firstChild; e; e = e.nextSibling)
if (e.nodeType < 6)
return !1;
return !0
},
parent: function(e) {
return !to.pseudos.empty(e)
},
header: function(e) {
return Wo.test(e.nodeName)
},
input: function(e) {
return $o.test(e.nodeName)
},
button: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
},
text: function(e) {
var t;
return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
},
first: oi(function() {
return [0]
}),
last: oi(function(e, t) {
return [t - 1]
}),
eq: oi(function(e, t, n) {
return [n < 0 ? n + t : n]
}),
even: oi(function(e, t) {
for (var n = 0; n < t; n += 2)
e.push(n);
return e
}),
odd: oi(function(e, t) {
for (var n = 1; n < t; n += 2)
e.push(n);
return e
}),
lt: oi(function(e, t, n) {
for (var r = n < 0 ? n + t : n; 0 <= --r; )
e.push(r);
return e
}),
gt: oi(function(e, t, n) {
for (var r = n < 0 ? n + t : n; ++r < t; )
e.push(r);
return e
})
}
}).pseudos.nth = to.pseudos.eq,
{
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
})
to.pseudos[Qr] = ni(Qr);
for (Qr in {
submit: !0,
reset: !0
})
to.pseudos[Qr] = ri(Qr);
function ai() {}
function ui(e) {
for (var t = 0, n = e.length, r = ""; t < n; t++)
r += e[t].value;
return r
}
function ci(a, e, t) {
var u = e.dir
, c = t && "parentNode" === u
, s = wo++;
return e.first ? function(e, t, n) {
for (; e = e[u]; )
if (1 === e.nodeType || c)
return a(e, t, n)
}
: function(e, t, n) {
var r, o, i = [Co, s];
if (n) {
for (; e = e[u]; )
if ((1 === e.nodeType || c) && a(e, t, n))
return !0
} else
for (; e = e[u]; )
if (1 === e.nodeType || c) {
if ((r = (o = e[yo] || (e[yo] = {}))[u]) && r[0] === Co && r[1] === s)
return i[2] = r[2];
if ((o[u] = i)[2] = a(e, t, n))
return !0
}
}
}
function si(o) {
return 1 < o.length ? function(e, t, n) {
for (var r = o.length; r--; )
if (!o[r](e, t, n))
return !1;
return !0
}
: o[0]
}
function li(e, t, n, r, o) {
for (var i, a = [], u = 0, c = e.length, s = null != t; u < c; u++)
(i = e[u]) && (n && !n(i, r, o) || (a.push(i),
s && t.push(u)));
return a
}
function fi(m, g, p, v, y, e) {
return v && !v[yo] && (v = fi(v)),
y && !y[yo] && (y = fi(y, e)),
ei(function(e, t, n, r) {
var o, i, a, u = [], c = [], s = t.length, l = e || function h(e, t, n) {
for (var r = 0, o = t.length; r < o; r++)
Jo(e, t[r], n);
return n
}(g || "*", n.nodeType ? [n] : n, []), f = !m || !e && g ? l : li(l, u, m, n, r), d = p ? y || (e ? m : s || v) ? [] : t : f;
if (p && p(f, d, n, r),
v)
for (o = li(d, c),
v(o, [], n, r),
i = o.length; i--; )
(a = o[i]) && (d[c[i]] = !(f[c[i]] = a));
if (e) {
if (y || m) {
if (y) {
for (o = [],
i = d.length; i--; )
(a = d[i]) && o.push(f[i] = a);
y(null, d = [], o, r)
}
for (i = d.length; i--; )
(a = d[i]) && -1 < (o = y ? Do.call(e, a) : u[i]) && (e[o] = !(t[o] = a))
}
} else
d = li(d === t ? d.splice(s, d.length) : d),
y ? y(null, t, d, r) : Ro.apply(t, d)
})
}
function di(e) {
for (var r, t, n, o = e.length, i = to.relative[e[0].type], a = i || to.relative[" "], u = i ? 1 : 0, c = ci(function(e) {
return e === r
}, a, !0), s = ci(function(e) {
return -1 < Do.call(r, e)
}, a, !0), l = [function(e, t, n) {
return !i && (n || t !== uo) || ((r = t).nodeType ? c(e, t, n) : s(e, t, n))
}
]; u < o; u++)
if (t = to.relative[e[u].type])
l = [ci(si(l), t)];
else {
if ((t = to.filter[e[u].type].apply(null, e[u].matches))[yo]) {
for (n = ++u; n < o && !to.relative[e[n].type]; n++)
;
return fi(1 < u && si(l), 1 < u && ui(e.slice(0, u - 1).concat({
value: " " === e[u - 2].type ? "*" : ""
})).replace(Lo, "$1"), t, u < n && di(e.slice(u, n)), n < o && di(e = e.slice(n)), n < o && ui(e))
}
l.push(t)
}
return si(l)
}
ai.prototype = to.filters = to.pseudos,
to.setFilters = new ai,
oo = Jo.tokenize = function(e, t) {
var n, r, o, i, a, u, c, s = zo[e + " "];
if (s)
return t ? 0 : s.slice(0);
for (a = e,
u = [],
c = to.preFilter; a; ) {
for (i in n && !(r = Vo.exec(a)) || (r && (a = a.slice(r[0].length) || a),
u.push(o = [])),
n = !1,
(r = Io.exec(a)) && (n = r.shift(),
o.push({
value: n,
type: r[0].replace(Lo, " ")
}),
a = a.slice(n.length)),
to.filter)
to.filter.hasOwnProperty(i) && (!(r = qo[i].exec(a)) || c[i] && !(r = c[i](r)) || (n = r.shift(),
o.push({
value: n,
type: i,
matches: r
}),
a = a.slice(n.length)));
if (!n)
break
}
return t ? a.length : a ? Jo.error(e) : zo(e, u).slice(0)
}
,
io = Jo.compile = function(e, t) {
var n, r = [], o = [], i = Eo[e + " "];
if (!i) {
for (n = (t = t || oo(e)).length; n--; )
(i = di(t[n]))[yo] ? r.push(i) : o.push(i);
(i = Eo(e, function a(p, v) {
function e(e, t, n, r, o) {
var i, a, u, c = 0, s = "0", l = e && [], f = [], d = uo, h = e || b && to.find.TAG("*", o), m = Co += null == d ? 1 : Math.random() || .1, g = h.length;
for (o && (uo = t !== fo && t); s !== g && null != (i = h[s]); s++) {
if (b && i) {
for (a = 0; u = p[a++]; )
if (u(i, t, n)) {
r.push(i);
break
}
o && (Co = m)
}
y && ((i = !u && i) && c--,
e && l.push(i))
}
if (c += s,
y && s !== c) {
for (a = 0; u = v[a++]; )
u(l, f, t, n);
if (e) {
if (0 < c)
for (; s--; )
l[s] || f[s] || (f[s] = Ao.call(r));
f = li(f)
}
Ro.apply(r, f),
o && !e && 0 < f.length && 1 < c + v.length && Jo.uniqueSort(r)
}
return o && (Co = m,
uo = d),
l
}
var y = 0 < v.length
, b = 0 < p.length;
return y ? ei(e) : e
}(o, r))).selector = e
}
return i
}
,
ao = Jo.select = function(e, t, n, r) {
var o, i, a, u, c, s = "function" == typeof e && e, l = !r && oo(e = s.selector || e);
if (n = n || [],
1 === l.length) {
if (2 < (i = l[0] = l[0].slice(0)).length && "ID" === (a = i[0]).type && eo.getById && 9 === t.nodeType && mo && to.relative[i[1].type]) {
if (!(t = (to.find.ID(a.matches[0].replace(Zo, Jr), t) || [])[0]))
return n;
s && (t = t.parentNode),
e = e.slice(i.shift().value.length)
}
for (o = qo.needsContext.test(e) ? 0 : i.length; o-- && (a = i[o],
!to.relative[u = a.type]); )
if ((c = to.find[u]) && (r = c(a.matches[0].replace(Zo, Jr), Yo.test(i[0].type) && ii(t.parentNode) || t))) {
if (i.splice(o, 1),
!(e = r.length && ui(i)))
return Ro.apply(n, r),
n;
break
}
}
return (s || io(e, l))(r, t, !mo, n, Yo.test(e) && ii(t.parentNode) || t),
n
}
,
eo.sortStable = yo.split("").sort(No).join("") === yo,
eo.detectDuplicates = !!so,
lo(),
eo.sortDetached = !0;
function hi(e) {
return void 0 !== e
}
function mi(e) {
return "string" == typeof e
}
function gi(e, t) {
var n, r, o;
for (o = (t = t || xi).createElement("div"),
n = t.createDocumentFragment(),
o.innerHTML = e; r = o.firstChild; )
n.appendChild(r);
return n
}
function pi(e, t) {
return e && t && -1 !== (" " + e.className + " ").indexOf(" " + t + " ")
}
function vi(e, t, n) {
var r, o;
return t = Ii(t)[0],
e.each(function() {
n && r === this.parentNode || (r = this.parentNode,
o = t.cloneNode(!1),
this.parentNode.insertBefore(o, this)),
o.appendChild(this)
}),
e
}
function yi(e, t) {
return new Ii.fn.init(e,t)
}
function bi(e) {
return null === e || e === undefined ? "" : ("" + e).replace(Hi, "")
}
function Ci(e, t) {
var n, r, o, i;
if (e)
if ((n = e.length) === undefined) {
for (r in e)
if (e.hasOwnProperty(r) && (i = e[r],
!1 === t.call(i, r, i)))
break
} else
for (o = 0; o < n && (i = e[o],
!1 !== t.call(i, o, i)); o++)
;
return e
}
function wi(e, n) {
var r = [];
return Ci(e, function(e, t) {
n(t, e) && r.push(t)
}),
r
}
var xi = j.document
, zi = Array.prototype.push
, Ei = Array.prototype.slice
, Ni = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/
, Si = Gr.Event
, ki = Zn.makeMap("children,contents,next,prev")
, Ti = function(e, t, n, r) {
var o;
if (mi(t))
t = gi(t, Bi(e[0]));
else if (t.length && !t.nodeType) {
if (t = Ii.makeArray(t),
r)
for (o = t.length - 1; 0 <= o; o--)
Ti(e, t[o], n, r);
else
for (o = 0; o < t.length; o++)
Ti(e, t[o], n, r);
return e
}
if (t.nodeType)
for (o = e.length; o--; )
n.call(e[o], t);
return e
}
, Ai = Zn.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom", " ")
, Mi = Zn.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected", " ")
, Ri = {
"for": "htmlFor",
"class": "className",
readonly: "readOnly"
}
, _i = {
"float": "cssFloat"
}
, Di = {}
, Oi = {}
, Hi = /^\s*|\s*$/g
, Bi = function(e) {
return e ? 9 === e.nodeType ? e : e.ownerDocument : xi
};
yi.fn = yi.prototype = {
constructor: yi,
selector: "",
context: null,
length: 0,
init: function(e, t) {
var n, r, o = this;
if (!e)
return o;
if (e.nodeType)
return o.context = o[0] = e,
o.length = 1,
o;
if (t && t.nodeType)
o.context = t;
else {
if (t)
return Ii(e).attr(t);
o.context = t = j.document
}
if (mi(e)) {
if (!(n = "<" === (o.selector = e).charAt(0) && ">" === e.charAt(e.length - 1) && 3 <= e.length ? [null, e, null] : Ni.exec(e)))
return Ii(t).find(e);
if (n[1])
for (r = gi(e, Bi(t)).firstChild; r; )
zi.call(o, r),
r = r.nextSibling;
else {
if (!(r = Bi(t).getElementById(n[2])))
return o;
if (r.id !== n[2])
return o.find(e);
o.length = 1,
o[0] = r
}
} else
this.add(e, !1);
return o
},
toArray: function() {
return Zn.toArray(this)
},
add: function(e, t) {
var n, r;
if (mi(e))
return this.add(Ii(e));
if (!1 !== t)
for (n = Ii.unique(this.toArray().concat(Ii.makeArray(e))),
this.length = n.length,
r = 0; r < n.length; r++)
this[r] = n[r];
else
zi.apply(this, Ii.makeArray(e));
return this
},
attr: function(t, n) {
var e, r = this;
if ("object" == typeof t)
Ci(t, function(e, t) {
r.attr(e, t)
});
else {
if (!hi(n)) {
if (r[0] && 1 === r[0].nodeType) {
if ((e = Di[t]) && e.get)
return e.get(r[0], t);
if (Mi[t])
return r.prop(t) ? t : undefined;
null === (n = r[0].getAttribute(t, 2)) && (n = undefined)
}
return n
}
this.each(function() {
var e;
if (1 === this.nodeType) {
if ((e = Di[t]) && e.set)
return void e.set(this, n);
null === n ? this.removeAttribute(t, 2) : this.setAttribute(t, n, 2)
}
})
}
return r
},
removeAttr: function(e) {
return this.attr(e, null)
},
prop: function(e, t) {
var n = this;
if ("object" == typeof (e = Ri[e] || e))
Ci(e, function(e, t) {
n.prop(e, t)
});
else {
if (!hi(t))
return n[0] && n[0].nodeType && e in n[0] ? n[0][e] : t;
this.each(function() {
1 === this.nodeType && (this[e] = t)
})
}
return n
},
css: function(n, r) {
function e(e) {
return e.replace(/-(\D)/g, function(e, t) {
return t.toUpperCase()
})
}
function o(e) {
return e.replace(/[A-Z]/g, function(e) {
return "-" + e
})
}
var t, i, a = this;
if ("object" == typeof n)
Ci(n, function(e, t) {
a.css(e, t)
});
else if (hi(r))
n = e(n),
"number" != typeof r || Ai[n] || (r = r.toString() + "px"),
a.each(function() {
var e = this.style;
if ((i = Oi[n]) && i.set)
i.set(this, r);
else {
try {
this.style[_i[n] || n] = r
} catch (t) {}
null !== r && "" !== r || (e.removeProperty ? e.removeProperty(o(n)) : e.removeAttribute(n))
}
});
else {
if (t = a[0],
(i = Oi[n]) && i.get)
return i.get(t);
if (!t.ownerDocument.defaultView)
return t.currentStyle ? t.currentStyle[e(n)] : "";
try {
return t.ownerDocument.defaultView.getComputedStyle(t, null).getPropertyValue(o(n))
} catch (u) {
return undefined
}
}
return a
},
remove: function() {
for (var e, t = this.length; t--; )
e = this[t],
Si.clean(e),
e.parentNode && e.parentNode.removeChild(e);
return this
},
empty: function() {
for (var e, t = this.length; t--; )
for (e = this[t]; e.firstChild; )
e.removeChild(e.firstChild);
return this
},
html: function(e) {
var t, n = this;
if (hi(e)) {
t = n.length;
try {
for (; t--; )
n[t].innerHTML = e
} catch (r) {
Ii(n[t]).empty().append(e)
}
return n
}
return n[0] ? n[0].innerHTML : ""
},
text: function(e) {
var t;
if (hi(e)) {
for (t = this.length; t--; )
"innerText"in this[t] ? this[t].innerText = e : this[0].textContent = e;
return this
}
return this[0] ? this[0].innerText || this[0].textContent : ""
},
append: function() {
return Ti(this, arguments, function(e) {
(1 === this.nodeType || this.host && 1 === this.host.nodeType) && this.appendChild(e)
})
},
prepend: function() {
return Ti(this, arguments, function(e) {
(1 === this.nodeType || this.host && 1 === this.host.nodeType) && this.insertBefore(e, this.firstChild)
}, !0)
},
before: function() {
return this[0] && this[0].parentNode ? Ti(this, arguments, function(e) {
this.parentNode.insertBefore(e, this)
}) : this
},
after: function() {
return this[0] && this[0].parentNode ? Ti(this, arguments, function(e) {
this.parentNode.insertBefore(e, this.nextSibling)
}, !0) : this
},
appendTo: function(e) {
return Ii(e).append(this),
this
},
prependTo: function(e) {
return Ii(e).prepend(this),
this
},
replaceWith: function(e) {
return this.before(e).remove()
},
wrap: function(e) {
return vi(this, e)
},
wrapAll: function(e) {
return vi(this, e, !0)
},
wrapInner: function(e) {
return this.each(function() {
Ii(this).contents().wrapAll(e)
}),
this
},
unwrap: function() {
return this.parent().each(function() {
Ii(this).replaceWith(this.childNodes)
})
},
clone: function() {
var e = [];
return this.each(function() {
e.push(this.cloneNode(!0))
}),
Ii(e)
},
addClass: function(e) {
return this.toggleClass(e, !0)
},
removeClass: function(e) {
return this.toggleClass(e, !1)
},
toggleClass: function(o, i) {
var e = this;
return "string" != typeof o || (-1 !== o.indexOf(" ") ? Ci(o.split(" "), function() {
e.toggleClass(this, i)
}) : e.each(function(e, t) {
var n, r;
(r = pi(t, o)) !== i && (n = t.className,
r ? t.className = bi((" " + n + " ").replace(" " + o + " ", " ")) : t.className += n ? " " + o : o)
})),
e
},
hasClass: function(e) {
return pi(this[0], e)
},
each: function(e) {
return Ci(this, e)
},
on: function(e, t) {
return this.each(function() {
Si.bind(this, e, t)
})
},
off: function(e, t) {
return this.each(function() {
Si.unbind(this, e, t)
})
},
trigger: function(e) {
return this.each(function() {
"object" == typeof e ? Si.fire(this, e.type, e) : Si.fire(this, e)
})
},
show: function() {
return this.css("display", "")
},
hide: function() {
return this.css("display", "none")
},
slice: function() {
return new Ii(Ei.apply(this, arguments))
},
eq: function(e) {
return -1 === e ? this.slice(e) : this.slice(e, +e + 1)
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
find: function(e) {
var t, n, r = [];
for (t = 0,
n = this.length; t < n; t++)
Ii.find(e, this[t], r);
return Ii(r)
},
filter: function(n) {
return Ii("function" == typeof n ? wi(this.toArray(), function(e, t) {
return n(t, e)
}) : Ii.filter(n, this.toArray()))
},
closest: function(n) {
var r = [];
return n instanceof Ii && (n = n[0]),
this.each(function(e, t) {
for (; t; ) {
if ("string" == typeof n && Ii(t).is(n)) {
r.push(t);
break
}
if (t === n) {
r.push(t);
break
}
t = t.parentNode
}
}),
Ii(r)
},
offset: function(e) {
var t, n, r, o, i = 0, a = 0;
return e ? this.css(e) : ((t = this[0]) && (r = (n = t.ownerDocument).documentElement,
t.getBoundingClientRect && (i = (o = t.getBoundingClientRect()).left + (r.scrollLeft || n.body.scrollLeft) - r.clientLeft,
a = o.top + (r.scrollTop || n.body.scrollTop) - r.clientTop)),
{
left: i,
top: a
})
},
push: zi,
sort: Array.prototype.sort,
splice: Array.prototype.splice
},
Zn.extend(yi, {
extend: Zn.extend,
makeArray: function(e) {
return function(e) {
return e && e === e.window
}(e) || e.nodeType ? [e] : Zn.toArray(e)
},
inArray: function(e, t) {
var n;
if (t.indexOf)
return t.indexOf(e);
for (n = t.length; n--; )
if (t[n] === e)
return n;
return -1
},
isArray: Zn.isArray,
each: Ci,
trim: bi,
grep: wi,
find: Jo,
expr: Jo.selectors,
unique: Jo.uniqueSort,
text: Jo.getText,
contains: Jo.contains,
filter: function(e, t, n) {
var r = t.length;
for (n && (e = ":not(" + e + ")"); r--; )
1 !== t[r].nodeType && t.splice(r, 1);
return t = 1 === t.length ? Ii.find.matchesSelector(t[0], e) ? [t[0]] : [] : Ii.find.matches(e, t)
}
});
function Pi(e, t, n) {
var r = []
, o = e[t];
for ("string" != typeof n && n instanceof Ii && (n = n[0]); o && 9 !== o.nodeType; ) {
if (n !== undefined) {
if (o === n)
break;
if ("string" == typeof n && Ii(o).is(n))
break
}
1 === o.nodeType && r.push(o),
o = o[t]
}
return r
}
function Li(e, t, n, r) {
var o = [];
for (r instanceof Ii && (r = r[0]); e; e = e[t])
if (!n || e.nodeType === n) {
if (r !== undefined) {
if (e === r)
break;
if ("string" == typeof r && Ii(e).is(r))
break
}
o.push(e)
}
return o
}
function Vi(e, t, n) {
for (e = e[t]; e; e = e[t])
if (e.nodeType === n)
return e;
return null
}
Ci({
parent: function(e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
},
parents: function(e) {
return Pi(e, "parentNode")
},
next: function(e) {
return Vi(e, "nextSibling", 1)
},
prev: function(e) {
return Vi(e, "previousSibling", 1)
},
children: function(e) {
return Li(e.firstChild, "nextSibling", 1)
},
contents: function(e) {
return Zn.toArray(("iframe" === e.nodeName ? e.contentDocument || e.contentWindow.document : e).childNodes)
}
}, function(r, o) {
yi.fn[r] = function(t) {
var n = [];
this.each(function() {
var e = o.call(n, this, t, n);
e && (Ii.isArray(e) ? n.push.apply(n, e) : n.push(e))
}),
1 < this.length && (ki[r] || (n = Ii.unique(n)),
0 === r.indexOf("parents") && (n = n.reverse()));
var e = Ii(n);
return t ? e.filter(t) : e
}
}),
Ci({
parentsUntil: function(e, t) {
return Pi(e, "parentNode", t)
},
nextUntil: function(e, t) {
return Li(e, "nextSibling", 1, t).slice(1)
},
prevUntil: function(e, t) {
return Li(e, "previousSibling", 1, t).slice(1)
}
}, function(o, i) {
yi.fn[o] = function(t, e) {
var n = [];
this.each(function() {
var e = i.call(n, this, t, n);
e && (Ii.isArray(e) ? n.push.apply(n, e) : n.push(e))
}),
1 < this.length && (n = Ii.unique(n),
0 !== o.indexOf("parents") && "prevUntil" !== o || (n = n.reverse()));
var r = Ii(n);
return e ? r.filter(e) : r
}
}),
yi.fn.is = function(e) {
return !!e && 0 < this.filter(e).length
}
,
yi.fn.init.prototype = yi.fn,
yi.overrideDefaults = function(n) {
var r, o = function(e, t) {
return r = r || n(),
0 === arguments.length && (e = r.element),
t = t || r.context,
new o.fn.init(e,t)
};
return Ii.extend(o, this),
o
}
,
yi.attrHooks = Di,
yi.cssHooks = Oi;
var Ii = yi
, Fi = (Ui.prototype.current = function() {
return this.node
}
,
Ui.prototype.next = function(e) {
return this.node = this.findSibling(this.node, "firstChild", "nextSibling", e),
this.node
}
,
Ui.prototype.prev = function(e) {
return this.node = this.findSibling(this.node, "lastChild", "previousSibling", e),
this.node
}
,
Ui.prototype.prev2 = function(e) {
return this.node = this.findPreviousNode(this.node, "lastChild", "previousSibling", e),
this.node
}
,
Ui.prototype.findSibling = function(e, t, n, r) {
var o, i;
if (e) {
if (!r && e[t])
return e[t];
if (e !== this.rootNode) {
if (o = e[n])
return o;
for (i = e.parentNode; i && i !== this.rootNode; i = i.parentNode)
if (o = i[n])
return o
}
}
}
,
Ui.prototype.findPreviousNode = function(e, t, n, r) {
var o, i, a;
if (e) {
if (o = e[n],
this.rootNode && o === this.rootNode)
return;
if (o) {
if (!r)
for (a = o[t]; a; a = a[t])
if (!a[t])
return a;
return o
}
if ((i = e.parentNode) && i !== this.rootNode)
return i
}
}
,
Ui);
function Ui(e, t) {
this.node = e,
this.rootNode = t,
this.current = this.current.bind(this),
this.next = this.next.bind(this),
this.prev = this.prev.bind(this),
this.prev2 = this.prev2.bind(this)
}
var ji, qi = Zn.each, $i = Zn.grep, Wi = Wn.ie, Ki = /^([a-z0-9],?)+$/i, Xi = /^[ \t\r\n]*$/, Yi = function(n, r, o) {
var i = r.keep_values
, e = {
set: function(e, t, n) {
r.url_converter && (t = r.url_converter.call(r.url_converter_scope || o(), t, n, e[0])),
e.attr("data-mce-" + n, t).attr(n, t)
},
get: function(e, t) {
return e.attr("data-mce-" + t) || e.attr(t)
}
}
, t = {
style: {
set: function(e, t) {
null === t || "object" != typeof t ? (i && e.attr("data-mce-style", t),
null !== t && "string" == typeof t ? (e.removeAttr("style"),
e.css(n.parse(t))) : e.attr("style", t)) : e.css(t)
},
get: function(e) {
var t = e.attr("data-mce-style") || e.attr("style");
return t = n.serialize(n.parse(t), e[0].nodeName)
}
}
};
return i && (t.href = t.src = e),
t
}, Gi = function(e, t) {
var n = t.attr("style")
, r = e.serialize(e.parse(n), t[0].nodeName);
r = r || null,
t.attr("data-mce-style", r)
}, Zi = function(e, t) {
var n, r, o = 0;
if (e)
for (n = e.nodeType,
e = e.previousSibling; e; e = e.previousSibling)
r = e.nodeType,
(!t || 3 !== r || r !== n && e.nodeValue.length) && (o++,
n = r);
return o
};
function Ji(a, u) {
var c, s = this;
void 0 === u && (u = {});
function l(e) {
if (e && a && "string" == typeof e) {
var t = a.getElementById(e);
return t && t.id !== e ? a.getElementsByName(e)[1] : t
}
return e
}
function f(e) {
return "string" == typeof e && (e = l(e)),
B(e)
}
function r(e, t, n) {
var r, o, i = f(e);
return i.length && (o = (r = c[t]) && r.get ? r.get(i, t) : i.attr(t)),
void 0 === o && (o = n || ""),
o
}
function d(e) {
var t = l(e);
return t ? t.attributes : []
}
function o(e, t, n) {
var r, o;
"" === n && (n = null);
var i = f(e);
r = i.attr(t),
i.length && ((o = c[t]) && o.set ? o.set(i, n, t) : i.attr(t, n),
r !== n && u.onSetAttrib && u.onSetAttrib({
attrElm: i,
attrName: t,
attrValue: n
}))
}
function h() {
return u.root_element || a.body
}
function i(e, t) {
return rn.getPos(a.body, l(e), t)
}
function m(e, t, n) {
var r = f(e);
return n ? r.css(t) : ("float" === (t = t.replace(/-(\D)/g, function(e, t) {
return t.toUpperCase()
})) && (t = Wn.browser.isIE() ? "styleFloat" : "cssFloat"),
r[0] && r[0].style ? r[0].style[t] : undefined)
}
function g(e) {
var t, n;
return e = l(e),
t = m(e, "width"),
n = m(e, "height"),
-1 === t.indexOf("px") && (t = 0),
-1 === n.indexOf("px") && (n = 0),
{
w: parseInt(t, 10) || e.offsetWidth || e.clientWidth,
h: parseInt(n, 10) || e.offsetHeight || e.clientHeight
}
}
function p(e, t) {
var n;
if (!e)
return !1;
if (!Array.isArray(e)) {
if ("*" === t)
return 1 === e.nodeType;
if (Ki.test(t)) {
var r = t.toLowerCase().split(/,/)
, o = e.nodeName.toLowerCase();
for (n = r.length - 1; 0 <= n; n--)
if (r[n] === o)
return !0;
return !1
}
if (e.nodeType && 1 !== e.nodeType)
return !1
}
var i = Array.isArray(e) ? e : [e];
return 0 < Jo(t, i[0].ownerDocument || i[0], null, i).length
}
function v(e, t, n, r) {
var o, i = [], a = l(e);
for (r = r === undefined,
n = n || ("BODY" !== h().nodeName ? h().parentNode : null),
Zn.is(t, "string") && (t = "*" === (o = t) ? function(e) {
return 1 === e.nodeType
}
: function(e) {
return p(e, o)
}
); a && a !== n && a.nodeType && 9 !== a.nodeType; ) {
if (!t || "function" == typeof t && t(a)) {
if (!r)
return [a];
i.push(a)
}
a = a.parentNode
}
return r ? i : null
}
function n(e, t, n) {
var r = t;
if (e)
for ("string" == typeof t && (r = function(e) {
return p(e, t)
}
),
e = e[n]; e; e = e[n])
if ("function" == typeof r && r(e))
return e;
return null
}
function y(e, n, r) {
var o, t = "string" == typeof e ? l(e) : e;
if (!t)
return !1;
if (Zn.isArray(t) && (t.length || 0 === t.length))
return o = [],
qi(t, function(e, t) {
e && ("string" == typeof e && (e = l(e)),
o.push(n.call(r, e, t)))
}),
o;
var i = r || s;
return n.call(i, t)
}
function b(e, t) {
f(e).each(function(e, n) {
qi(t, function(e, t) {
o(n, t, e)
})
})
}
function C(e, r) {
var t = f(e);
Wi ? t.each(function(e, t) {
if (!1 !== t.canHaveHTML) {
for (; t.firstChild; )
t.removeChild(t.firstChild);
try {
t.innerHTML = "
" + r,
t.removeChild(t.firstChild)
} catch (n) {
Ii("
").html("
" + r).contents().slice(1).appendTo(t)
}
return r
}
}) : t.html(r)
}
function w(e, n, r, o, i) {
return y(e, function(e) {
var t = "string" == typeof n ? a.createElement(n) : n;
return b(t, r),
o && ("string" != typeof o && o.nodeType ? t.appendChild(o) : "string" == typeof o && C(t, o)),
i ? t : e.appendChild(t)
})
}
function x(e, t, n) {
return w(a.createElement(e), e, t, n, !0)
}
function z(e, t) {
var n = f(e);
return t ? n.each(function() {
for (var e; e = this.firstChild; )
3 === e.nodeType && 0 === e.data.length ? this.removeChild(e) : this.parentNode.insertBefore(e, this)
}).remove() : n.remove(),
1 < n.length ? n.toArray() : n[0]
}
function E(e, t, n) {
f(e).toggleClass(t, n).each(function() {
"" === this.className && Ii(this).attr("class", null)
})
}
function N(t, e, n) {
return y(e, function(e) {
return Zn.is(e, "array") && (t = t.cloneNode(!0)),
n && qi($i(e.childNodes), function(e) {
t.appendChild(e)
}),
e.parentNode.replaceChild(t, e)
})
}
function S() {
return a.createRange()
}
function k(e) {
if (e && Qt.isElement(e)) {
var t = e.getAttribute("data-mce-contenteditable");
return t && "inherit" !== t ? t : "inherit" !== e.contentEditable ? e.contentEditable : null
}
return null
}
var T = {}
, A = j.window
, M = {}
, t = 0
, e = function U(m, g) {
void 0 === g && (g = {});
var p, v = 0, y = {};
function b(e) {
m.getElementsByTagName("head")[0].appendChild(e)
}
function n(e, t, n) {
function r(e) {
l.status = e,
l.passed = [],
l.failed = [],
u && (u.onload = null,
u.onerror = null,
u = null)
}
function o() {
for (var e = l.passed, t = e.length; t--; )
e[t]();
r(2)
}
function i() {
for (var e = l.failed, t = e.length; t--; )
e[t]();
r(3)
}
function a(e, t) {
e() || ((new Date).getTime() - s < p ? Pn.setTimeout(t) : i())
}
var u, c, s, l, f = function() {
a(function() {
for (var e, t, n = m.styleSheets, r = n.length; r--; )
if ((t = (e = n[r]).ownerNode ? e.ownerNode : e.owningElement) && t.id === u.id)
return o(),
!0
}, f)
}, d = function() {
a(function() {
try {
var e = c.sheet.cssRules;
return o(),
!!e
} catch (t) {}
}, d)
};
if (e = Zn._addCacheSuffix(e),
y[e] ? l = y[e] : (l = {
passed: [],
failed: []
},
y[e] = l),
t && l.passed.push(t),
n && l.failed.push(n),
1 !== l.status)
if (2 !== l.status)
if (3 !== l.status) {
if (l.status = 1,
(u = m.createElement("link")).rel = "stylesheet",
u.type = "text/css",
u.id = "u" + v++,
u.async = !1,
u.defer = !1,
s = (new Date).getTime(),
g.contentCssCors && (u.crossOrigin = "anonymous"),
g.referrerPolicy && en(it.fromDom(u), "referrerpolicy", g.referrerPolicy),
"onload"in u && !((h = j.navigator.userAgent.match(/WebKit\/(\d*)/)) && parseInt(h[1], 10) < 536))
u.onload = f,
u.onerror = i;
else {
if (0 < j.navigator.userAgent.indexOf("Firefox"))
return (c = m.createElement("style")).textContent = '@import "' + e + '"',
d(),
void b(c);
f()
}
var h;
b(u),
u.href = e
} else
i();
else
o()
}
function t(t) {
return pn.nu(function(e) {
n(t, q(e, $(Cn.value(t))), q(e, $(Cn.error(t))))
})
}
function o(e) {
return e.fold(W, W)
}
return p = g.maxLoadTime || 5e3,
{
load: n,
loadAll: function(e, n, r) {
vn(X(e, t)).get(function(e) {
var t = Y(e, function(e) {
return e.isValue()
});
0 < t.fail.length ? r(t.fail.map(o)) : n(t.pass.map(o))
})
},
_setReferrerPolicy: function(e) {
g.referrerPolicy = e
}
}
}(a, {
contentCssCors: u.contentCssCors,
referrerPolicy: u.referrerPolicy
})
, R = []
, _ = u.schema ? u.schema : Pr({})
, D = $r({
url_converter: u.url_converter,
url_converter_scope: u.url_converter_scope
}, u.schema)
, O = u.ownEvents ? new Gr : Gr.Event
, H = _.getBlockElements()
, B = Ii.overrideDefaults(function() {
return {
context: a,
element: F.getRoot()
}
})
, P = Sr.decode
, L = Sr.encodeAllRaw
, V = function(e, t, n, r) {
if (Zn.isArray(e)) {
for (var o = e.length, i = []; o--; )
i[o] = V(e[o], t, n, r);
return i
}
return !u.collect || e !== a && e !== A || R.push([e, t, n, r]),
O.bind(e, t, n, r || F)
}
, I = function(e, t, n) {
var r;
if (Zn.isArray(e)) {
r = e.length;
for (var o = []; r--; )
o[r] = I(e[r], t, n);
return o
}
if (R && (e === a || e === A))
for (r = R.length; r--; ) {
var i = R[r];
e !== i[0] || t && t !== i[1] || n && n !== i[2] || O.unbind(i[0], i[1], i[2])
}
return O.unbind(e, t, n)
}
, F = {
doc: a,
settings: u,
win: A,
files: M,
stdMode: !0,
boxModel: !0,
styleSheetLoader: e,
boundEvents: R,
styles: D,
schema: _,
events: O,
isBlock: function(e) {
if ("string" == typeof e)
return !!H[e];
if (e) {
var t = e.nodeType;
if (t)
return !(1 !== t || !H[e.nodeName])
}
return !1
},
$: B,
$$: f,
root: null,
clone: function(t, e) {
if (!Wi || 1 !== t.nodeType || e)
return t.cloneNode(e);
if (e)
return null;
var n = a.createElement(t.nodeName);
return qi(d(t), function(e) {
o(n, e.nodeName, r(t, e.nodeName))
}),
n
},
getRoot: h,
getViewPort: function(e) {
var t = jt(e);
return {
x: t.x(),
y: t.y(),
w: t.width(),
h: t.height()
}
},
getRect: function(e) {
var t, n;
return e = l(e),
t = i(e),
n = g(e),
{
x: t.x,
y: t.y,
w: n.w,
h: n.h
}
},
getSize: g,
getParent: function(e, t, n) {
var r = v(e, t, n, !1);
return r && 0 < r.length ? r[0] : null
},
getParents: v,
get: l,
getNext: function(e, t) {
return n(e, t, "nextSibling")
},
getPrev: function(e, t) {
return n(e, t, "previousSibling")
},
select: function(e, t) {
return Jo(e, l(t) || u.root_element || a, [])
},
is: p,
add: w,
create: x,
createHTML: function(e, t, n) {
var r, o = "";
for (r in o += "<" + e,
t)
t.hasOwnProperty(r) && null !== t[r] && "undefined" != typeof t[r] && (o += " " + r + '="' + L(t[r]) + '"');
return void 0 !== n ? o + ">" + n + "" + e + ">" : o + " />"
},
createFragment: function(e) {
var t, n = a.createElement("div"), r = a.createDocumentFragment();
for (e && (n.innerHTML = e); t = n.firstChild; )
r.appendChild(t);
return r
},
remove: z,
setStyle: function(e, t, n) {
var r = K(t) ? f(e).css(t, n) : f(e).css(t);
u.update_styles && Gi(D, r)
},
getStyle: m,
setStyles: function(e, t) {
var n = f(e).css(t);
u.update_styles && Gi(D, n)
},
removeAllAttribs: function(e) {
return y(e, function(e) {
var t, n = e.attributes;
for (t = n.length - 1; 0 <= t; t--)
e.removeAttributeNode(n.item(t))
})
},
setAttrib: o,
setAttribs: b,
getAttrib: r,
getPos: i,
parseStyle: function(e) {
return D.parse(e)
},
serializeStyle: function(e, t) {
return D.serialize(e, t)
},
addStyle: function(e) {
var t, n;
if (F !== Ji.DOM && a === j.document) {
if (T[e])
return;
T[e] = !0
}
(n = a.getElementById("mceDefaultStyles")) || ((n = a.createElement("style")).id = "mceDefaultStyles",
n.type = "text/css",
(t = a.getElementsByTagName("head")[0]).firstChild ? t.insertBefore(n, t.firstChild) : t.appendChild(n)),
n.styleSheet ? n.styleSheet.cssText += e : n.appendChild(a.createTextNode(e))
},
loadCSS: function(e) {
var n;
F === Ji.DOM || a !== j.document ? (e = e || "",
n = a.getElementsByTagName("head")[0],
qi(e.split(","), function(e) {
var t;
e = Zn._addCacheSuffix(e),
M[e] || (M[e] = !0,
t = x("link", te(te({
rel: "stylesheet",
type: "text/css",
href: e
}, u.contentCssCors ? {
crossOrigin: "anonymous"
} : {}), u.referrerPolicy ? {
referrerPolicy: u.referrerPolicy
} : {})),
n.appendChild(t))
})) : Ji.DOM.loadCSS(e)
},
addClass: function(e, t) {
f(e).addClass(t)
},
removeClass: function(e, t) {
E(e, t, !1)
},
hasClass: function(e, t) {
return f(e).hasClass(t)
},
toggleClass: E,
show: function(e) {
f(e).show()
},
hide: function(e) {
f(e).hide()
},
isHidden: function(e) {
return "none" === f(e).css("display")
},
uniqueId: function(e) {
return (e || "mce_") + t++
},
setHTML: C,
getOuterHTML: function(e) {
var t = "string" == typeof e ? l(e) : e;
return Qt.isElement(t) ? t.outerHTML : Ii("").append(Ii(t).clone()).html()
},
setOuterHTML: function(e, t) {
f(e).each(function() {
try {
if ("outerHTML"in this)
return void (this.outerHTML = t)
} catch (e) {}
z(Ii(this).html(t), !0)
})
},
decode: P,
encode: L,
insertAfter: function(e, t) {
var r = l(t);
return y(e, function(e) {
var t, n;
return t = r.parentNode,
(n = r.nextSibling) ? t.insertBefore(e, n) : t.appendChild(e),
e
})
},
replace: N,
rename: function(t, e) {
var n;
return t.nodeName !== e.toUpperCase() && (n = x(e),
qi(d(t), function(e) {
o(n, e.nodeName, r(t, e.nodeName))
}),
N(n, t, !0)),
n || t
},
findCommonAncestor: function(e, t) {
for (var n, r = e; r; ) {
for (n = t; n && r !== n; )
n = n.parentNode;
if (r === n)
break;
r = r.parentNode
}
return !r && e.ownerDocument ? e.ownerDocument.documentElement : r
},
toHex: function(e) {
return D.toHex(Zn.trim(e))
},
run: y,
getAttribs: d,
isEmpty: function(e, t) {
var n, r, o, i, a = 0;
if (e = e.firstChild) {
var u = new Fi(e,e.parentNode)
, c = _ ? _.getWhiteSpaceElements() : {};
t = t || (_ ? _.getNonEmptyElements() : null);
do {
if (o = e.nodeType,
Qt.isElement(e)) {
var s = e.getAttribute("data-mce-bogus");
if (s) {
e = u.next("all" === s);
continue
}
if (i = e.nodeName.toLowerCase(),
t && t[i]) {
if ("br" !== i)
return !1;
a++,
e = u.next();
continue
}
for (n = (r = d(e)).length; n--; )
if ("name" === (i = r[n].nodeName) || "data-mce-bookmark" === i)
return !1
}
if (8 === o)
return !1;
if (3 === o && !Xi.test(e.nodeValue))
return !1;
if (3 === o && e.parentNode && c[e.parentNode.nodeName] && Xi.test(e.nodeValue))
return !1;
e = u.next()
} while (e)
}
return a <= 1
},
createRng: S,
nodeIndex: Zi,
split: function(e, t, n) {
var r, o, i, a = S();
if (e && t)
return a.setStart(e.parentNode, Zi(e)),
a.setEnd(t.parentNode, Zi(t)),
r = a.extractContents(),
(a = S()).setStart(t.parentNode, Zi(t) + 1),
a.setEnd(e.parentNode, Zi(e) + 1),
o = a.extractContents(),
(i = e.parentNode).insertBefore(gr.trimNode(F, r), e),
n ? i.insertBefore(n, e) : i.insertBefore(t, e),
i.insertBefore(gr.trimNode(F, o), e),
z(e),
n || t
},
bind: V,
unbind: I,
fire: function(e, t, n) {
return O.fire(e, t, n)
},
getContentEditable: k,
getContentEditableParent: function(e) {
for (var t = h(), n = null; e && e !== t && null === (n = k(e)); e = e.parentNode)
;
return n
},
destroy: function() {
if (R)
for (var e = R.length; e--; ) {
var t = R[e];
O.unbind(t[0], t[1], t[2])
}
Jo.setDocument && Jo.setDocument()
},
isChildOf: function(e, t) {
for (; e; ) {
if (t === e)
return !0;
e = e.parentNode
}
return !1
},
dumpRng: function(e) {
return "startContainer: " + e.startContainer.nodeName + ", startOffset: " + e.startOffset + ", endContainer: " + e.endContainer.nodeName + ", endOffset: " + e.endOffset
}
};
return c = Yi(D, u, function() {
return F
}),
F
}
(ji = Ji = Ji || {}).DOM = ji(j.document),
ji.nodeIndex = Zi;
var Qi = Ji
, ea = Qi.DOM
, ta = Zn.each
, na = Zn.grep
, ra = (oa.prototype._setReferrerPolicy = function(e) {
this.settings.referrerPolicy = e
}
,
oa.prototype.loadScript = function(e, t, n) {
var r, o, i = ea;
o = i.uniqueId(),
(r = j.document.createElement("script")).id = o,
r.type = "text/javascript",
r.src = Zn._addCacheSuffix(e),
this.settings.referrerPolicy && i.setAttrib(r, "referrerpolicy", this.settings.referrerPolicy),
r.onload = function() {
i.remove(o),
r && (r.onreadystatechange = r.onload = r = null),
t()
}
,
r.onerror = function() {
B(n) ? n() : "undefined" != typeof j.console && j.console.log && j.console.log("Failed to load script: " + e)
}
,
(j.document.getElementsByTagName("head")[0] || j.document.body).appendChild(r)
}
,
oa.prototype.isDone = function(e) {
return 2 === this.states[e]
}
,
oa.prototype.markDone = function(e) {
this.states[e] = 2
}
,
oa.prototype.add = function(e, t, n, r) {
this.states[e] === undefined && (this.queue.push(e),
this.states[e] = 0),
t && (this.scriptLoadedCallbacks[e] || (this.scriptLoadedCallbacks[e] = []),
this.scriptLoadedCallbacks[e].push({
success: t,
failure: r,
scope: n || this
}))
}
,
oa.prototype.load = function(e, t, n, r) {
return this.add(e, t, n, r)
}
,
oa.prototype.remove = function(e) {
delete this.states[e],
delete this.scriptLoadedCallbacks[e]
}
,
oa.prototype.loadQueue = function(e, t, n) {
this.loadScripts(this.queue, e, t, n)
}
,
oa.prototype.loadScripts = function(n, e, t, r) {
function o(t, e) {
ta(a.scriptLoadedCallbacks[e], function(e) {
B(e[t]) && e[t].call(e.scope)
}),
a.scriptLoadedCallbacks[e] = undefined
}
var i, a = this, u = [];
a.queueLoadedCallbacks.push({
success: e,
failure: r,
scope: t || this
}),
(i = function() {
var e = na(n);
if (n.length = 0,
ta(e, function(e) {
2 !== a.states[e] ? 3 !== a.states[e] ? 1 !== a.states[e] && (a.states[e] = 1,
a.loading++,
a.loadScript(e, function() {
a.states[e] = 2,
a.loading--,
o("success", e),
i()
}, function() {
a.states[e] = 3,
a.loading--,
u.push(e),
o("failure", e),
i()
})) : o("failure", e) : o("success", e)
}),
!a.loading) {
var t = a.queueLoadedCallbacks.slice(0);
a.queueLoadedCallbacks.length = 0,
ta(t, function(e) {
0 === u.length ? B(e.success) && e.success.call(e.scope) : B(e.failure) && e.failure.call(e.scope, u)
})
}
}
)()
}
,
oa.ScriptLoader = new oa,
oa);
function oa(e) {
void 0 === e && (e = {}),
this.states = {},
this.queue = [],
this.scriptLoadedCallbacks = {},
this.queueLoadedCallbacks = [],
this.loading = 0,
this.settings = e
}
function ia() {
return A(ua, ca.get())
}
var aa, ua = {}, ca = at("en"), sa = {
getData: function() {
return S(ua, function(e) {
return te({}, e)
})
},
setCode: function(e) {
e && ca.set(e)
},
getCode: function() {
return ca.get()
},
add: function(e, t) {
var n = ua[e];
n || (ua[e] = n = {}),
N(t, function(e, t) {
n[t.toLowerCase()] = e
})
},
translate: function(e) {
function n(e) {
return B(e) ? Object.prototype.toString.call(e) : a(e) ? "" : "" + e
}
function t(e) {
var t = n(e);
return A(i, t.toLowerCase()).map(n).getOr(t)
}
function r(e) {
return e.replace(/{context:\w+}$/, "")
}
function o(e) {
return e
}
var i = ia().getOr({})
, a = function(e) {
return "" === e || null === e || e === undefined
};
if (a(e))
return o("");
if (function(e) {
return _(e) && ee(e, "raw")
}(e))
return o(n(e.raw));
if (function(e) {
return D(e) && 1 < e.length
}(e)) {
var u = e.slice(1);
return o(r(t(e[0]).replace(/\{([0-9]+)\}/g, function(e, t) {
return ee(u, t) ? n(u[t]) : e
})))
}
return o(r(t(e)))
},
isRtl: function() {
return ia().bind(function(e) {
return A(e, "_dir")
}).exists(function(e) {
return "rtl" === e
})
},
hasCode: function(e) {
return ee(ua, e)
}
};
function la() {
function u(t, n) {
var e = U(i, function(e) {
return e.name === t && e.state === n
});
F(e, function(e) {
return e.callback()
})
}
function c(e) {
var t;
return f[e] && (t = f[e].dependencies),
t || []
}
function s(e, t) {
return "object" == typeof t ? t : "string" == typeof e ? {
prefix: "",
resource: t,
suffix: ""
} : {
prefix: e.prefix,
resource: t,
suffix: e.suffix
}
}
var r = this
, o = []
, l = {}
, f = {}
, i = []
, d = function(e, t, n, r, o) {
if (!l[e]) {
var i = "string" == typeof t ? t : t.prefix + t.resource + t.suffix;
0 !== i.indexOf("/") && -1 === i.indexOf("://") && (i = la.baseURL + "/" + i),
l[e] = i.substring(0, i.lastIndexOf("/"));
var a = function() {
u(e, "loaded"),
function(e, n, t, r) {
var o = c(e);
F(o, function(e) {
var t = s(n, e);
d(t.resource, t, undefined, undefined)
}),
t && (r ? t.call(r) : t.call(ra))
}(e, t, n, r)
};
f[e] ? a() : ra.ScriptLoader.add(i, a, r, o)
}
}
, e = function(e, t, n) {
void 0 === n && (n = "added"),
ee(f, e) && "added" === n ? t() : ee(l, e) && "loaded" === n ? t() : i.push({
name: e,
state: n,
callback: t
})
};
return {
items: o,
urls: l,
lookup: f,
_listeners: i,
get: function(e) {
return f[e] ? f[e].instance : undefined
},
dependencies: c,
requireLangPack: function(t, n) {
!1 !== la.languageLoad && e(t, function() {
var e = sa.getCode();
!e || n && -1 === ("," + (n || "") + ",").indexOf("," + e + ",") || ra.ScriptLoader.add(l[t] + "/langs/" + e + ".js")
}, "loaded")
},
add: function(e, t, n) {
var r = t;
return o.push(r),
f[e] = {
instance: r,
dependencies: n
},
u(e, "added"),
r
},
remove: function(e) {
delete l[e],
delete f[e]
},
createUrl: s,
addComponents: function(e, t) {
var n = r.urls[e];
F(t, function(e) {
ra.ScriptLoader.add(n + "/" + e)
})
},
load: d,
waitFor: e
}
}
(aa = la = la || {}).PluginManager = aa(),
aa.ThemeManager = aa();
function fa(n, r) {
var o = null;
return {
cancel: function() {
null !== o && (j.clearTimeout(o),
o = null)
},
throttle: function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
null === o && (o = j.setTimeout(function() {
n.apply(null, e),
o = null
}, r))
}
}
}
function da(n, r) {
var o = null;
return {
cancel: function() {
null !== o && (j.clearTimeout(o),
o = null)
},
throttle: function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
null !== o && j.clearTimeout(o),
o = j.setTimeout(function() {
n.apply(null, e),
o = null
}, r)
}
}
}
function ha(e, t) {
var n = Xe(e, t);
return n === undefined || "" === n ? [] : n.split(" ")
}
function ma(e) {
return e.dom().classList !== undefined
}
function ga(e, t) {
return function(e, t, n) {
var r = ha(e, t).concat([n]);
return en(e, t, r.join(" ")),
!0
}(e, "class", t)
}
function pa(e, t) {
return function(e, t, n) {
var r = U(ha(e, t), function(e) {
return e !== n
});
return 0 < r.length ? en(e, t, r.join(" ")) : Ye(e, t),
!1
}(e, "class", t)
}
function va(e, t) {
ma(e) ? e.dom().classList.add(t) : ga(e, t)
}
function ya(e) {
0 === (ma(e) ? e.dom().classList : function(e) {
return ha(e, "class")
}(e)).length && Ye(e, "class")
}
function ba(e, t) {
return ma(e) && e.dom().classList.contains(t)
}
function Ca(e, t) {
return function(e, t) {
var n = t === undefined ? j.document : t.dom();
return ge(n) ? [] : X(n.querySelectorAll(e), it.fromDom)
}(t, e)
}
var wa = la
, xa = function(e, t) {
var n = [];
return F(Ee(e), function(e) {
t(e) && (n = n.concat([e])),
n = n.concat(xa(e, t))
}),
n
};
function za(e, t, n, r, o) {
return e(n, r) ? R.some(n) : B(o) && o(n) ? R.none() : t(n, r, o)
}
function Ea(e, t, n) {
for (var r = e.dom(), o = B(n) ? n : $(!1); r.parentNode; ) {
r = r.parentNode;
var i = it.fromDom(r);
if (t(i))
return R.some(i);
if (o(i))
break
}
return R.none()
}
function Na(e, t, n) {
return za(function(e, t) {
return t(e)
}, Ea, e, t, n)
}
function Sa(e, t, n) {
return Ea(e, function(e) {
return me(e, t)
}, n)
}
function ka(e, t) {
return function(e, t) {
var n = t === undefined ? j.document : t.dom();
return ge(n) ? R.none() : R.from(n.querySelector(e)).map(it.fromDom)
}(t, e)
}
function Ta(e, t, n) {
return za(me, Sa, e, t, n)
}
function Aa(r, e) {
function t(e, t) {
return function(e, t) {
var n = e.dom();
return !(!n || !n.hasAttribute) && n.hasAttribute(t)
}(e, t) ? R.some(Xe(e, t)) : R.none()
}
var n = r.selection.getRng()
, o = it.fromDom(n.startContainer)
, i = it.fromDom(r.getBody())
, a = e.fold(function() {
return "." + cu()
}, function(e) {
return "[" + su() + '="' + e + '"]'
})
, u = Ne(o, n.startOffset).getOr(o);
return Ta(u, a, function(e) {
return pe(e, i)
}).bind(function(e) {
return t(e, "" + lu()).bind(function(n) {
return t(e, "" + su()).map(function(e) {
var t = fu(r, n);
return {
uid: n,
name: e,
elements: t
}
})
})
})
}
function Ma(n, e) {
function a(e, t) {
r(e, function(e) {
return t(e),
e
})
}
var o = at({})
, r = function(e, t) {
var n = o.get()
, r = t(n.hasOwnProperty(e) ? n[e] : {
listeners: [],
previous: at(R.none())
});
n[e] = r,
o.set(n)
}
, t = da(function() {
var e = o.get()
, t = function(e, t) {
var n = L.call(e, 0);
return n.sort(t),
n
}(Z(e));
F(t, function(e) {
r(e, function(o) {
var i = o.previous.get();
return Aa(n, R.some(e)).fold(function() {
i.isSome() && (function(t) {
a(t, function(e) {
F(e.listeners, function(e) {
return e(!1, t)
})
})
}(e),
o.previous.set(R.none()))
}, function(e) {
var t = e.uid
, n = e.name
, r = e.elements;
i.is(t) || (function(t, n, r) {
a(t, function(e) {
F(e.listeners, function(e) {
return e(!0, t, {
uid: n,
nodes: X(r, function(e) {
return e.dom()
})
})
})
})
}(n, t, r),
o.previous.set(R.some(t)))
}),
{
previous: o.previous,
listeners: o.listeners
}
})
})
}, 30);
return n.on("remove", function() {
t.cancel()
}),
n.on("NodeChange", function() {
t.throttle()
}),
{
addListener: function(e, t) {
r(e, function(e) {
return {
previous: e.previous,
listeners: e.listeners.concat([t])
}
})
}
}
}
function Ra(e, n) {
e.on("init", function() {
e.serializer.addNodeFilter("span", function(e) {
F(e, function(t) {
(function(e) {
return R.from(e.attr(su())).bind(n.lookup)
}
)(t).each(function(e) {
!1 === e.persistent && t.unwrap()
})
})
})
})
}
function _a(e, t) {
var n = ve(e).dom()
, r = it.fromDom(n.createDocumentFragment())
, o = function(e, t) {
var n = (t || j.document).createElement("div");
return n.innerHTML = e,
Ee(it.fromDom(n))
}(t, n);
Re(r, o),
_e(e),
Ht(e, r)
}
function Da(e, t) {
return it.fromDom(e.dom().cloneNode(t))
}
function Oa(e) {
return Da(e, !1)
}
function Ha(e) {
return Da(e, !0)
}
function Ba(e) {
return pu(e) && (e = e.parentNode),
gu(e) && e.hasAttribute("data-mce-caret")
}
function Pa(e) {
return pu(e) && mu.isZwsp(e.data)
}
function La(e) {
return Ba(e) || Pa(e)
}
function Va(e) {
return e.firstChild !== e.lastChild || !Qt.isBr(e.firstChild)
}
function Ia(e) {
var t = e.container();
return !(!e || !Qt.isText(t)) && (t.data.charAt(e.offset()) === mu.ZWSP || e.isAtStart() && Pa(t.previousSibling))
}
function Fa(e) {
var t = e.container();
return !(!e || !Qt.isText(t)) && (t.data.charAt(e.offset() - 1) === mu.ZWSP || e.isAtEnd() && Pa(t.nextSibling))
}
function Ua(e, t, n) {
var r, o;
return (r = t.ownerDocument.createElement(e)).setAttribute("data-mce-caret", n ? "before" : "after"),
r.setAttribute("data-mce-bogus", "all"),
r.appendChild(function() {
var e = j.document.createElement("br");
return e.setAttribute("data-mce-bogus", "1"),
e
}()),
o = t.parentNode,
n ? o.insertBefore(r, t) : t.nextSibling ? o.insertBefore(r, t.nextSibling) : o.appendChild(r),
r
}
function ja(e) {
return e && e.hasAttribute("data-mce-caret") ? (function(e) {
var t = e.getElementsByTagName("br")
, n = t[t.length - 1];
Qt.isBogus(n) && n.parentNode.removeChild(n)
}(e),
e.removeAttribute("data-mce-caret"),
e.removeAttribute("data-mce-bogus"),
e.removeAttribute("style"),
e.removeAttribute("_moz_abspos"),
e) : null
}
function qa(e) {
return !Su(e) && (xu(e) ? !zu(e.parentNode) : Eu(e) || wu(e) || Nu(e) || ku(e))
}
function $a(e, t) {
return qa(e) && function(e, t) {
for (e = e.parentNode; e && e !== t; e = e.parentNode) {
if (ku(e))
return !1;
if (bu(e))
return !0
}
return !0
}(e, t)
}
function Wa(e) {
return e ? {
left: Tu(e.left),
top: Tu(e.top),
bottom: Tu(e.bottom),
right: Tu(e.right),
width: Tu(e.width),
height: Tu(e.height)
} : {
left: 0,
top: 0,
bottom: 0,
right: 0,
width: 0,
height: 0
}
}
function Ka(e, t) {
return e = Wa(e),
t || (e.left = e.left + e.width),
e.right = e.left,
e.width = 0,
e
}
function Xa(e, t, n) {
return 0 <= e && e <= Math.min(t.height, n.height) / 2
}
function Ya(e, t) {
return e.bottom - e.height / 2 < t.top || !(e.top > t.bottom) && Xa(t.top - e.bottom, e, t)
}
function Ga(e, t) {
return e.top > t.bottom || !(e.bottom < t.top) && Xa(t.bottom - e.top, e, t)
}
function Za(e, t, n) {
return t >= e.left && t <= e.right && n >= e.top && n <= e.bottom
}
function Ja(e) {
var t = e.startContainer
, n = e.startOffset;
return t.hasChildNodes() && e.endOffset === n + 1 ? t.childNodes[n] : null
}
function Qa(e, t) {
return 1 === e.nodeType && e.hasChildNodes() && (t >= e.childNodes.length && (t = e.childNodes.length - 1),
e = e.childNodes[t]),
e
}
function eu(e) {
return "string" == typeof e && 768 <= e.charCodeAt(0) && Au.test(e)
}
function tu(e, t, n) {
return e.isSome() && t.isSome() ? R.some(n(e.getOrDie(), t.getOrDie())) : R.none()
}
function nu(e) {
return e && /[\r\n\t ]/.test(e)
}
function ru(e) {
return !!e.setStart && !!e.setEnd
}
function ou(e) {
var t, n = e.startContainer, r = e.startOffset;
return !!(nu(e.toString()) && Lu(n.parentNode) && Qt.isText(n) && (t = n.data,
nu(t[r - 1]) || nu(t[r + 1])))
}
function iu(e) {
return 0 === e.left && 0 === e.right && 0 === e.top && 0 === e.bottom
}
function au(e, t) {
var n = Ka(e, t);
return n.width = 1,
n.right = n.left + 1,
n
}
var uu, cu = $("mce-annotation"), su = $("data-mce-annotation"), lu = $("data-mce-annotation-uid"), fu = function(e, t) {
var n = it.fromDom(e.getBody());
return Ca(n, "[" + lu() + '="' + t + '"]')
}, du = 0, hu = jr, mu = {
isZwsp: function(e) {
return e === hu
},
ZWSP: hu,
trim: function(e) {
return e.replace(new RegExp(hu,"g"), "")
}
}, gu = Qt.isElement, pu = Qt.isText, vu = function(e) {
return pu(e) && e.data[0] === mu.ZWSP
}, yu = function(e) {
return pu(e) && e.data[e.data.length - 1] === mu.ZWSP
}, bu = Qt.isContentEditableTrue, Cu = Qt.isContentEditableFalse, wu = Qt.isBr, xu = Qt.isText, zu = Qt.matchNodeNames(["script", "style", "textarea"]), Eu = Qt.matchNodeNames(["img", "input", "textarea", "hr", "iframe", "video", "audio", "object"]), Nu = Qt.matchNodeNames(["table"]), Su = La, ku = function(e) {
return !1 === function(e) {
return Qt.isElement(e) && "true" === e.getAttribute("unselectable")
}(e) && Cu(e)
}, Tu = Math.round, Au = new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"), Mu = [].slice, Ru = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
var n = Mu.call(arguments);
return function(e) {
for (var t = 0; t < n.length; t++)
if (!n[t](e))
return !1;
return !0
}
}, _u = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
var n = Mu.call(arguments);
return function(e) {
for (var t = 0; t < n.length; t++)
if (n[t](e))
return !0;
return !1
}
}, Du = Qt.isElement, Ou = qa, Hu = Qt.matchStyleValues("display", "block table"), Bu = Qt.matchStyleValues("float", "left right"), Pu = Ru(Du, Ou, c(Bu)), Lu = c(Qt.matchStyleValues("white-space", "pre pre-line pre-wrap")), Vu = Qt.isText, Iu = Qt.isBr, Fu = Qi.nodeIndex, Uu = Qa, ju = function(e) {
return "createRange"in e ? e.createRange() : Qi.DOM.createRng()
}, qu = function(e) {
var t, n;
return t = 0 < (n = e.getClientRects()).length ? Wa(n[0]) : Wa(e.getBoundingClientRect()),
!ru(e) && Iu(e) && iu(t) ? function(e) {
var t, n = e.ownerDocument, r = ju(n), o = n.createTextNode(qr), i = e.parentNode;
return i.insertBefore(o, e),
r.setStart(o, 0),
r.setEnd(o, 1),
t = Wa(r.getBoundingClientRect()),
i.removeChild(o),
t
}(e) : iu(t) && ru(e) ? function(e) {
var t = e.startContainer
, n = e.endContainer
, r = e.startOffset
, o = e.endOffset;
if (t === n && Qt.isText(n) && 0 === r && 1 === o) {
var i = e.cloneRange();
return i.setEndAfter(n),
qu(i)
}
return null
}(e) : t
}, $u = function(e) {
function r(e) {
0 !== e.height && (0 < i.length && function(e, t) {
return e.left === t.left && e.top === t.top && e.bottom === t.bottom && e.right === t.right
}(e, i[i.length - 1]) || i.push(e))
}
function t(e, t) {
var n = ju(e.ownerDocument);
if (t < e.data.length) {
if (eu(e.data[t]))
return i;
if (eu(e.data[t - 1]) && (n.setStart(e, t),
n.setEnd(e, t + 1),
!ou(n)))
return r(au(qu(n), !1)),
i
}
0 < t && (n.setStart(e, t - 1),
n.setEnd(e, t),
ou(n) || r(au(qu(n), !1))),
t < e.data.length && (n.setStart(e, t),
n.setEnd(e, t + 1),
ou(n) || r(au(qu(n), !0)))
}
var n, o, i = [];
if (Vu(e.container()))
return t(e.container(), e.offset()),
i;
if (Du(e.container()))
if (e.isAtEnd())
o = Uu(e.container(), e.offset()),
Vu(o) && t(o, o.data.length),
Pu(o) && !Iu(o) && r(au(qu(o), !1));
else {
if (o = Uu(e.container(), e.offset()),
Vu(o) && t(o, 0),
Pu(o) && e.isAtEnd())
return r(au(qu(o), !1)),
i;
n = Uu(e.container(), e.offset() - 1),
Pu(n) && !Iu(n) && (!Hu(n) && !Hu(o) && Pu(o) || r(au(qu(n), !1))),
Pu(o) && r(au(qu(o), !0))
}
return i
};
function Wu(t, n, e) {
function r() {
return e = e || $u(Wu(t, n))
}
return {
container: $(t),
offset: $(n),
toRange: function() {
var e;
return (e = ju(t.ownerDocument)).setStart(t, n),
e.setEnd(t, n),
e
},
getClientRects: r,
isVisible: function() {
return 0 < r().length
},
isAtStart: function() {
return Vu(t),
0 === n
},
isAtEnd: function() {
return Vu(t) ? n >= t.data.length : n >= t.childNodes.length
},
isEqual: function(e) {
return e && t === e.container() && n === e.offset()
},
getNode: function(e) {
return Uu(t, e ? n - 1 : n)
}
}
}
(uu = Wu = Wu || {}).fromRangeStart = function(e) {
return uu(e.startContainer, e.startOffset)
}
,
uu.fromRangeEnd = function(e) {
return uu(e.endContainer, e.endOffset)
}
,
uu.after = function(e) {
return uu(e.parentNode, Fu(e) + 1)
}
,
uu.before = function(e) {
return uu(e.parentNode, Fu(e))
}
,
uu.isAbove = function(e, t) {
return tu(z(t.getClientRects()), E(e.getClientRects()), Ya).getOr(!1)
}
,
uu.isBelow = function(e, t) {
return tu(E(t.getClientRects()), z(e.getClientRects()), Ga).getOr(!1)
}
,
uu.isAtStart = function(e) {
return !!e && e.isAtStart()
}
,
uu.isAtEnd = function(e) {
return !!e && e.isAtEnd()
}
,
uu.isTextPosition = function(e) {
return !!e && Qt.isText(e.container())
}
,
uu.isElementPosition = function(e) {
return !1 === uu.isTextPosition(e)
}
;
function Ku(t) {
return function(e) {
return t === e
}
}
function Xu(e) {
return (Ic(e) ? "text()" : e.nodeName.toLowerCase()) + "[" + function(e) {
var r, t, n;
return r = qc(jc(e)),
t = Xn.findIndex(r, Ku(e), e),
r = r.slice(0, t + 1),
n = Xn.reduce(r, function(e, t, n) {
return Ic(t) && Ic(r[n - 1]) && e++,
e
}, 0),
r = Xn.filter(r, Qt.matchNodeNames([e.nodeName])),
(t = Xn.findIndex(r, Ku(e), e)) - n
}(e) + "]"
}
function Yu(e, t) {
var n, r, o, i, a, u = [];
return n = t.container(),
r = t.offset(),
Ic(n) ? o = function(e, t) {
for (; (e = e.previousSibling) && Ic(e); )
t += e.data.length;
return t
}(n, r) : (r >= (i = n.childNodes).length ? (o = "after",
r = i.length - 1) : o = "before",
n = i[r]),
u.push(Xu(n)),
a = function(e, t, n) {
var r = [];
for (t = t.parentNode; t !== e && (!n || !n(t)); t = t.parentNode)
r.push(t);
return r
}(e, n),
a = Xn.filter(a, c(Qt.isBogus)),
(u = u.concat(Xn.map(a, function(e) {
return Xu(e)
}))).reverse().join("/") + "," + o
}
function Gu(e, t) {
var n, r, o;
return t ? (t = (n = t.split(","))[0].split("/"),
o = 1 < n.length ? n[1] : "before",
(r = Xn.reduce(t, function(e, t) {
return (t = /([\w\-\(\)]+)\[([0-9]+)\]/.exec(t)) ? ("text()" === t[1] && (t[1] = "#text"),
function(e, t, n) {
var r = qc(e);
return r = Xn.filter(r, function(e, t) {
return !Ic(e) || !Ic(r[t - 1])
}),
(r = Xn.filter(r, Qt.matchNodeNames([t])))[n]
}(e, t[1], parseInt(t[2], 10))) : null
}, e)) ? Ic(r) ? function(e, t) {
for (var n, r = e, o = 0; Ic(r); ) {
if (n = r.data.length,
o <= t && t <= o + n) {
e = r,
t -= o;
break
}
if (!Ic(r.nextSibling)) {
e = r,
t = n;
break
}
o += n,
r = r.nextSibling
}
return Ic(e) && t > e.data.length && (t = e.data.length),
Vc(e, t)
}(r, parseInt(o, 10)) : (o = "after" === o ? Uc(r) + 1 : Uc(r),
Vc(r.parentNode, o)) : null) : null
}
function Zu(e, t) {
Qt.isText(t) && 0 === t.data.length && e.remove(t)
}
function Ju(e, t, n) {
Qt.isDocumentFragment(n) ? function(t, e, n) {
var r = R.from(n.firstChild)
, o = R.from(n.lastChild);
e.insertNode(n),
r.each(function(e) {
return Zu(t, e.previousSibling)
}),
o.each(function(e) {
return Zu(t, e.nextSibling)
})
}(e, t, n) : function(e, t, n) {
t.insertNode(n),
Zu(e, n.previousSibling),
Zu(e, n.nextSibling)
}(e, t, n)
}
function Qu(e, t, n, r, o) {
var i, a = r[o ? "startContainer" : "endContainer"], u = r[o ? "startOffset" : "endOffset"], c = [], s = 0, l = e.getRoot();
for (Qt.isText(a) ? c.push(n ? function(e, t, n) {
var r, o;
for (o = e(t.data.slice(0, n)).length,
r = t.previousSibling; r && Qt.isText(r); r = r.previousSibling)
o += e(r.data).length;
return o
}(t, a, u) : u) : (u >= (i = a.childNodes).length && i.length && (s = 1,
u = Math.max(0, i.length - 1)),
c.push(e.nodeIndex(i[u], n) + s)); a && a !== l; a = a.parentNode)
c.push(e.nodeIndex(a, n));
return c
}
function ec(e, t, n) {
var r = 0;
return Zn.each(e.select(t), function(e) {
if ("all" !== e.getAttribute("data-mce-bogus"))
return e !== n && void r++
}),
r
}
function tc(e, t) {
var n, r, o, i = t ? "start" : "end";
n = e[i + "Container"],
r = e[i + "Offset"],
Qt.isElement(n) && "TR" === n.nodeName && (n = (o = n.childNodes)[Math.min(t ? r : r - 1, o.length - 1)]) && (r = t ? 0 : n.childNodes.length,
e["set" + (t ? "Start" : "End")](n, r))
}
function nc(e) {
return tc(e, !0),
tc(e, !1),
e
}
function rc(e, t) {
var n;
if (Qt.isElement(e) && (e = Qa(e, t),
$c(e)))
return e;
if (La(e)) {
if (Qt.isText(e) && Ba(e) && (e = e.parentNode),
n = e.previousSibling,
$c(n))
return n;
if (n = e.nextSibling,
$c(n))
return n
}
}
function oc(e, t, n) {
var r = n.getNode()
, o = r ? r.nodeName : null
, i = n.getRng();
if ($c(r) || "IMG" === o)
return {
name: o,
index: ec(n.dom, o, r)
};
var a = function(e) {
return rc(e.startContainer, e.startOffset) || rc(e.endContainer, e.endOffset)
}(i);
return a ? {
name: o = a.tagName,
index: ec(n.dom, o, a)
} : function(e, t, n, r) {
var o = t.dom
, i = {};
return i.start = Qu(o, e, n, r, !0),
t.isCollapsed() || (i.end = Qu(o, e, n, r, !1)),
i
}(e, n, t, i)
}
function ic(e, t, n) {
var r = {
"data-mce-type": "bookmark",
id: t,
style: "overflow:hidden;line-height:0px"
};
return n ? e.create("span", r, "") : e.create("span", r)
}
function ac(e, t) {
var n = e.dom
, r = e.getRng()
, o = n.uniqueId()
, i = e.isCollapsed()
, a = e.getNode()
, u = a.nodeName;
if ("IMG" === u)
return {
name: u,
index: ec(n, u, a)
};
var c = nc(r.cloneRange());
if (!i) {
c.collapse(!1);
var s = ic(n, o + "_end", t);
Ju(n, c, s)
}
(r = nc(r)).collapse(!0);
var l = ic(n, o + "_start", t);
return Ju(n, r, l),
e.moveToBookmark({
id: o,
keep: 1
}),
{
id: o
}
}
function uc(e, t, n) {
function r(e) {
for (var t; (t = o[e]()) && !Qt.isText(t) && !n(t); )
;
return R.from(t).filter(Qt.isText)
}
void 0 === n && (n = s);
var o = new Fi(e,t);
return {
current: function() {
return R.from(o.current()).filter(Qt.isText)
},
next: function() {
return r("next")
},
prev: function() {
return r("prev")
},
prev2: function() {
return r("prev2")
}
}
}
function cc(t, e) {
var i = e || function(e) {
return t.isBlock(e) || Qt.isBr(e) || Qt.isContentEditableFalse(e)
}
, a = function(e, t, n, r) {
if (Qt.isText(e)) {
var o = r(e, t, e.data);
if (-1 !== o)
return R.some({
container: e,
offset: o
})
}
return n().bind(function(e) {
return a(e.container, e.offset, n, r)
})
};
return {
backwards: function(e, t, n, r) {
var o = uc(e, r, i);
return a(e, t, function() {
return o.prev().map(function(e) {
return {
container: e,
offset: e.length
}
})
}, n).getOrNull()
},
forwards: function(e, t, n, r) {
var o = uc(e, r, i);
return a(e, t, function() {
return o.next().map(function(e) {
return {
container: e,
offset: 0
}
})
}, n).getOrNull()
}
}
}
function sc(e) {
return Qt.isElement(e) && e.id === Kc
}
function lc(e, t) {
for (; t && t !== e; ) {
if (t.id === Kc)
return t;
t = t.parentNode
}
return null
}
function fc(e) {
var t = e.parentNode;
t && t.removeChild(e)
}
function dc(e, t) {
0 === t.length ? fc(e) : e.nodeValue = t
}
function hc(e) {
var t = mu.trim(e);
return {
count: e.length - t.length,
text: t
}
}
function mc(e, t) {
return Gc(e),
t
}
function gc(e, t) {
var n = t.container()
, r = function(e, t) {
var n = f(e, t);
return -1 === n ? R.none() : R.some(n)
}(G(n.childNodes), e).map(function(e) {
return e < t.offset() ? Vc(n, t.offset() - 1) : t
}).getOr(t);
return Gc(e),
r
}
function pc(e, t) {
return Yc(e) && t.container() === e ? function(e, t) {
var n = hc(e.data.substr(0, t.offset()))
, r = hc(e.data.substr(t.offset()))
, o = n.text + r.text;
return 0 < o.length ? (dc(e, o),
Vc(e, t.offset() - n.count)) : t
}(e, t) : mc(e, t)
}
function vc(e, t, n) {
var r = e.getParam(t, n);
if (-1 === r.indexOf("="))
return r;
var o = e.getParam(t, "", "hash");
return o.hasOwnProperty(e.id) ? o[e.id] : n
}
function yc(e, t, n) {
var r, o, i, a, u, c = Ka(t.getBoundingClientRect(), n);
return i = "BODY" === e.tagName ? (r = e.ownerDocument.documentElement,
o = e.scrollLeft || r.scrollLeft,
e.scrollTop || r.scrollTop) : (u = e.getBoundingClientRect(),
o = e.scrollLeft - u.left,
e.scrollTop - u.top),
c.left += o,
c.right += o,
c.top += i,
c.bottom += i,
c.width = 1,
0 < (a = t.offsetWidth - t.clientWidth) && (n && (a *= -1),
c.left += a,
c.right += a),
c
}
function bc(e, i, a, t) {
var n, u, c = at(R.none()), r = as(e), s = 0 < r.length ? r : "p", l = function() {
!function(e) {
var t, n, r, o, i;
for (t = Ii("*[contentEditable=false]", e),
o = 0; o < t.length; o++)
r = (n = t[o]).previousSibling,
yu(r) && (1 === (i = r.data).length ? r.parentNode.removeChild(r) : r.deleteData(i.length - 1, 1)),
r = n.nextSibling,
vu(r) && (1 === (i = r.data).length ? r.parentNode.removeChild(r) : r.deleteData(0, 1))
}(i),
u && (Zc.remove(u),
u = null),
c.get().each(function(e) {
Ii(e.caret).remove(),
c.set(R.none())
}),
Pn.clearInterval(n)
}, f = function() {
n = Pn.setInterval(function() {
t() ? Ii("div.mce-visual-caret", i).toggleClass("mce-visual-caret-hidden") : Ii("div.mce-visual-caret", i).addClass("mce-visual-caret-hidden")
}, 500)
};
return {
show: function(t, e) {
var n, r;
if (l(),
function(e) {
return Qt.isElement(e) && /^(TD|TH)$/i.test(e.tagName)
}(e))
return null;
if (!a(e))
return u = function(e, t) {
var n, r, o;
if (r = e.ownerDocument.createTextNode(mu.ZWSP),
o = e.parentNode,
t) {
if (n = e.previousSibling,
pu(n)) {
if (La(n))
return n;
if (yu(n))
return n.splitText(n.data.length - 1)
}
o.insertBefore(r, e)
} else {
if (n = e.nextSibling,
pu(n)) {
if (La(n))
return n;
if (vu(n))
return n.splitText(1),
n
}
e.nextSibling ? o.insertBefore(r, e.nextSibling) : o.appendChild(r)
}
return r
}(e, t),
r = e.ownerDocument.createRange(),
Ps(u.nextSibling) ? (r.setStart(u, 0),
r.setEnd(u, 0)) : (r.setStart(u, 1),
r.setEnd(u, 1)),
r;
u = Ua(s, e, t),
n = yc(i, e, t),
Ii(u).css("top", n.top);
var o = Ii('').css(n).appendTo(i)[0];
return c.set(R.some({
caret: o,
element: e,
before: t
})),
c.get().each(function(e) {
t && Ii(e.caret).addClass("mce-visual-caret-before")
}),
f(),
(r = e.ownerDocument.createRange()).setStart(u, 0),
r.setEnd(u, 0),
r
},
hide: l,
getCss: function() {
return ".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"
},
reposition: function() {
c.get().each(function(e) {
var t = yc(i, e.element, e.before);
Ii(e.caret).css(te({}, t))
})
},
destroy: function() {
return Pn.clearInterval(n)
}
}
}
function Cc() {
return Bs.isIE() || Bs.isEdge() || Bs.isFirefox()
}
function wc(e) {
return Ps(e) || Qt.isTable(e) && Cc()
}
function xc(e) {
return 0 < e
}
function zc(e) {
return e < 0
}
function Ec(e, t) {
for (var n; n = e(t); )
if (!Fs(n))
return n;
return null
}
function Nc(e, t, n, r, o) {
var i = new Fi(e,r);
if (zc(t)) {
if ((Ls(e) || Fs(e)) && n(e = Ec(i.prev, !0)))
return e;
for (; e = Ec(i.prev, o); )
if (n(e))
return e
}
if (xc(t)) {
if ((Ls(e) || Fs(e)) && n(e = Ec(i.next, !0)))
return e;
for (; e = Ec(i.next, o); )
if (n(e))
return e
}
return null
}
function Sc(e, t) {
for (; e && e !== t; ) {
if (Vs(e))
return e;
e = e.parentNode
}
return null
}
function kc(e, t, n) {
return Sc(e.container(), n) === Sc(t.container(), n)
}
function Tc(e, t) {
var n, r;
return t ? (n = t.container(),
r = t.offset(),
Us(n) ? n.childNodes[r + e] : null) : null
}
function Ac(e, t) {
var n = t.ownerDocument.createRange();
return e ? (n.setStartBefore(t),
n.setEndBefore(t)) : (n.setStartAfter(t),
n.setEndAfter(t)),
n
}
function Mc(e, t, n) {
var r, o, i, a;
for (o = e ? "previousSibling" : "nextSibling"; n && n !== t; ) {
if (r = n[o],
Is(r) && (r = r[o]),
Ls(r)) {
if (a = n,
Sc(r, i = t) === Sc(a, i))
return r;
break
}
if (js(r))
break;
n = n.parentNode
}
return null
}
function Rc(e, t, n) {
var r, o, i, a, u = d(Mc, !0, t), c = d(Mc, !1, t);
if (o = n.startContainer,
i = n.startOffset,
Ba(o)) {
if (Us(o) || (o = o.parentNode),
"before" === (a = o.getAttribute("data-mce-caret")) && (r = o.nextSibling,
wc(r)))
return qs(r);
if ("after" === a && (r = o.previousSibling,
wc(r)))
return $s(r)
}
if (!n.collapsed)
return n;
if (Qt.isText(o)) {
if (Is(o)) {
if (1 === e) {
if (r = c(o))
return qs(r);
if (r = u(o))
return $s(r)
}
if (-1 === e) {
if (r = u(o))
return $s(r);
if (r = c(o))
return qs(r)
}
return n
}
if (yu(o) && i >= o.data.length - 1)
return 1 === e && (r = c(o)) ? qs(r) : n;
if (vu(o) && i <= 1)
return -1 === e && (r = u(o)) ? $s(r) : n;
if (i === o.data.length)
return (r = c(o)) ? qs(r) : n;
if (0 === i)
return (r = u(o)) ? $s(r) : n
}
return n
}
function _c(e, t) {
return R.from(Tc(e ? 0 : -1, t)).filter(Ls)
}
function Dc(e, t, n) {
var r = Rc(e, t, n);
return -1 === e ? Wu.fromRangeStart(r) : Wu.fromRangeEnd(r)
}
function Oc(e) {
return R.from(e.getNode()).map(it.fromDom)
}
function Hc(e, t) {
for (; t = e(t); )
if (t.isVisible())
return t;
return t
}
function Bc(e, t) {
var n = kc(e, t);
return !(n || !Qt.isBr(e.getNode())) || n
}
var Pc, Lc, Vc = Wu, Ic = Qt.isText, Fc = Qt.isBogus, Uc = Qi.nodeIndex, jc = function(e) {
var t = e.parentNode;
return Fc(t) ? jc(t) : t
}, qc = function(e) {
return e ? Xn.reduce(e.childNodes, function(e, t) {
return Fc(t) && "BR" !== t.nodeName ? e = e.concat(qc(t)) : e.push(t),
e
}, []) : []
}, $c = Qt.isContentEditableFalse, Wc = {
getBookmark: function(e, t, n) {
return 2 === t ? oc(mu.trim, n, e) : 3 === t ? function(e) {
var t = e.getRng();
return {
start: Yu(e.dom.getRoot(), Vc.fromRangeStart(t)),
end: Yu(e.dom.getRoot(), Vc.fromRangeEnd(t))
}
}(e) : t ? function(e) {
return {
rng: e.getRng()
}
}(e) : ac(e, !1)
},
getUndoBookmark: d(oc, W, !0),
getPersistentBookmark: ac
}, Kc = "_mce_caret", Xc = Qt.isElement, Yc = Qt.isText, Gc = function(e) {
if (Xc(e) && La(e) && (Va(e) ? e.removeAttribute("data-mce-caret") : fc(e)),
Yc(e)) {
var t = mu.trim(function(e) {
try {
return e.nodeValue
} catch (t) {
return ""
}
}(e));
dc(e, t)
}
}, Zc = {
removeAndReposition: function(e, t) {
return Vc.isTextPosition(t) ? pc(e, t) : function(e, t) {
return t.container() === e.parentNode ? gc(e, t) : mc(e, t)
}(e, t)
},
remove: Gc
}, Jc = Qi.DOM, Qc = function(e) {
return e.getParam("iframe_attrs", {})
}, es = function(e) {
return e.getParam("doctype", "")
}, ts = function(e) {
return e.getParam("document_base_url", "")
}, ns = function(e) {
return vc(e, "body_id", "tinymce")
}, rs = function(e) {
return vc(e, "body_class", "")
}, os = function(e) {
return e.getParam("content_security_policy", "")
}, is = function(e) {
return e.getParam("br_in_pre", !0)
}, as = function(e) {
if (e.getParam("force_p_newlines", !1))
return "p";
var t = e.getParam("forced_root_block", "p");
return !1 === t ? "" : !0 === t ? "p" : t
}, us = function(e) {
return e.getParam("forced_root_block_attrs", {})
}, cs = function(e) {
return e.getParam("br_newline_selector", ".mce-toc h2,figcaption,caption")
}, ss = function(e) {
return e.getParam("no_newline_selector", "")
}, ls = function(e) {
return e.getParam("keep_styles", !0)
}, fs = function(e) {
return e.getParam("end_container_on_empty_block", !1)
}, ds = function(e) {
return Zn.explode(e.getParam("font_size_style_values", "xx-small,x-small,small,medium,large,x-large,xx-large"))
}, hs = function(e) {
return Zn.explode(e.getParam("font_size_classes", ""))
}, ms = function(e) {
return e.getParam("icons", "", "string")
}, gs = function(e) {
return e.getParam("icons_url", "", "string")
}, ps = function(e) {
return e.getParam("images_dataimg_filter", $(!0), "function")
}, vs = function(e) {
return e.getParam("automatic_uploads", !0, "boolean")
}, ys = function(e) {
return e.getParam("images_reuse_filename", !1, "boolean")
}, bs = function(e) {
return e.getParam("images_replace_blob_uris", !0, "boolean")
}, Cs = function(e) {
return e.getParam("images_upload_url", "", "string")
}, ws = function(e) {
return e.getParam("images_upload_base_path", "", "string")
}, xs = function(e) {
return e.getParam("images_upload_credentials", !1, "boolean")
}, zs = function(e) {
return e.getParam("images_upload_handler", null, "function")
}, Es = function(e) {
return e.getParam("content_css_cors", !1, "boolean")
}, Ns = function(e) {
return e.getParam("referrer_policy", "", "string")
}, Ss = function(e) {
return e.getParam("language", "en", "string")
}, ks = function(e) {
return e.getParam("language_url", "", "string")
}, Ts = function(e) {
return e.getParam("indent_use_margin", !1)
}, As = function(e) {
return e.getParam("indentation", "40px", "string")
}, Ms = function(e) {
var t = e.settings.content_css;
return K(t) ? X(t.split(","), ce) : D(t) ? t : !1 === t || e.inline ? [] : ["default"]
}, Rs = function(e) {
return e.getParam("directionality", sa.isRtl() ? "rtl" : undefined)
}, _s = function(e) {
return e.getParam("inline_boundaries_selector", "a[href],code,.mce-annotation", "string")
}, Ds = function(e) {
return e.getParam("object_resizing")
}, Os = function(e) {
return e.getParam("resize_img_proportional", !0, "boolean")
}, Hs = function(e) {
return e.getParam("placeholder", Jc.getAttrib(e.getElement(), "placeholder"), "string")
}, Bs = fe().browser, Ps = Qt.isContentEditableFalse, Ls = Qt.isContentEditableFalse, Vs = Qt.matchStyleValues("display", "block table table-cell table-caption list-item"), Is = La, Fs = Ba, Us = Qt.isElement, js = qa, qs = d(Ac, !0), $s = d(Ac, !1);
(Lc = Pc = Pc || {})[Lc.Backwards = -1] = "Backwards",
Lc[Lc.Forwards = 1] = "Forwards";
function Ws(e, t) {
return e.hasChildNodes() && t < e.childNodes.length ? e.childNodes[t] : null
}
function Ks(e, t) {
if (xc(e)) {
if (Ol(t.previousSibling) && !Rl(t.previousSibling))
return Vc.before(t);
if (Rl(t))
return Vc(t, 0)
}
if (zc(e)) {
if (Ol(t.nextSibling) && !Rl(t.nextSibling))
return Vc.after(t);
if (Rl(t))
return Vc(t, t.data.length)
}
return zc(e) ? Dl(t) ? Vc.before(t) : Vc.after(t) : Vc.before(t)
}
function Xs(t) {
return {
next: function(e) {
return Pl(Pc.Forwards, e, t)
},
prev: function(e) {
return Pl(Pc.Backwards, e, t)
}
}
}
function Ys(e) {
return Vc.isTextPosition(e) ? 0 === e.offset() : qa(e.getNode())
}
function Gs(e) {
if (Vc.isTextPosition(e)) {
var t = e.container();
return e.offset() === t.data.length
}
return qa(e.getNode(!0))
}
function Zs(e, t) {
return !Vc.isTextPosition(e) && !Vc.isTextPosition(t) && e.getNode() === t.getNode(!0)
}
function Js(e, t, n) {
return e ? !Zs(t, n) && !function(e) {
return !Vc.isTextPosition(e) && Qt.isBr(e.getNode())
}(t) && Gs(t) && Ys(n) : !Zs(n, t) && Ys(t) && Gs(n)
}
function Qs(t, n, r) {
return Ll(t, n, r).bind(function(e) {
return kc(r, e, n) && Js(t, r, e) ? Ll(t, n, e) : R.some(e)
})
}
function el(e, t) {
var n = e ? t.firstChild : t.lastChild;
return Qt.isText(n) ? R.some(Vc(n, e ? 0 : n.data.length)) : n ? qa(n) ? R.some(e ? Vc.before(n) : function(e) {
return Qt.isBr(e) ? Vc.before(e) : Vc.after(e)
}(n)) : function(e, t, n) {
var r = e ? Vc.before(n) : Vc.after(n);
return Ll(e, t, r)
}(e, t, n) : R.none()
}
function tl(e, t) {
return Qt.isElement(t) && e.isBlock(t) && !t.innerHTML && !Wn.ie && (t.innerHTML = '
'),
t
}
function nl(e, t) {
return Ul.lastPositionIn(e).fold(function() {
return !1
}, function(e) {
return t.setStart(e.container(), e.offset()),
t.setEnd(e.container(), e.offset()),
!0
})
}
function rl(e, t, n) {
return !(!function(e) {
return !1 === e.hasChildNodes()
}(t) || !lc(e, t)) && (function(e, t) {
var n = e.ownerDocument.createTextNode(mu.ZWSP);
e.appendChild(n),
t.setStart(n, 0),
t.setEnd(n, 0)
}(t, n),
!0)
}
function ol(e, t, n, r) {
var o, i, a, u, c = n[t ? "start" : "end"], s = e.getRoot();
if (c) {
for (a = c[0],
i = s,
o = c.length - 1; 1 <= o; o--) {
if (u = i.childNodes,
rl(s, i, r))
return !0;
if (c[o] > u.length - 1)
return !!rl(s, i, r) || nl(i, r);
i = u[c[o]]
}
3 === i.nodeType && (a = Math.min(c[0], i.nodeValue.length)),
1 === i.nodeType && (a = Math.min(c[0], i.childNodes.length)),
t ? r.setStart(i, a) : r.setEnd(i, a)
}
return !0
}
function il(e) {
return Qt.isText(e) && 0 < e.data.length
}
function al(e, t, n) {
var r, o, i, a, u, c, s = e.get(n.id + "_" + t), l = n.keep;
if (s) {
if (r = s.parentNode,
c = (u = (o = "start" === t ? l ? s.hasChildNodes() ? (r = s.firstChild,
1) : il(s.nextSibling) ? (r = s.nextSibling,
0) : il(s.previousSibling) ? (r = s.previousSibling,
s.previousSibling.data.length) : (r = s.parentNode,
e.nodeIndex(s) + 1) : e.nodeIndex(s) : l ? s.hasChildNodes() ? (r = s.firstChild,
1) : il(s.previousSibling) ? (r = s.previousSibling,
s.previousSibling.data.length) : (r = s.parentNode,
e.nodeIndex(s)) : e.nodeIndex(s),
r),
o),
!l) {
for (a = s.previousSibling,
i = s.nextSibling,
Zn.each(Zn.grep(s.childNodes), function(e) {
Qt.isText(e) && (e.nodeValue = e.nodeValue.replace(/\uFEFF/g, ""))
}); s = e.get(n.id + "_" + t); )
e.remove(s, !0);
a && i && a.nodeType === i.nodeType && Qt.isText(a) && !Wn.opera && (o = a.nodeValue.length,
a.appendData(i.nodeValue),
e.remove(i),
c = (u = a,
o))
}
return R.some(Vc(u, c))
}
return R.none()
}
function ul(e) {
return "" !== e && -1 !== " \f\n\r\t\x0B".indexOf(e)
}
function cl(e) {
return !ul(e) && !Kl(e)
}
function sl(e) {
return !!e.nodeType
}
function ll(e, t, n) {
var r, o, i, a = n.startOffset, u = n.startContainer;
if ((n.startContainer !== n.endContainer || !function(e) {
return e && /^(IMG)$/.test(e.nodeName)
}(n.startContainer.childNodes[n.startOffset])) && 1 === u.nodeType)
for (a < (i = u.childNodes).length ? (u = i[a],
r = new Fi(u,e.getParent(u, e.isBlock))) : (u = i[i.length - 1],
(r = new Fi(u,e.getParent(u, e.isBlock))).next(!0)),
o = r.current(); o; o = r.next())
if (3 === o.nodeType && !Xl(o))
return n.setStart(o, 0),
void t.setRng(n)
}
function fl(e, t, n) {
if (e) {
var r = t ? "nextSibling" : "previousSibling";
for (e = n ? e : e[r]; e; e = e[r])
if (1 === e.nodeType || !Xl(e))
return e
}
}
function dl(e, t) {
return sl(t) && (t = t.nodeName),
!!e.schema.getTextBlockElements()[t.toLowerCase()]
}
function hl(e, t, n) {
return e.schema.isValidChild(t, n)
}
function ml(e, n) {
return "string" != typeof e ? e = e(n) : n && (e = e.replace(/%(\w+)/g, function(e, t) {
return n[t] || e
})),
e
}
function gl(e, t) {
return e = "" + ((e = e || "").nodeName || e),
t = "" + ((t = t || "").nodeName || t),
e.toLowerCase() === t.toLowerCase()
}
function pl(e, t, n) {
return "color" !== n && "backgroundColor" !== n || (t = e.toHex(t)),
"fontWeight" === n && 700 === t && (t = "bold"),
"fontFamily" === n && (t = t.replace(/[\'\"]/g, "").replace(/,\s+/g, ",")),
"" + t
}
function vl(e, t, n) {
return pl(e, e.getStyle(t, n), n)
}
function yl(t, e) {
var n;
return t.getParent(e, function(e) {
return (n = t.getStyle(e, "text-decoration")) && "none" !== n
}),
n
}
function bl(e, t, n) {
return e.getParents(t, n, e.getRoot())
}
function Cl(e, t) {
for (var n = t; n; ) {
if (Qt.isElement(n) && e.getContentEditable(n))
return "false" === e.getContentEditable(n) ? n : t;
n = n.parentNode
}
return t
}
function wl(e, t, n, r) {
for (var o = t.data, i = n; e ? 0 <= i : i < o.length; e ? i-- : i++)
if (r(o.charAt(i)))
return e ? i + 1 : i;
return -1
}
function xl(e, t, n) {
return wl(e, t, n, function(e) {
return Kl(e) || ul(e)
})
}
function zl(e, t, n) {
return wl(e, t, n, cl)
}
function El(i, e, t, n, a, r) {
function o(e, t, n) {
var r = cc(i)
, o = a ? r.backwards : r.forwards;
return R.from(o(e, t, function(e, t) {
return Yl(e.parentNode) ? -1 : n(a, u = e, t)
}, c))
}
var u, c = i.getParent(t, i.isBlock) || e;
return o(t, n, xl).bind(function(e) {
return r ? o(e.container, e.offset + (a ? -1 : 0), zl) : R.some(e)
}).orThunk(function() {
return u ? R.some({
container: u,
offset: a ? 0 : u.length
}) : R.none()
})
}
function Nl(e, t, n, r, o) {
Qt.isText(r) && 0 === r.nodeValue.length && r[o] && (r = r[o]);
for (var i = Gl(e, r), a = 0; a < i.length; a++)
for (var u = 0; u < t.length; u++) {
var c = t[u];
if (!("collapsed"in c && c.collapsed !== n.collapsed) && e.is(i[a], c.selector))
return i[a]
}
return r
}
function Sl(t, e, n, r) {
var o, i = t.dom, a = i.getRoot();
if (e[0].wrapper || (o = i.getParent(n, e[0].block, a)),
!o) {
var u = i.getParent(n, "LI,TD,TH");
o = i.getParent(Qt.isText(n) ? n.parentNode : n, function(e) {
return e !== a && Jl(t, e)
}, u)
}
if (o && e[0].wrapper && (o = Gl(i, o, "ul,ol").reverse()[0] || o),
!o)
for (o = n; o[r] && !i.isBlock(o[r]) && (o = o[r],
!gl(o, "br")); )
;
return o || n
}
function kl(e, t, n, r, o, i, a) {
var u, c, s, l, f, d;
if (u = c = a ? n : o,
l = a ? "previousSibling" : "nextSibling",
f = e.getRoot(),
Qt.isText(u) && !Zl(u) && (a ? 0 < r : i < u.nodeValue.length))
return u;
for (; ; ) {
if (!t[0].block_expand && e.isBlock(c))
return c;
for (s = c[l]; s; s = s[l])
if (!Yl(s) && !Zl(s) && ("BR" !== (d = s).nodeName || !d.getAttribute("data-mce-bogus") || d.nextSibling))
return c;
if (c === f || c.parentNode === f) {
u = c;
break
}
c = c.parentNode
}
return u
}
function Tl(e, t, n, r) {
void 0 === r && (r = !1);
var o = t.startContainer
, i = t.startOffset
, a = t.endContainer
, u = t.endOffset
, c = e.dom;
return Qt.isElement(o) && o.hasChildNodes() && (o = Qa(o, i),
Qt.isText(o) && (i = 0)),
Qt.isElement(a) && a.hasChildNodes() && (a = Qa(a, t.collapsed ? u : u - 1),
Qt.isText(a) && (u = a.nodeValue.length)),
o = Cl(c, o),
a = Cl(c, a),
(Yl(o.parentNode) || Yl(o)) && (o = Yl(o) ? o : o.parentNode,
o = t.collapsed ? o.previousSibling || o : o.nextSibling || o,
Qt.isText(o) && (i = t.collapsed ? o.length : 0)),
(Yl(a.parentNode) || Yl(a)) && (a = Yl(a) ? a : a.parentNode,
a = t.collapsed ? a.nextSibling || a : a.previousSibling || a,
Qt.isText(a) && (u = t.collapsed ? 0 : a.length)),
t.collapsed && (El(c, e.getBody(), o, i, !0, r).each(function(e) {
var t = e.container
, n = e.offset;
o = t,
i = n
}),
El(c, e.getBody(), a, u, !1, r).each(function(e) {
var t = e.container
, n = e.offset;
a = t,
u = n
})),
(n[0].inline || n[0].block_expand) && (n[0].inline && Qt.isText(o) && 0 !== i || (o = kl(c, n, o, i, a, u, !0)),
n[0].inline && Qt.isText(a) && u !== a.nodeValue.length || (a = kl(c, n, o, i, a, u, !1))),
n[0].selector && !1 !== n[0].expand && !n[0].inline && (o = Nl(c, n, t, o, "previousSibling"),
a = Nl(c, n, t, a, "nextSibling")),
(n[0].block || n[0].selector) && (o = Sl(e, n, o, "previousSibling"),
a = Sl(e, n, a, "nextSibling"),
n[0].block && (c.isBlock(o) || (o = kl(c, n, o, i, a, u, !0)),
c.isBlock(a) || (a = kl(c, n, o, i, a, u, !1)))),
Qt.isElement(o) && (i = c.nodeIndex(o),
o = o.parentNode),
Qt.isElement(a) && (u = c.nodeIndex(a) + 1,
a = a.parentNode),
{
startContainer: o,
startOffset: i,
endContainer: a,
endOffset: u
}
}
var Al, Ml = Qt.isContentEditableFalse, Rl = Qt.isText, _l = Qt.isElement, Dl = Qt.isBr, Ol = qa, Hl = function(e) {
return Eu(e) || function(e) {
return !!ku(e) && !0 !== y(G(e.getElementsByTagName("*")), function(e, t) {
return e || bu(t)
}, !1)
}(e)
}, Bl = $a, Pl = function(e, t, n) {
var r, o, i, a, u;
if (!_l(n) || !t)
return null;
if (t.isEqual(Vc.after(n)) && n.lastChild) {
if (u = Vc.after(n.lastChild),
zc(e) && Ol(n.lastChild) && _l(n.lastChild))
return Dl(n.lastChild) ? Vc.before(n.lastChild) : u
} else
u = t;
var c = u.container()
, s = u.offset();
if (Rl(c)) {
if (zc(e) && 0 < s)
return Vc(c, --s);
if (xc(e) && s < c.length)
return Vc(c, ++s);
r = c
} else {
if (zc(e) && 0 < s && (o = Ws(c, s - 1),
Ol(o)))
return !Hl(o) && (i = Nc(o, e, Bl, o)) ? Rl(i) ? Vc(i, i.data.length) : Vc.after(i) : Rl(o) ? Vc(o, o.data.length) : Vc.before(o);
if (xc(e) && s < c.childNodes.length && (o = Ws(c, s),
Ol(o)))
return Dl(o) ? function(e, t) {
var n = t.nextSibling;
return n && Ol(n) ? Rl(n) ? Vc(n, 0) : Vc.before(n) : Pl(Pc.Forwards, Vc.after(t), e)
}(n, o) : !Hl(o) && (i = Nc(o, e, Bl, o)) ? Rl(i) ? Vc(i, 0) : Vc.before(i) : Rl(o) ? Vc(o, 0) : Vc.after(o);
r = o || u.getNode()
}
return (xc(e) && u.isAtEnd() || zc(e) && u.isAtStart()) && (r = Nc(r, e, $(!0), n, !0),
Bl(r, n)) ? Ks(e, r) : (o = Nc(r, e, Bl, n),
!(a = Xn.last(U(function(e, t) {
for (var n = []; e && e !== t; )
n.push(e),
e = e.parentNode;
return n
}(c, n), Ml))) || o && a.contains(o) ? o ? Ks(e, o) : null : u = xc(e) ? Vc.after(a) : Vc.before(a))
}, Ll = function(e, t, n) {
var r = Xs(t);
return R.from(e ? r.next(n) : r.prev(n))
}, Vl = function(t, n, e, r) {
return Qs(t, n, e).bind(function(e) {
return r(e) ? Vl(t, n, e, r) : R.some(e)
})
}, Il = d(Ll, !0), Fl = d(Ll, !1), Ul = {
fromPosition: Ll,
nextPosition: Il,
prevPosition: Fl,
navigate: Qs,
navigateIgnore: Vl,
positionIn: el,
firstPositionIn: d(el, !0),
lastPositionIn: d(el, !1)
}, jl = function(e, t) {
var n = e.dom;
if (t) {
if (function(e) {
return Zn.isArray(e.start)
}(t))
return function(e, t) {
var n = e.createRng();
return ol(e, !0, t, n) && ol(e, !1, t, n) ? R.some(n) : R.none()
}(n, t);
if (function(e) {
return "string" == typeof e.start
}(t))
return R.some(function(e, t) {
var n, r;
return n = e.createRng(),
r = Gu(e.getRoot(), t.start),
n.setStart(r.container(), r.offset()),
r = Gu(e.getRoot(), t.end),
n.setEnd(r.container(), r.offset()),
n
}(n, t));
if (function(e) {
return e.hasOwnProperty("id")
}(t))
return function(r, e) {
var t = al(r, "start", e)
, n = al(r, "end", e);
return tu(t, n.or(t), function(e, t) {
var n = r.createRng();
return n.setStart(tl(r, e.container()), e.offset()),
n.setEnd(tl(r, t.container()), t.offset()),
n
})
}(n, t);
if (function(e) {
return e.hasOwnProperty("name")
}(t))
return function(n, e) {
return R.from(n.select(e.name)[e.index]).map(function(e) {
var t = n.createRng();
return t.selectNode(e),
t
})
}(n, t);
if (function(e) {
return e.hasOwnProperty("rng")
}(t))
return R.some(t.rng)
}
return R.none()
}, ql = function(e, t, n) {
return Wc.getBookmark(e, t, n)
}, $l = function(t, e) {
jl(t, e).each(function(e) {
t.setRng(e)
})
}, Wl = function(e) {
return Qt.isElement(e) && "SPAN" === e.tagName && "bookmark" === e.getAttribute("data-mce-type")
}, Kl = (Al = qr,
function(e) {
return Al === e
}
), Xl = function(e) {
return e && Qt.isText(e) && /^([\t \r\n]+|)$/.test(e.nodeValue)
}, Yl = Wl, Gl = bl, Zl = Xl, Jl = dl, Ql = Zn.each, ef = function(e, t, u) {
var n = t.startContainer
, r = t.startOffset
, o = t.endContainer
, i = t.endOffset
, a = e.select("td[data-mce-selected],th[data-mce-selected]");
if (0 < a.length)
Ql(a, function(e) {
u([e])
});
else {
var c = function(e) {
var t;
return 3 === (t = e[0]).nodeType && t === n && r >= t.nodeValue.length && e.splice(0, 1),
t = e[e.length - 1],
0 === i && 0 < e.length && t === o && 3 === t.nodeType && e.splice(e.length - 1, 1),
e
}
, s = function(e, t, n) {
for (var r = []; e && e !== n; e = e[t])
r.push(e);
return r
}
, l = function(e, t) {
do {
if (e.parentNode === t)
return e;
e = e.parentNode
} while (e)
}
, f = function(e, t, n) {
for (var r = n ? "nextSibling" : "previousSibling", o = e, i = o.parentNode; o && o !== t; o = i) {
i = o.parentNode;
var a = s(o === e ? o : o[r], r);
a.length && (n || a.reverse(),
u(c(a)))
}
};
if (1 === n.nodeType && n.hasChildNodes() && (n = n.childNodes[r]),
1 === o.nodeType && o.hasChildNodes() && (o = function(e, t) {
var n = e.childNodes;
return --t > n.length - 1 ? t = n.length - 1 : t < 0 && (t = 0),
n[t] || e
}(o, i)),
n === o)
return u(c([n]));
for (var d = e.findCommonAncestor(n, o), h = n; h; h = h.parentNode) {
if (h === o)
return f(n, d, !0);
if (h === d)
break
}
for (h = o; h; h = h.parentNode) {
if (h === n)
return f(o, d);
if (h === d)
break
}
var m = l(n, d) || n
, g = l(o, d) || o;
f(n, m, !0);
var p = s(m === n ? m : m.nextSibling, "nextSibling", g === o ? g.nextSibling : g);
p.length && u(c(p)),
f(o, g)
}
};
function tf(e) {
return lf.get(e)
}
function nf(t, n, r, o) {
return be(n).fold(function() {
return "skipping"
}, function(e) {
return "br" === o || function(e) {
return Lt(e) && tf(e) === jr
}(n) ? "valid" : function(e) {
return Pt(e) && ba(e, cu())
}(n) ? "existing" : sc(n) ? "caret" : hl(t, r, o) && hl(t, Oe(e), r) ? "valid" : "invalid-child"
})
}
function rf(e, t, n, r) {
var o = t.uid
, i = void 0 === o ? function(e) {
var t = (new Date).getTime();
return e + "_" + Math.floor(1e9 * Math.random()) + ++du + String(t)
}("mce-annotation") : o
, a = function h(e, t) {
var n = {};
for (var r in e)
Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
if (null != e && "function" == typeof Object.getOwnPropertySymbols) {
var o = 0;
for (r = Object.getOwnPropertySymbols(e); o < r.length; o++)
t.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (n[r[o]] = e[r[o]])
}
return n
}(t, ["uid"])
, u = it.fromTag("span", e);
va(u, cu()),
en(u, "" + lu(), i),
en(u, "" + su(), n);
var c = r(i, a)
, s = c.attributes
, l = void 0 === s ? {} : s
, f = c.classes
, d = void 0 === f ? [] : f;
return Ke(u, l),
function(t, e) {
F(e, function(e) {
va(t, e)
})
}(u, d),
u
}
function of(n, e, t, r, o) {
function i() {
s.set(R.none())
}
function a(e) {
F(e, l)
}
var u = []
, c = rf(n.getDoc(), o, t, r)
, s = at(R.none())
, l = function(e) {
switch (nf(n, e, "span", Oe(e))) {
case "invalid-child":
i();
var t = Ee(e);
a(t),
i();
break;
case "valid":
!function(e, t) {
Te(e, t),
Ht(t, e)
}(e, s.get().getOrThunk(function() {
var e = Oa(c);
return u.push(e),
s.set(R.some(e)),
e
}))
}
};
return ef(n.dom, e, function(e) {
i(),
function(e) {
var t = X(e, it.fromDom);
a(t)
}(e)
}),
u
}
function af(o, i, a, u) {
o.undoManager.transact(function() {
var e = o.selection.getRng();
if (e.collapsed && function(e, t) {
var n = Tl(e, t, [{
inline: !0
}]);
t.setStart(n.startContainer, n.startOffset),
t.setEnd(n.endContainer, n.endOffset),
e.selection.setRng(t)
}(o, e),
o.selection.getRng().collapsed) {
var t = rf(o.getDoc(), u, i, a.decorate);
_a(t, qr),
o.selection.getRng().insertNode(t.dom()),
o.selection.select(t.dom())
} else {
var n = Wc.getPersistentBookmark(o.selection, !1)
, r = o.selection.getRng();
of(o, r, i, a.decorate, u),
o.selection.moveToBookmark(n)
}
})
}
function uf(r) {
var o = function() {
var n = {};
return {
register: function(e, t) {
n[e] = {
name: e,
settings: t
}
},
lookup: function(e) {
return n.hasOwnProperty(e) ? R.from(n[e]).map(function(e) {
return e.settings
}) : R.none()
}
}
}();
Ra(r, o);
var n = Ma(r);
return {
register: function(e, t) {
o.register(e, t)
},
annotate: function(t, n) {
o.lookup(t).each(function(e) {
af(r, t, e, n)
})
},
annotationChanged: function(e, t) {
n.addListener(e, t)
},
remove: function(e) {
Aa(r, R.some(e)).each(function(e) {
var t = e.elements;
F(t, De)
})
},
getAll: function(e) {
var t = function(e, t) {
var n = it.fromDom(e.getBody())
, r = Ca(n, "[" + su() + '="' + t + '"]')
, o = {};
return F(r, function(e) {
var t = Xe(e, lu())
, n = o.hasOwnProperty(t) ? o[t] : [];
o[t] = n.concat([e])
}),
o
}(r, e);
return S(t, function(e) {
return X(e, function(e) {
return e.dom()
})
})
}
}
}
function cf(e, t, n) {
var r = n ? "lastChild" : "firstChild"
, o = n ? "prev" : "next";
if (e[r])
return e[r];
if (e !== t) {
var i = e[o];
if (i)
return i;
for (var a = e.parent; a && a !== t; a = a.parent)
if (i = a[o])
return i
}
}
function sf(e) {
if (!ff.test(e.value))
return !1;
var t = e.parent;
return !t || "span" === t.name && !t.attr("style") || !/^[ ]+$/.test(e.value)
}
var lf = function BN(n, r) {
var t = function(e) {
return n(e) ? R.from(e.dom().nodeValue) : R.none()
};
return {
get: function(e) {
if (!n(e))
throw new Error("Can only get " + r + " value of a " + r + " node");
return t(e).getOr("")
},
getOption: t,
set: function(e, t) {
if (!n(e))
throw new Error("Can only set raw " + r + " value of a " + r + " node");
e.dom().nodeValue = t
}
}
}(Lt, "text")
, ff = /^[ \t\r\n]*$/
, df = {
"#text": 3,
"#comment": 8,
"#cdata": 4,
"#pi": 7,
"#doctype": 10,
"#document-fragment": 11
}
, hf = (mf.create = function(e, t) {
var n = new mf(e,df[e] || 1);
if (t)
for (var r in t)
n.attr(r, t[r]);
return n
}
,
mf.prototype.replace = function(e) {
return e.parent && e.remove(),
this.insert(e, this),
this.remove(),
this
}
,
mf.prototype.attr = function(e, t) {
var n;
if ("string" != typeof e) {
for (var r in e)
this.attr(r, e[r]);
return this
}
if (n = this.attributes) {
if (t === undefined)
return n.map[e];
if (null === t) {
if (e in n.map) {
delete n.map[e];
for (var o = n.length; o--; )
if (n[o].name === e)
return n.splice(o, 1),
this
}
return this
}
if (e in n.map) {
for (o = n.length; o--; )
if (n[o].name === e) {
n[o].value = t;
break
}
} else
n.push({
name: e,
value: t
});
return n.map[e] = t,
this
}
}
,
mf.prototype.clone = function() {
var e, t = new mf(this.name,this.type);
if (e = this.attributes) {
var n = [];
n.map = {};
for (var r = 0, o = e.length; r < o; r++) {
var i = e[r];
"id" !== i.name && (n[n.length] = {
name: i.name,
value: i.value
},
n.map[i.name] = i.value)
}
t.attributes = n
}
return t.value = this.value,
t.shortEnded = this.shortEnded,
t
}
,
mf.prototype.wrap = function(e) {
return this.parent.insert(e, this),
e.append(this),
this
}
,
mf.prototype.unwrap = function() {
for (var e = this.firstChild; e; ) {
var t = e.next;
this.insert(e, this, !0),
e = t
}
this.remove()
}
,
mf.prototype.remove = function() {
var e = this.parent
, t = this.next
, n = this.prev;
return e && (e.firstChild === this ? (e.firstChild = t) && (t.prev = null) : n.next = t,
e.lastChild === this ? (e.lastChild = n) && (n.next = null) : t.prev = n,
this.parent = this.next = this.prev = null),
this
}
,
mf.prototype.append = function(e) {
e.parent && e.remove();
var t = this.lastChild;
return t ? ((t.next = e).prev = t,
this.lastChild = e) : this.lastChild = this.firstChild = e,
e.parent = this,
e
}
,
mf.prototype.insert = function(e, t, n) {
e.parent && e.remove();
var r = t.parent || this;
return n ? (t === r.firstChild ? r.firstChild = e : t.prev.next = e,
e.prev = t.prev,
(e.next = t).prev = e) : (t === r.lastChild ? r.lastChild = e : t.next.prev = e,
e.next = t.next,
(e.prev = t).next = e),
e.parent = r,
e
}
,
mf.prototype.getAll = function(e) {
for (var t = [], n = this.firstChild; n; n = cf(n, this))
n.name === e && t.push(n);
return t
}
,
mf.prototype.empty = function() {
if (this.firstChild) {
for (var e = [], t = this.firstChild; t; t = cf(t, this))
e.push(t);
for (var n = e.length; n--; )
(t = e[n]).parent = t.firstChild = t.lastChild = t.next = t.prev = null
}
return this.firstChild = this.lastChild = null,
this
}
,
mf.prototype.isEmpty = function(e, t, n) {
void 0 === t && (t = {});
var r = this.firstChild;
if (r)
do {
if (1 === r.type) {
if (r.attr("data-mce-bogus"))
continue;
if (e[r.name])
return !1;
for (var o = r.attributes.length; o--; ) {
var i = r.attributes[o].name;
if ("name" === i || 0 === i.indexOf("data-mce-bookmark"))
return !1
}
}
if (8 === r.type)
return !1;
if (3 === r.type && !sf(r))
return !1;
if (3 === r.type && r.parent && t[r.parent.name] && ff.test(r.value))
return !1;
if (n && n(r))
return !1
} while (r = cf(r, this));
return !0
}
,
mf.prototype.walk = function(e) {
return cf(this, null, e)
}
,
mf);
function mf(e, t) {
this.name = e,
1 === (this.type = t) && (this.attributes = [],
this.attributes.map = {})
}
function gf(e, t, n) {
var r, o, i, a, u = 1;
for (a = e.getShortEndedElements(),
(i = /<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g).lastIndex = r = n; o = i.exec(t); ) {
if (r = i.lastIndex,
"/" === o[1])
u--;
else if (!o[1]) {
if (o[2]in a)
continue;
u++
}
if (0 === u)
break
}
return r
}
function pf(e, t) {
var n = e.exec(t);
if (n) {
var r = n[1]
, o = n[2];
return "string" == typeof r && "data-mce-bogus" === r.toLowerCase() ? o : null
}
return null
}
function vf(q, $) {
void 0 === $ && ($ = Pr());
function e() {}
!1 !== (q = q || {}).fix_self_closing && (q.fix_self_closing = !0);
var W = q.comment ? q.comment : e
, K = q.cdata ? q.cdata : e
, X = q.text ? q.text : e
, Y = q.start ? q.start : e
, G = q.end ? q.end : e
, Z = q.pi ? q.pi : e
, J = q.doctype ? q.doctype : e;
return {
parse: function(i, e) {
void 0 === e && (e = "html");
function t(e) {
var t, n;
for (t = B.length; t-- && B[t].name !== e; )
;
if (0 <= t) {
for (n = B.length - 1; t <= n; n--)
(e = B[n]).valid && G(e.name);
B.length = t
}
}
function a(e) {
"" !== e && (">" === e.charAt(0) && (e = " " + e),
q.allow_conditional_comments || "[if" !== e.substr(0, 3).toLowerCase() || (e = " " + e),
W(e))
}
function n(e, t) {
var n = e || ""
, r = !ue(n, "--")
, o = function(e, t, n) {
void 0 === n && (n = 0);
var r = e.toLowerCase();
if (-1 !== r.indexOf("[if ", n) && function(e, t) {
return /^\s*\[if [\w\W]+\]>.*/.test(e.substr(t))
}(r, n)) {
var o = r.indexOf("[endif]", n);
return r.indexOf(">", o)
}
if (t) {
var i = r.indexOf(">", n);
return -1 !== i ? i : r.length
}
var a = /--!?>/;
a.lastIndex = n;
var u = a.exec(e);
return u ? u.index + u[0].length : r.length
}(i, r, t);
return e = i.substr(t, o - t),
a(r ? n + e : e),
o + 1
}
function r(e, t, n, r, o) {
var i, a;
if (n = (t = t.toLowerCase())in p ? t : L(n || r || o || ""),
y && !h && !1 === function(e) {
return 0 === e.indexOf("data-") || 0 === e.indexOf("aria-")
}(t)) {
if (!(i = z[t]) && E) {
for (a = E.length; a-- && !(i = E[a]).pattern.test(t); )
;
-1 === a && (i = null)
}
if (!i)
return;
if (i.validValues && !(n in i.validValues))
return
}
if (V[t] && !q.allow_script_urls) {
var u = n.replace(/[\s\u0000-\u001F]+/g, "");
try {
u = decodeURIComponent(u)
} catch (c) {
u = unescape(u)
}
if (I.test(u))
return;
if (function(e, t) {
return !e.allow_html_data_urls && (/^data:image\//i.test(t) ? !1 === e.allow_svg_data_urls && /^data:image\/svg\+xml/i.test(t) : /^data:/i.test(t))
}(q, u))
return
}
h && (t in V || 0 === t.indexOf("on")) || (s.map[t] = n,
s.push({
name: t,
value: n
}))
}
var o, u, c, s, l, f, d, h, m, g, p, v, y, b, C, w, x, z, E, N, S, k, T, A, M, R, _, D, O, H = 0, B = [], P = 0, L = Sr.decode, V = Zn.makeMap("src,href,data,background,formaction,poster,xlink:href"), I = /((java|vb)script|mhtml):/i, F = "html" === e ? 0 : 1;
for (M = new RegExp("<(?:(?:!--([\\w\\W]*?)--!?>)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:![Dd][Oo][Cc][Tt][Yy][Pp][Ee]([\\w\\W]*?)>)|(?:!(--)?)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),
R = /([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,
g = $.getShortEndedElements(),
A = q.self_closing_elements || $.getSelfClosingElements(),
p = $.getBoolAttrs(),
y = q.validate,
m = q.remove_internals,
O = q.fix_self_closing,
_ = $.getSpecialElements(),
T = i + ">"; o = M.exec(T); ) {
var U = o[0];
if (H < o.index && X(L(i.substr(H, o.index - H))),
u = o[7])
":" === (u = u.toLowerCase()).charAt(0) && (u = u.substr(1)),
t(u);
else if (u = o[8]) {
if (o.index + U.length > i.length) {
X(L(i.substr(o.index))),
H = o.index + U.length;
continue
}
":" === (u = u.toLowerCase()).charAt(0) && (u = u.substr(1)),
v = u in g,
O && A[u] && 0 < B.length && B[B.length - 1].name === u && t(u);
var j = pf(R, o[9]);
if (null !== j) {
if ("all" === j) {
H = gf($, i, M.lastIndex),
M.lastIndex = H;
continue
}
C = !1
}
if (!y || (b = $.getElementRule(u))) {
if (C = !0,
y && (z = b.attributes,
E = b.attributePatterns),
(x = o[9]) ? ((h = -1 !== x.indexOf("data-mce-type")) && m && (C = !1),
(s = []).map = {},
x.replace(R, r)) : (s = []).map = {},
y && !h) {
if (N = b.attributesRequired,
S = b.attributesDefault,
k = b.attributesForced,
b.removeEmptyAttrs && !s.length && (C = !1),
k)
for (l = k.length; l--; )
d = (w = k[l]).name,
"{$uid}" === (D = w.value) && (D = "mce_" + P++),
s.map[d] = D,
s.push({
name: d,
value: D
});
if (S)
for (l = S.length; l--; )
(d = (w = S[l]).name)in s.map || ("{$uid}" === (D = w.value) && (D = "mce_" + P++),
s.map[d] = D,
s.push({
name: d,
value: D
}));
if (N) {
for (l = N.length; l-- && !(N[l]in s.map); )
;
-1 === l && (C = !1)
}
if (w = s.map["data-mce-bogus"]) {
if ("all" === w) {
H = gf($, i, M.lastIndex),
M.lastIndex = H;
continue
}
C = !1
}
}
C && Y(u, s, v)
} else
C = !1;
if (c = _[u]) {
c.lastIndex = H = o.index + U.length,
H = (o = c.exec(i)) ? (C && (f = i.substr(H, o.index - H)),
o.index + o[0].length) : (f = i.substr(H),
i.length),
C && (0 < f.length && X(f, !0),
G(u)),
M.lastIndex = H;
continue
}
v || (x && x.indexOf("/") === x.length - 1 ? C && G(u) : B.push({
name: u,
valid: C
}))
} else if (u = o[1])
a(u);
else if (u = o[2]) {
if (!(1 == F || q.preserve_cdata || 0 < B.length && $.isValidChild(B[B.length - 1].name, "#cdata"))) {
H = n("", o.index + 2),
M.lastIndex = H;
continue
}
K(u)
} else if (u = o[3])
J(u);
else {
if ((u = o[4]) || "]*data-mce-bogus="all"[^>]*>/g, s = e.schema;
for (u = function(e, t) {
var n = new RegExp(["\\s?(" + e.join("|") + ')="[^"]+"'].join("|"),"gi");
return t.replace(n, "")
}(e.getTempAttrs(), u),
a = s.getShortEndedElements(); i = c.exec(u); )
r = c.lastIndex,
o = i[0].length,
n = a[i[1]] ? r : fd.findEndTag(s, u, r),
u = u.substring(0, r - o) + u.substring(n),
c.lastIndex = r - o;
return mu.trim(u)
}
function bf(e, t, n) {
var r;
if (t.format = t.format ? t.format : "html",
t.get = !0,
t.getInner = !0,
t.no_events || e.fire("BeforeGetContent", t),
"raw" === t.format)
r = Zn.trim(dd.trimExternal(e.serializer, n.innerHTML));
else if ("text" === t.format)
r = mu.trim(n.innerText || n.textContent);
else {
if ("tree" === t.format)
return e.serializer.serialize(n, t);
r = function(e, t) {
var n = as(e)
, r = new RegExp("^(<" + n + "[^>]*>( | |\\s|\xa0|
|)<\\/" + n + ">[\r\n]*|
[\r\n]*)$");
return t.replace(r, "")
}(e, e.serializer.serialize(n, t))
}
return "text" === t.format || hr(it.fromDom(n)) ? t.content = r : t.content = Zn.trim(r),
t.no_events || e.fire("GetContent", t),
t.content
}
function Cf(e) {
var u, c, s, l, f, d = [];
return u = (e = e || {}).indent,
c = hd(e.indent_before || ""),
s = hd(e.indent_after || ""),
l = Sr.getEncodeFunc(e.entity_encoding || "raw", e.entities),
f = "html" === e.element_format,
{
start: function(e, t, n) {
var r, o, i, a;
if (u && c[e] && 0 < d.length && 0 < (a = d[d.length - 1]).length && "\n" !== a && d.push("\n"),
d.push("<", e),
t)
for (r = 0,
o = t.length; r < o; r++)
i = t[r],
d.push(" ", i.name, '="', l(i.value, !0), '"');
d[d.length] = !n || f ? ">" : " />",
n && u && s[e] && 0 < d.length && 0 < (a = d[d.length - 1]).length && "\n" !== a && d.push("\n")
},
end: function(e) {
var t;
d.push("", e, ">"),
u && s[e] && 0 < d.length && 0 < (t = d[d.length - 1]).length && "\n" !== t && d.push("\n")
},
text: function(e, t) {
0 < e.length && (d[d.length] = t ? e : l(e))
},
cdata: function(e) {
d.push("")
},
comment: function(e) {
d.push("\x3c!--", e, "--\x3e")
},
pi: function(e, t) {
t ? d.push("", e, " ", l(t), "?>") : d.push("", e, "?>"),
u && d.push("\n")
},
doctype: function(e) {
d.push("", u ? "\n" : "")
},
reset: function() {
d.length = 0
},
getContent: function() {
return d.join("").replace(/\n$/, "")
}
}
}
function wf(t, m) {
void 0 === m && (m = Pr());
var g = Cf(t);
return (t = t || {}).validate = !("validate"in t) || t.validate,
{
serialize: function(e) {
var f, d;
d = t.validate,
f = {
3: function(e) {
g.text(e.value, e.raw)
},
8: function(e) {
g.comment(e.value)
},
7: function(e) {
g.pi(e.name, e.value)
},
10: function(e) {
g.doctype(e.value)
},
4: function(e) {
g.cdata(e.value)
},
11: function(e) {
if (e = e.firstChild)
for (; h(e),
e = e.next; )
;
}
},
g.reset();
var h = function(e) {
var t, n, r, o, i, a, u, c, s, l = f[e.type];
if (l)
l(e);
else {
if (t = e.name,
n = e.shortEnded,
r = e.attributes,
d && r && 1 < r.length && ((a = []).map = {},
s = m.getElementRule(e.name))) {
for (u = 0,
c = s.attributesOrder.length; u < c; u++)
(o = s.attributesOrder[u])in r.map && (i = r.map[o],
a.map[o] = i,
a.push({
name: o,
value: i
}));
for (u = 0,
c = r.length; u < c; u++)
(o = r[u].name)in a.map || (i = r.map[o],
a.map[o] = i,
a.push({
name: o,
value: i
}));
r = a
}
if (g.start(e.name, r, n),
!n) {
if (e = e.firstChild)
for (; h(e),
e = e.next; )
;
g.end(t)
}
}
};
return 1 !== e.type || t.inner ? f[11](e) : h(e),
g.getContent()
}
}
}
function xf(e, t, n) {
var r = function(e, n, t) {
var r = {}
, o = {}
, i = [];
for (var a in t.firstChild && md(t.firstChild, function(t) {
F(e, function(e) {
e.name === t.name && (r[e.name] ? r[e.name].nodes.push(t) : r[e.name] = {
filter: e,
nodes: [t]
})
}),
F(n, function(e) {
"string" == typeof t.attr(e.name) && (o[e.name] ? o[e.name].nodes.push(t) : o[e.name] = {
filter: e,
nodes: [t]
})
})
}),
r)
r.hasOwnProperty(a) && i.push(r[a]);
for (var u in o)
o.hasOwnProperty(u) && i.push(o[u]);
return i
}(e, t, n);
F(r, function(t) {
F(t.filter.callbacks, function(e) {
e(t.nodes, t.filter.name, {})
})
})
}
function zf(e) {
var t = ve(e).dom();
return e.dom() === t.activeElement
}
function Ef(e) {
var t = e !== undefined ? e.dom() : j.document;
return R.from(t.activeElement).map(it.fromDom)
}
function Nf(e, t) {
var n = Lt(t) ? tf(t).length : Ee(t).length + 1;
return n < e ? n : e < 0 ? 0 : e
}
function Sf(e) {
return Cd.range(e.start(), Nf(e.soffset(), e.start()), e.finish(), Nf(e.foffset(), e.finish()))
}
function kf(e, t) {
return !Qt.isRestrictedNode(t.dom()) && (Ot(e, t) || pe(e, t))
}
function Tf(t) {
return function(e) {
return kf(t, e.start()) && kf(t, e.finish())
}
}
function Af(e) {
return !0 === e.inline || wd.isIE()
}
function Mf(e) {
return Cd.range(it.fromDom(e.startContainer), e.startOffset, it.fromDom(e.endContainer), e.endOffset)
}
function Rf(e) {
var t = e.getSelection();
return (t && 0 !== t.rangeCount ? R.from(t.getRangeAt(0)) : R.none()).map(Mf)
}
function _f(e) {
var t = ye(e);
return Rf(t.dom()).filter(Tf(e))
}
function Df(e, t) {
return R.from(t).filter(Tf(e)).map(Sf)
}
function Of(e) {
var t = j.document.createRange();
try {
return t.setStart(e.start().dom(), e.soffset()),
t.setEnd(e.finish().dom(), e.foffset()),
R.some(t)
} catch (n) {
return R.none()
}
}
function Hf(t) {
return (t.bookmark ? t.bookmark : R.none()).bind(function(e) {
return Df(it.fromDom(t.getBody()), e)
}).bind(Of)
}
function Bf(t, e) {
fe().browser.isIE() ? function(e) {
e.on("focusout", function() {
xd(e)
})
}(t) : function(e, t) {
e.on("mouseup touchend", function(e) {
t.throttle()
})
}(t, e),
t.on("keyup NodeChange", function(e) {
!function(e) {
return "nodechange" === e.type && e.selectionChange
}(e) && xd(t)
})
}
function Pf(e) {
return Nd.isEditorUIElement(e)
}
function Lf(t, e) {
var n = t ? t.settings.custom_ui_selector : "";
return null !== kd.getParent(e, function(e) {
return Pf(e) || !!n && t.dom.is(e, n)
})
}
function Vf(r, e) {
var t = e.editor;
Sd(t),
t.on("focusin", function() {
var e = r.focusedEditor;
e !== this && (e && e.fire("blur", {
focusedEditor: this
}),
r.setActive(this),
(r.focusedEditor = this).fire("focus", {
blurredEditor: e
}),
this.focus(!0))
}),
t.on("focusout", function() {
var t = this;
Pn.setEditorTimeout(t, function() {
var e = r.focusedEditor;
Lf(t, function() {
try {
return j.document.activeElement
} catch (e) {
return j.document.body
}
}()) || e !== t || (t.fire("blur", {
focusedEditor: null
}),
r.focusedEditor = null)
})
}),
cd || (cd = function(e) {
var t, n = r.activeEditor;
t = e.target,
n && t.ownerDocument === j.document && (t === j.document.body || Lf(n, t) || r.focusedEditor !== n || (n.fire("blur", {
focusedEditor: null
}),
r.focusedEditor = null))
}
,
kd.bind(j.document, "focusin", cd))
}
function If(e, t) {
e.focusedEditor === t.editor && (e.focusedEditor = null),
e.activeEditor || (kd.unbind(j.document, "focusin", cd),
cd = null)
}
function Ff(t, e) {
return function(e) {
return e.collapsed ? R.from(Qa(e.startContainer, e.startOffset)).map(it.fromDom) : R.none()
}(e).bind(function(e) {
return fr(e) ? R.some(e) : !1 === Ot(t, e) ? R.some(t) : R.none()
})
}
function Uf(t, e) {
Ff(it.fromDom(t.getBody()), e).bind(function(e) {
return Ul.firstPositionIn(e.dom())
}).fold(function() {
t.selection.normalize()
}, function(e) {
return t.selection.setRng(e.toRange())
})
}
function jf(e) {
if (e.setActive)
try {
e.setActive()
} catch (t) {
e.focus()
}
else
e.focus()
}
function qf(e) {
return zf(e) || function(t) {
return Ef(ve(t)).filter(function(e) {
return t.dom().contains(e.dom())
})
}(e).isSome()
}
function $f(e) {
return e.inline ? function(e) {
var t = e.getBody();
return t && qf(it.fromDom(t))
}(e) : function(e) {
return e.iframeElement && zf(it.fromDom(e.iframeElement))
}(e)
}
function Wf(e) {
return e instanceof hf
}
function Kf(e, t) {
e.dom.setHTML(e.getBody(), t),
function(r) {
Dd(r) && Ul.firstPositionIn(r.getBody()).each(function(e) {
var t = e.getNode()
, n = Qt.isTable(t) ? Ul.firstPositionIn(t).getOr(e) : e;
r.selection.setRng(n.toRange())
})
}(e)
}
function Xf(t, n, r) {
return void 0 === r && (r = {}),
r.format = r.format ? r.format : "html",
r.set = !0,
r.content = Wf(n) ? "" : n,
Wf(n) || r.no_events || (t.fire("BeforeSetContent", r),
n = r.content),
R.from(t.getBody()).fold($(n), function(e) {
return Wf(n) ? function(e, t, n, r) {
xf(e.parser.getNodeFilters(), e.parser.getAttributeFilters(), n);
var o = wf({
validate: e.validate
}, e.schema).serialize(n);
return r.content = hr(it.fromDom(t)) ? o : Zn.trim(o),
Kf(e, r.content),
r.no_events || e.fire("SetContent", r),
n
}(t, e, n, r) : function(e, t, n, r) {
var o, i;
return 0 === n.length || /^\s+$/.test(n) ? (i = '
',
"TABLE" === t.nodeName ? n = "" + i + " |
" : /^(UL|OL)$/.test(t.nodeName) && (n = "" + i + ""),
n = (o = as(e)) && e.schema.isValidChild(t.nodeName.toLowerCase(), o.toLowerCase()) ? (n = i,
e.dom.createHTML(o, e.settings.forced_root_block_attrs, n)) : n || '
',
Kf(e, n),
e.fire("SetContent", r)) : ("raw" !== r.format && (n = wf({
validate: e.validate
}, e.schema).serialize(e.parser.parse(n, {
isRootContent: !0,
insert: !0
}))),
r.content = hr(it.fromDom(t)) ? n : Zn.trim(n),
Kf(e, r.content),
r.no_events || e.fire("SetContent", r)),
r.content
}(t, e, n, r)
})
}
function Yf(e) {
return R.from(e).each(function(e) {
return e.destroy()
})
}
function Gf(e) {
if (!e.removed) {
var t = e._selectionOverrides
, n = e.editorUpload
, r = e.getBody()
, o = e.getElement();
r && e.save({
is_removing: !0
}),
e.removed = !0,
e.unbindAllNativeEvents(),
e.hasHiddenInput && o && Hd.remove(o.nextSibling),
function(e) {
e.fire("remove")
}(e),
e.editorManager.remove(e),
!e.inline && r && function(e) {
Hd.setStyle(e.id, "display", e.orgDisplay)
}(e),
function(e) {
e.fire("detach")
}(e),
Hd.remove(e.getContainer()),
Yf(t),
Yf(n),
e.destroy()
}
}
function Zf(e, t) {
var n = e.selection
, r = e.dom;
e.destroyed || (t || e.removed ? (t || (e.editorManager.off("beforeunload", e._beforeUnload),
e.theme && e.theme.destroy && e.theme.destroy(),
Yf(n),
Yf(r)),
function(e) {
var t = e.formElement;
t && (t._mceOldSubmit && (t.submit = t._mceOldSubmit,
t._mceOldSubmit = null),
Hd.unbind(t, "submit reset", e.formEventDelegate))
}(e),
function(e) {
e.contentAreaContainer = e.formElement = e.container = e.editorContainer = null,
e.bodyElement = e.contentDocument = e.contentWindow = null,
e.iframeElement = e.targetElm = null,
e.selection && (e.selection = e.selection.win = e.selection.dom = e.selection.dom.doc = null)
}(e),
e.destroyed = !0) : e.remove())
}
function Jf(e) {
var t = D(e) ? e.join(" ") : e
, n = X(K(t) ? t.split(" ") : [], ce);
return U(n, function(e) {
return 0 < e.length
})
}
function Qf(e, t) {
return e.sections().hasOwnProperty(t)
}
function ed(e, t) {
return A(e, "toolbar_mode").orThunk(function() {
return A(e, "toolbar_drawer").map(function(e) {
return !1 === e ? "wrap" : e
})
}).getOr(t)
}
function td(e, t, n, r) {
var o = Jf(n.forced_plugins)
, i = Jf(r.plugins)
, a = function(e, t) {
return Qf(e, t) ? e.sections()[t] : {}
}(t, "mobile")
, u = a.plugins ? Jf(a.plugins) : i
, c = function(e, t) {
return [].concat(Jf(e)).concat(Jf(t))
}(o, e && function(e, t, n) {
var r = e.sections();
return Qf(e, t) && r[t].theme === n
}(t, "mobile", "mobile") ? function(e) {
return U(e, d(h, jd))
}(u) : e && Qf(t, "mobile") ? u : i);
return Zn.extend(r, {
plugins: c.join(" ")
})
}
function nd(e, t, n, r, o) {
var i = e ? {
mobile: function(e, t) {
var n = {
resize: !1,
toolbar_mode: ed(e, "scrolling"),
toolbar_sticky: !1
};
return te(te(te({}, qd), n), t ? {
menubar: !1
} : {})
}(o, t)
} : {}
, a = function(n, e) {
var t = T(e, function(e, t) {
return h(n, t)
});
return Ld(t.t, t.f)
}(["mobile"], Pd(i, o))
, u = Zn.extend(n, r, a.settings(), function(e, t) {
return e && Qf(t, "mobile")
}(e, a) ? function(e, t, n) {
void 0 === n && (n = {});
var r = e.sections()
, o = r.hasOwnProperty(t) ? r[t] : {};
return Zn.extend({}, n, o)
}(a, "mobile") : {}, {
validate: !0,
external_plugins: function(e, t) {
var n = t.external_plugins ? t.external_plugins : {};
return e && e.external_plugins ? Zn.extend({}, e.external_plugins, n) : n
}(r, a.settings())
});
return td(e, a, r, u)
}
function rd(e, t, n, r, o) {
var i = function(e, t, n, r, o) {
var i = {
id: t,
theme: "silver",
toolbar_mode: ed(e, "floating"),
plugins: "",
document_base_url: n,
add_form_submit_trigger: !0,
submit_patch: !0,
add_unload_trigger: !0,
convert_urls: !0,
relative_urls: !0,
remove_script_host: !0,
object_resizing: !0,
doctype: "",
visual: !0,
font_size_legacy_values: "xx-small,small,medium,large,x-large,xx-large,300%",
forced_root_block: "p",
hidden_input: !0,
inline_styles: !0,
convert_fonts_to_spans: !0,
indent: !0,
indent_before: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",
indent_after: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",
entity_encoding: "named",
url_converter: o.convertURL,
url_converter_scope: o
};
return te(te({}, i), r ? qd : {})
}(o, t, n, Id, e);
return nd(Fd || Ud, Fd, i, r, o)
}
function od(e, t, n) {
return R.from(t.settings[n]).filter(e)
}
function id(e, t, n, r) {
var o = t in e.settings ? e.settings[t] : n;
return "hash" === r ? function(e) {
var n = {};
return "string" == typeof e ? F(0 < e.indexOf("=") ? e.split(/[;,](?![^=;,]*(?:[;,]|$))/) : e.split(","), function(e) {
var t = e.split("=");
1 < t.length ? n[Zn.trim(t[0])] = Zn.trim(t[1]) : n[Zn.trim(t[0])] = Zn.trim(t[0])
}) : n = e,
n
}(o) : "string" === r ? od(K, e, t).getOr(n) : "number" === r ? od(P, e, t).getOr(n) : "boolean" === r ? od(H, e, t).getOr(n) : "object" === r ? od(_, e, t).getOr(n) : "array" === r ? od(D, e, t).getOr(n) : "string[]" === r ? od(function(t) {
return function(e) {
return D(e) && b(e, t)
}
}(K), e, t).getOr(n) : "function" === r ? od(B, e, t).getOr(n) : o
}
function ad(e, t) {
return t.dom()[e]
}
function ud(e, t) {
return parseInt(Ge(t, e), 10)
}
var cd, sd, ld, fd = vf, dd = {
trimExternal: yf,
trimInternal: yf
}, hd = Zn.makeMap, md = function(e, t) {
t(e),
e.firstChild && md(e.firstChild, t),
e.next && md(e.next, t)
}, gd = function(a) {
if (!D(a))
throw new Error("cases must be an array");
if (0 === a.length)
throw new Error("there must be at least one case");
var u = []
, n = {};
return F(a, function(e, r) {
var t = Z(e);
if (1 !== t.length)
throw new Error("one and only one name per case");
var o = t[0]
, i = e[o];
if (n[o] !== undefined)
throw new Error("duplicate key detected:" + o);
if ("cata" === o)
throw new Error("cannot have a case named cata (sorry)");
if (!D(i))
throw new Error("case arguments must be an array");
u.push(o),
n[o] = function() {
var e = arguments.length;
if (e !== i.length)
throw new Error("Wrong number of arguments to case " + o + ". Expected " + i.length + " (" + i + "), got " + e);
for (var n = new Array(e), t = 0; t < n.length; t++)
n[t] = arguments[t];
return {
fold: function() {
if (arguments.length !== a.length)
throw new Error("Wrong number of arguments to fold. Expected " + a.length + ", got " + arguments.length);
return arguments[r].apply(null, n)
},
match: function(e) {
var t = Z(e);
if (u.length !== t.length)
throw new Error("Wrong number of arguments to match. Expected: " + u.join(",") + "\nActual: " + t.join(","));
if (!b(u, function(e) {
return h(t, e)
}))
throw new Error("Not all branches were specified when using match. Specified: " + t.join(", ") + "\nRequired: " + u.join(", "));
return e[o].apply(null, n)
},
log: function(e) {
j.console.log(e, {
constructors: u,
constructor: o,
params: n
})
}
}
}
}),
n
}, pd = {
create: de("start", "soffset", "finish", "foffset")
}, vd = gd([{
before: ["element"]
}, {
on: ["element", "offset"]
}, {
after: ["element"]
}]), yd = (vd.before,
vd.on,
vd.after,
function(e) {
return e.fold(W, W, W)
}
), bd = gd([{
domRange: ["rng"]
}, {
relative: ["startSitu", "finishSitu"]
}, {
exact: ["start", "soffset", "finish", "foffset"]
}]), Cd = {
domRange: bd.domRange,
relative: bd.relative,
exact: bd.exact,
exactFromRange: function(e) {
return bd.exact(e.start(), e.soffset(), e.finish(), e.foffset())
},
getWin: function(e) {
var t = function(e) {
return e.match({
domRange: function(e) {
return it.fromDom(e.startContainer)
},
relative: function(e, t) {
return yd(e)
},
exact: function(e, t, n, r) {
return e
}
})
}(e);
return ye(t)
},
range: pd.create
}, wd = fe().browser, xd = function(e) {
var t = Af(e) ? _f(it.fromDom(e.getBody())) : R.none();
e.bookmark = t.isSome() ? t : e.bookmark
}, zd = function(t) {
Hf(t).each(function(e) {
t.selection.setRng(e)
})
}, Ed = Hf, Nd = {
isEditorUIElement: function(e) {
var t = e.className.toString();
return -1 !== t.indexOf("tox-") || -1 !== t.indexOf("mce-")
}
}, Sd = function(e) {
var t = fa(function() {
xd(e)
}, 0);
e.on("init", function() {
e.inline && function(e, t) {
function n() {
t.throttle()
}
Qi.DOM.bind(j.document, "mouseup", n),
e.on("remove", function() {
Qi.DOM.unbind(j.document, "mouseup", n)
})
}(e, t),
Bf(e, t)
}),
e.on("remove", function() {
t.cancel()
})
}, kd = Qi.DOM, Td = function(e) {
e.on("AddEditor", d(Vf, e)),
e.on("RemoveEditor", d(If, e))
}, Ad = function(e) {
var t = e.classList;
return t !== undefined && (t.contains("tox-edit-area") || t.contains("tox-edit-area__iframe") || t.contains("mce-content-body"))
}, Md = Lf, Rd = function(e) {
return e.editorManager.setActive(e)
}, _d = function(e, t) {
e.removed || (t ? Rd(e) : function(t) {
var e = t.selection
, n = t.getBody()
, r = e.getRng();
t.quirks.refreshContentEditable(),
t.bookmark !== undefined && !1 === $f(t) && Ed(t).each(function(e) {
t.selection.setRng(e),
r = e
});
var o = function(t, e) {
return t.dom.getParent(e, function(e) {
return "true" === t.dom.getContentEditable(e)
})
}(t, e.getNode());
if (t.$.contains(n, o))
return jf(o),
Uf(t, r),
Rd(t);
t.inline || (Wn.opera || jf(n),
t.getWin().focus()),
(Wn.gecko || t.inline) && (jf(n),
Uf(t, r)),
Rd(t)
}(e))
}, Dd = $f, Od = function(e) {
return $f(e) || function(t) {
return Ef().filter(function(e) {
return !Ad(e.dom()) && Md(t, e.dom())
}).isSome()
}(e)
}, Hd = Qi.DOM, Bd = Object.prototype.hasOwnProperty, Pd = (sd = function(e, t) {
return _(e) && _(t) ? Pd(e, t) : t
}
,
function() {
for (var e = new Array(arguments.length), t = 0; t < e.length; t++)
e[t] = arguments[t];
if (0 === e.length)
throw new Error("Can't merge zero objects");
for (var n = {}, r = 0; r < e.length; r++) {
var o = e[r];
for (var i in o)
Bd.call(o, i) && (n[i] = sd(n[i], o[i]))
}
return n
}
), Ld = de("sections", "settings"), Vd = fe().deviceType, Id = Vd.isTouch(), Fd = Vd.isPhone(), Ud = Vd.isTablet(), jd = ["lists", "autolink", "autosave"], qd = {
table_grid: !1,
object_resizing: !1,
resize: !1
}, $d = (ld = {},
{
add: function(e, t) {
ld[e] = t
},
get: function(e) {
return ld[e] ? ld[e] : {
icons: {}
}
},
has: function(e) {
return ee(ld, e)
}
}), Wd = d(ad, "clientWidth"), Kd = d(ad, "clientHeight"), Xd = d(ud, "margin-top"), Yd = d(ud, "margin-left"), Gd = function(e, t, n) {
var r = it.fromDom(e.getBody())
, o = e.inline ? r : function(e) {
return it.fromDom(e.dom().ownerDocument.documentElement)
}(r)
, i = function(e, t, n, r) {
var o = function(e) {
return e.dom().getBoundingClientRect()
}(t);
return {
x: n - (e ? o.left + t.dom().clientLeft + Yd(t) : 0),
y: r - (e ? o.top + t.dom().clientTop + Xd(t) : 0)
}
}(e.inline, o, t, n);
return function(e, t, n) {
var r = Wd(e)
, o = Kd(e);
return 0 <= t && 0 <= n && t <= r && n <= o
}(o, i.x, i.y)
}, Zd = function(e) {
return function(e) {
return R.from(e).map(it.fromDom)
}(e.inline ? e.getBody() : e.getContentAreaContainer()).map(function(e) {
return Ot(ve(e), e)
}).getOr(!1)
};
function Jd(n) {
function r() {
var e = n.theme;
return e && e.getNotificationManagerImpl ? e.getNotificationManagerImpl() : function t() {
function e() {
throw new Error("Theme did not provide a NotificationManager implementation.")
}
return {
open: e,
close: e,
reposition: e,
getArgs: e
}
}()
}
function o() {
0 < u.length && r().reposition(u)
}
function i(t) {
p(u, function(e) {
return e === t
}).each(function(e) {
u.splice(e, 1)
})
}
function t(t) {
if (!n.removed && Zd(n))
return g(u, function(e) {
return function(e, t) {
return !(e.type !== t.type || e.text !== t.text || e.progressBar || e.timeout || t.progressBar || t.timeout)
}(r().getArgs(e), t)
}).getOrThunk(function() {
n.editorManager.setActive(n);
var e = r().open(t, function() {
i(e),
o()
});
return function(e) {
u.push(e)
}(e),
o(),
e
})
}
var a, u = [];
return (a = n).on("SkinLoaded", function() {
var e = a.settings.service_message;
e && t({
text: e,
type: "warning",
timeout: 0
})
}),
a.on("ResizeEditor ResizeWindow NodeChange", function() {
Pn.requestAnimationFrame(o)
}),
a.on("remove", function() {
F(u.slice(), function(e) {
r().close(e)
})
}),
{
open: t,
close: function() {
R.from(u[0]).each(function(e) {
r().close(e),
i(e),
o()
})
},
getNotifications: function() {
return u
}
}
}
var Qd = wa.PluginManager
, eh = wa.ThemeManager;
function th(n) {
function r() {
var e = n.theme;
return e && e.getWindowManagerImpl ? e.getWindowManagerImpl() : function t() {
function e() {
throw new Error("Theme did not provide a WindowManager implementation.")
}
return {
open: e,
openUrl: e,
alert: e,
confirm: e,
close: e,
getParams: e,
setParams: e
}
}()
}
function o(e, t) {
return function() {
return t ? t.apply(e, arguments) : undefined
}
}
function i(e) {
c.push(e),
function(e) {
n.fire("OpenWindow", {
dialog: e
})
}(e)
}
function a(t) {
!function(e) {
n.fire("CloseWindow", {
dialog: e
})
}(t),
0 === (c = U(c, function(e) {
return e !== t
})).length && n.focus()
}
function u(e) {
n.editorManager.setActive(n),
xd(n);
var t = e();
return i(t),
t
}
var c = [];
return n.on("remove", function() {
F(c, function(e) {
r().close(e)
})
}),
{
open: function(e, t) {
return u(function() {
return r().open(e, t, a)
})
},
openUrl: function(e) {
return u(function() {
return r().openUrl(e, a)
})
},
alert: function(e, t, n) {
r().alert(e, o(n || this, t))
},
confirm: function(e, t, n) {
r().confirm(e, o(n || this, t))
},
close: function() {
R.from(c[c.length - 1]).each(function(e) {
r().close(e),
a(e)
})
}
}
}
function nh(e, t) {
e.notificationManager.open({
type: "error",
text: t
})
}
function rh(e, t) {
e._skinLoaded ? nh(e, t) : e.on("SkinLoaded", function() {
nh(e, t)
})
}
function oh(e, t, n) {
!function(e, t, n) {
e.fire(t, n)
}(e, t, {
message: n
}),
j.console.error(n)
}
function ih(e, t, n) {
return n ? "Failed to load " + e + ": " + n + " from url " + t : "Failed to load " + e + " url: " + t
}
function ah(e) {
e.contentCSS = e.contentCSS.concat(function(t) {
var e = Ms(t)
, n = t.editorManager.baseURL + "/skins/content"
, r = "content" + t.editorManager.suffix + ".css"
, o = !0 === t.inline;
return X(e, function(e) {
return function(e) {
return /^[a-z0-9\-]+$/i.test(e)
}(e) && !o ? n + "/" + e + "/" + r : t.documentBaseURI.toAbsolute(e)
})
}(e))
}
var uh = function(e) {
for (var t = [], n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
var r = j.window.console;
r && (r.error ? r.error.apply(r, arguments) : r.log.apply(r, arguments))
}
, ch = {
pluginLoadError: function(e, t, n) {
oh(e, "PluginLoadError", ih("plugin", t, n))
},
iconsLoadError: function(e, t, n) {
oh(e, "IconsLoadError", ih("icons", t, n))
},
languageLoadError: function(e, t, n) {
oh(e, "LanguageLoadError", ih("language", t, n))
},
pluginInitError: function(e, t, n) {
var r = sa.translate(["Failed to initialize plugin: {0}", t]);
uh(r, n),
rh(e, r)
},
uploadError: function(e, t) {
rh(e, sa.translate(["Failed to upload image: {0}", t]))
},
displayError: rh,
initError: uh
};
function sh(e) {
return {
getBookmark: d(ql, e),
moveToBookmark: d($l, e)
}
}
(sh = sh || {}).isBookmarkNode = Wl;
function lh(r, a) {
var u, c, s, l, f, d, h, m, g, p, v, y, i, b, C, w, x, z = a.dom, E = Zn.each, N = a.getDoc(), S = j.document, k = Math.abs, T = Math.round, A = a.getBody();
function M(e) {
return e && ("IMG" === e.nodeName || a.dom.is(e, "figure.image"))
}
function n(e) {
var t = e.target;
!function(e, t) {
if ("longpress" !== e.type && 0 !== e.type.indexOf("touch"))
return M(e.target) && !dh(e.clientX, e.clientY, t);
var n = e.touches[0];
return M(e.target) && !dh(n.clientX, n.clientY, t)
}(e, a.selection.getRng()) || e.isDefaultPrevented() || a.selection.select(t)
}
function R(e) {
return a.dom.is(e, "figure.image") ? e.querySelector("img") : e
}
function _(e) {
var t = Ds(a);
return !1 !== t && !Wn.iOS && ("string" != typeof t && (t = "table,img,figure.image,div"),
"false" !== e.getAttribute("data-mce-resize") && (e !== a.getBody() && me(it.fromDom(e), t)))
}
function D(e) {
var t, n, r, o;
t = e.screenX - d,
n = e.screenY - h,
b = t * f[2] + p,
C = n * f[3] + v,
b = b < 5 ? 5 : b,
C = C < 5 ? 5 : C,
(M(u) && !1 !== Os(a) ? !hh.modifierPressed(e) : hh.modifierPressed(e)) && (k(t) > k(n) ? (C = T(b * y),
b = T(C / y)) : (b = T(C / y),
C = T(b * y))),
z.setStyles(R(c), {
width: b,
height: C
}),
r = 0 < (r = f.startPos.x + t) ? r : 0,
o = 0 < (o = f.startPos.y + n) ? o : 0,
z.setStyles(s, {
left: r,
top: o,
display: "block"
}),
s.innerHTML = b + " × " + C,
f[2] < 0 && c.clientWidth <= b && z.setStyle(c, "left", m + (p - b)),
f[3] < 0 && c.clientHeight <= C && z.setStyle(c, "top", g + (v - C)),
(t = A.scrollWidth - w) + (n = A.scrollHeight - x) !== 0 && z.setStyles(s, {
left: r - t,
top: o - n
}),
i || (function(e, t, n, r) {
e.fire("ObjectResizeStart", {
target: t,
width: n,
height: r
})
}(a, u, p, v),
i = !0)
}
function o(e) {
function t(e, t) {
if (e)
do {
if (e === t)
return !0
} while (e = e.parentNode)
}
var n;
i || a.removed || (E(z.select("img[data-mce-selected],hr[data-mce-selected]"), function(e) {
e.removeAttribute("data-mce-selected")
}),
n = "mousedown" === e.type ? e.target : r.getNode(),
t(n = z.$(n).closest("table,img,figure.image,hr")[0], A) && (V(),
t(r.getStart(!0), n) && t(r.getEnd(!0), n)) ? B(n) : P())
}
function O(e) {
return mh(function(e, t) {
for (; t && t !== e; ) {
if (gh(t) || mh(t))
return t;
t = t.parentNode
}
return null
}(a.getBody(), e))
}
l = {
nw: [0, 0, -1, -1],
ne: [1, 0, 1, -1],
se: [1, 1, 1, 1],
sw: [0, 1, -1, 1]
};
var H = function() {
i = !1;
function e(e, t) {
t && (u.style[e] || !a.schema.isValid(u.nodeName.toLowerCase(), e) ? z.setStyle(R(u), e, t) : z.setAttrib(R(u), e, t))
}
e("width", b),
e("height", C),
z.unbind(N, "mousemove", D),
z.unbind(N, "mouseup", H),
S !== N && (z.unbind(S, "mousemove", D),
z.unbind(S, "mouseup", H)),
z.remove(c),
z.remove(s),
B(u),
function(e, t, n, r) {
e.fire("ObjectResized", {
target: t,
width: n,
height: r
})
}(a, u, b, C),
z.setAttrib(u, "style", z.getAttrib(u, "style")),
a.nodeChanged()
}
, B = function(e) {
var t, r, o, n, i;
P(),
L(),
t = z.getPos(e, A),
m = t.x,
g = t.y,
i = e.getBoundingClientRect(),
r = i.width || i.right - i.left,
o = i.height || i.bottom - i.top,
u !== e && (u = e,
b = C = 0),
n = a.fire("ObjectSelected", {
target: e
}),
_(e) && !n.isDefaultPrevented() ? E(l, function(t, e) {
var n;
(n = z.get("mceResizeHandle" + e)) && z.remove(n),
n = z.add(A, "div", {
id: "mceResizeHandle" + e,
"data-mce-bogus": "all",
"class": "mce-resizehandle",
unselectable: !0,
style: "cursor:" + e + "-resize; margin:0; padding:0"
}),
11 === Wn.ie && (n.contentEditable = !1),
z.bind(n, "mousedown", function(e) {
e.stopImmediatePropagation(),
e.preventDefault(),
function(e) {
d = e.screenX,
h = e.screenY,
p = R(u).clientWidth,
v = R(u).clientHeight,
y = v / p,
(f = t).startPos = {
x: r * t[0] + m,
y: o * t[1] + g
},
w = A.scrollWidth,
x = A.scrollHeight,
c = u.cloneNode(!0),
z.addClass(c, "mce-clonedresizable"),
z.setAttrib(c, "data-mce-bogus", "all"),
c.contentEditable = !1,
c.unSelectabe = !0,
z.setStyles(c, {
left: m,
top: g,
margin: 0
}),
c.removeAttribute("data-mce-selected"),
A.appendChild(c),
z.bind(N, "mousemove", D),
z.bind(N, "mouseup", H),
S !== N && (z.bind(S, "mousemove", D),
z.bind(S, "mouseup", H)),
s = z.add(A, "div", {
"class": "mce-resize-helper",
"data-mce-bogus": "all"
}, p + " × " + v)
}(e)
}),
t.elm = n,
z.setStyles(n, {
left: r * t[0] + m - n.offsetWidth / 2,
top: o * t[1] + g - n.offsetHeight / 2
})
}) : P(),
u.setAttribute("data-mce-selected", "1")
}
, P = function() {
var e, t;
for (e in L(),
u && u.removeAttribute("data-mce-selected"),
l)
(t = z.get("mceResizeHandle" + e)) && (z.unbind(t),
z.remove(t))
}
, L = function() {
for (var e in l) {
var t = l[e];
t.elm && (z.unbind(t.elm),
delete t.elm)
}
}
, V = function() {
try {
a.getDoc().execCommand("enableObjectResizing", !1, !1)
} catch (e) {}
};
return a.on("init", function() {
if (V(),
Wn.browser.isIE() || Wn.browser.isEdge()) {
a.on("mousedown click", function(e) {
var t = e.target
, n = t.nodeName;
i || !/^(TABLE|IMG|HR)$/.test(n) || O(t) || (2 !== e.button && a.selection.select(t, "TABLE" === n),
"mousedown" === e.type && a.nodeChanged())
});
var e = function(e) {
function t(e) {
Pn.setEditorTimeout(a, function() {
return a.selection.select(e)
})
}
if (O(e.target))
return e.preventDefault(),
void t(e.target);
/^(TABLE|IMG|HR)$/.test(e.target.nodeName) && (e.preventDefault(),
"IMG" === e.target.tagName && t(e.target))
};
z.bind(A, "mscontrolselect", e),
a.on("remove", function() {
return z.unbind(A, "mscontrolselect", e)
})
}
var t = Pn.throttle(function(e) {
a.composing || o(e)
});
a.on("nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged", t),
a.on("keyup compositionend", function(e) {
u && "TABLE" === u.nodeName && t(e)
}),
a.on("hide blur", P),
a.on("contextmenu longpress", n, !0)
}),
a.on("remove", L),
{
isResizable: _,
showResizeRect: B,
hideResizeRect: P,
updateResizeRect: o,
destroy: function() {
u = c = null
}
}
}
var fh = sh
, dh = function(t, n, e) {
if (e.collapsed)
return !1;
if (Wn.browser.isIE() && e.startOffset === e.endOffset - 1 && e.startContainer === e.endContainer) {
var r = e.startContainer.childNodes[e.startOffset];
if (Qt.isElement(r))
return C(r.getClientRects(), function(e) {
return Za(e, t, n)
})
}
return C(e.getClientRects(), function(e) {
return Za(e, t, n)
})
}
, hh = {
BACKSPACE: 8,
DELETE: 46,
DOWN: 40,
ENTER: 13,
LEFT: 37,
RIGHT: 39,
SPACEBAR: 32,
TAB: 9,
UP: 38,
END: 35,
HOME: 36,
modifierPressed: function(e) {
return e.shiftKey || e.ctrlKey || e.altKey || this.metaKeyPressed(e)
},
metaKeyPressed: function(e) {
return Wn.mac ? e.metaKey : e.ctrlKey && !e.altKey
}
}
, mh = Qt.isContentEditableFalse
, gh = Qt.isContentEditableTrue;
function ph(e) {
var t = it.fromDom(j.document)
, n = Le(t)
, r = function(e, t) {
var n = t.owner(e);
return lm(t, n)
}(e, fm)
, o = Ft(e)
, i = m(r, function(e, t) {
var n = Ft(t);
return {
left: e.left + n.left(),
top: e.top + n.top()
}
}, {
left: 0,
top: 0
});
return It(i.left + o.left() + n.left(), i.top + o.top() + n.top())
}
function vh(e) {
return "textarea" === Oe(e)
}
function yh(e, t) {
var n = function(e) {
var t = e.dom().ownerDocument
, n = t.body
, r = t.defaultView
, o = t.documentElement;
if (n === e.dom())
return It(n.offsetLeft, n.offsetTop);
var i = Pe(r.pageYOffset, o.scrollTop)
, a = Pe(r.pageXOffset, o.scrollLeft)
, u = Pe(o.clientTop, n.clientTop)
, c = Pe(o.clientLeft, n.clientLeft);
return Ft(e).translate(a - c, i - u)
}(e)
, r = function(e) {
return sm.get(e)
}(e);
return {
element: e,
bottom: n.top() + r,
height: r,
pos: n,
cleanup: t
}
}
function bh(e, t) {
var n = function(e, t) {
var n = Ee(e);
if (0 === n.length || vh(e))
return {
element: e,
offset: t
};
if (t < n.length && !vh(n[t]))
return {
element: n[t],
offset: 0
};
var r = n[n.length - 1];
return vh(r) ? {
element: e,
offset: t
} : "img" === Oe(r) ? {
element: r,
offset: 1
} : Lt(r) ? {
element: r,
offset: tf(r).length
} : {
element: r,
offset: Ee(r).length
}
}(e, t)
, r = it.fromHtml('' + mu.ZWSP + "");
return Te(n.element, r),
yh(r, function() {
return Bt(r)
})
}
function Ch(n, r, o, i) {
hm(n, function(e, t) {
return dm(n, r, o, i)
}, o)
}
function wh(e, t, n, r, o) {
var i = {
elm: r.element.dom(),
alignToTop: o
};
!function(e, t) {
return e.fire("ScrollIntoView", t).isDefaultPrevented()
}(e, i) && (n(t, Le(t).top(), r, o),
function(e, t) {
e.fire("AfterScrollIntoView", t)
}(e, i))
}
function xh(e, t, n, r) {
var o = it.fromDom(e.getDoc());
wh(e, o, n, function(e) {
return yh(it.fromDom(e), i)
}(t), r)
}
function zh(e, t, n, r) {
var o = e.pos;
if (n)
Ve(o.left(), o.top(), r);
else {
var i = o.top() - t + e.height;
Ve(o.left(), i, r)
}
}
function Eh(e, t, n, r, o) {
var i = n + t
, a = r.pos.top()
, u = r.bottom
, c = n <= u - a;
if (a < t)
zh(r, n, !1 !== o, e);
else if (i < a) {
zh(r, n, c ? !1 !== o : !0 === o, e)
} else
i < u && !c && zh(r, n, !0 === o, e)
}
function Nh(e, t, n, r) {
var o = e.dom().defaultView.innerHeight;
Eh(e, t, o, n, r)
}
function Sh(e, t, n, r) {
var o = e.dom().defaultView.innerHeight;
Eh(e, t, o, n, r);
var i = ph(n.element)
, a = jt(j.window);
i.top() < a.y() ? Ie(n.element, !1 !== r) : i.top() > a.bottom() && Ie(n.element, !0 === r)
}
function kh(e, t, n) {
return Ch(e, Nh, t, n)
}
function Th(e, t, n) {
return xh(e, t, Nh, n)
}
function Ah(e, t, n) {
return Ch(e, Sh, t, n)
}
function Mh(e, t, n) {
return xh(e, t, Sh, n)
}
function Rh(e) {
return Qt.isContentEditableTrue(e) || Qt.isContentEditableFalse(e)
}
function _h(e, t) {
var n = (t || j.document).createDocumentFragment();
return F(e, function(e) {
n.appendChild(e.dom())
}),
it.fromDom(n)
}
function Dh(e, t, n) {
return Ot(t, e) ? function(e) {
return e.slice(0, -1)
}(function(e, t) {
for (var n = B(t) ? t : s, r = e.dom(), o = []; null !== r.parentNode && r.parentNode !== undefined; ) {
var i = r.parentNode
, a = it.fromDom(i);
if (o.push(a),
!0 === n(a))
break;
r = i
}
return o
}(e, function(e) {
return n(e) || pe(e, t)
})) : []
}
function Oh(e, t) {
return Dh(e, t, $(!1))
}
function Hh(o, e) {
return tu(function(e) {
var t = e.startContainer
, n = e.startOffset;
return Qt.isText(t) ? 0 === n ? R.some(it.fromDom(t)) : R.none() : R.from(t.childNodes[n]).map(it.fromDom)
}(e), function(e) {
var t = e.endContainer
, n = e.endOffset;
return Qt.isText(t) ? n === t.data.length ? R.some(it.fromDom(t)) : R.none() : R.from(t.childNodes[n - 1]).map(it.fromDom)
}(e), function(e, t) {
var n = g(Cm(o), d(pe, e))
, r = g(wm(o), d(pe, t));
return n.isSome() && r.isSome()
}).getOr(!1)
}
function Bh(e, t, n, r) {
var o = n
, i = new Fi(n,o)
, a = e.schema.getNonEmptyElements();
do {
if (3 === n.nodeType && 0 !== Zn.trim(n.nodeValue).length)
return void (r ? t.setStart(n, 0) : t.setEnd(n, n.nodeValue.length));
if (a[n.nodeName] && !/^(TD|TH)$/.test(n.nodeName))
return void (r ? t.setStartBefore(n) : "BR" === n.nodeName ? t.setEndBefore(n) : t.setEndAfter(n))
} while (n = r ? i.next() : i.prev());
"BODY" === o.nodeName && (r ? t.setStart(o, 0) : t.setEnd(o, o.childNodes.length))
}
function Ph(e) {
var t = e.selection.getSel();
return t && 0 < t.rangeCount
}
function Lh(e, t) {
var n = parseInt(Xe(e, t), 10);
return isNaN(n) ? 1 : n
}
function Vh(e) {
return y(e, function(e, t) {
return t.cells().length > e ? t.cells().length : e
}, 0)
}
function Ih(e, t) {
for (var n = e.rows(), r = 0; r < n.length; r++)
for (var o = n[r].cells(), i = 0; i < o.length; i++)
if (pe(o[i], t))
return R.some(Em(i, r));
return R.none()
}
function Fh(e, t, n, r, o) {
for (var i = [], a = e.rows(), u = n; u <= o; u++) {
var c = a[u].cells()
, s = t < r ? c.slice(t, r + 1) : c.slice(r, t + 1);
i.push(zm(a[u].element(), s))
}
return i
}
function Uh(e) {
var t = [];
if (e)
for (var n = 0; n < e.rangeCount; n++)
t.push(e.getRangeAt(n));
return t
}
function jh(e) {
return U(Am(e), dr)
}
function qh(e) {
return Ca(e, "td[data-mce-selected],th[data-mce-selected]")
}
function $h(e, t) {
var n = qh(t)
, r = jh(e);
return 0 < n.length ? n : r
}
function Wh(t, n) {
return g(t, function(e) {
return "li" === Oe(e) && Hh(e, n)
}).fold($([]), function(e) {
return function(e) {
return g(e, function(e) {
return "ul" === Oe(e) || "ol" === Oe(e)
})
}(t).map(function(e) {
return [it.fromTag("li"), it.fromTag(Oe(e))]
}).getOr([])
})
}
function Kh(e, t) {
var n = it.fromDom(t.commonAncestorContainer)
, r = bm(n, e)
, o = U(r, function(e) {
return Qn(e) || ir(e)
})
, i = Wh(r, t)
, a = o.concat(i.length ? i : function(t) {
return sr(t) ? be(t).filter(cr).fold($([]), function(e) {
return [t, e]
}) : cr(t) ? [t] : []
}(n));
return X(a, Oa)
}
function Xh() {
return _h([])
}
function Yh(e, t) {
return function(e, t) {
var n = y(t, function(e, t) {
return Ht(t, e),
t
}, e);
return 0 < t.length ? _h([n]) : n
}(it.fromDom(t.cloneContents()), Kh(e, t))
}
function Gh(e, o) {
return function(e, t) {
return Sa(t, "table", d(pe, e))
}(e, o[0]).bind(function(e) {
var t = o[0]
, n = o[o.length - 1]
, r = Nm(e);
return km(r, t, n).map(function(e) {
return _h([Sm(e)])
})
}).getOrThunk(Xh)
}
function Zh(e, t, n) {
return null !== function(e, t, n) {
for (; e && e !== t; ) {
if (n(e))
return e;
e = e.parentNode
}
return null
}(e, t, n)
}
function Jh(e, t, n) {
return Zh(e, t, function(e) {
return e.nodeName === n
})
}
function Qh(e) {
return e && "TABLE" === e.nodeName
}
function em(e, t, n) {
for (var r = new Fi(t,e.getParent(t.parentNode, e.isBlock) || e.getRoot()); t = r[n ? "prev" : "next"](); )
if (Qt.isBr(t))
return !0
}
function tm(e, t, n, r, o) {
var i, a, u = e.getRoot(), c = e.schema.getNonEmptyElements(), s = e.getParent(o.parentNode, e.isBlock) || u;
if (r && Qt.isBr(o) && t && e.isEmpty(s))
return R.some(Wu(o.parentNode, e.nodeIndex(o)));
for (var l, f, d = new Fi(o,s); a = d[r ? "prev" : "next"](); ) {
if ("false" === e.getContentEditableParent(a) || (f = u,
La(l = a) && !1 === Zh(l, f, sc)))
return R.none();
if (Qt.isText(a) && 0 < a.nodeValue.length)
return !1 === Jh(a, u, "A") ? R.some(Wu(a, r ? a.nodeValue.length : 0)) : R.none();
if (e.isBlock(a) || c[a.nodeName.toLowerCase()])
return R.none();
i = a
}
return n && i ? R.some(Wu(i, 0)) : R.none()
}
function nm(e, t, n, r) {
var o, i, a, u, c, s, l, f = e.getRoot(), d = !1;
if (o = r[(n ? "start" : "end") + "Container"],
i = r[(n ? "start" : "end") + "Offset"],
s = Qt.isElement(o) && i === o.childNodes.length,
u = e.schema.getNonEmptyElements(),
c = n,
La(o))
return R.none();
if (Qt.isElement(o) && i > o.childNodes.length - 1 && (c = !1),
Qt.isDocument(o) && (o = f,
i = 0),
o === f) {
if (c && (a = o.childNodes[0 < i ? i - 1 : 0])) {
if (La(a))
return R.none();
if (u[a.nodeName] || Qh(a))
return R.none()
}
if (o.hasChildNodes()) {
if (i = Math.min(!c && 0 < i ? i - 1 : i, o.childNodes.length - 1),
o = o.childNodes[i],
i = Qt.isText(o) && s ? o.data.length : 0,
!t && o === f.lastChild && Qh(o))
return R.none();
if (function(e, t) {
for (; t && t !== e; ) {
if (Qt.isContentEditableFalse(t))
return !0;
t = t.parentNode
}
return !1
}(f, o) || La(o))
return R.none();
if (o.hasChildNodes() && !1 === Qh(o)) {
var h = new Fi(a = o,f);
do {
if (Qt.isContentEditableFalse(a) || La(a)) {
d = !1;
break
}
if (Qt.isText(a) && 0 < a.nodeValue.length) {
i = c ? 0 : a.nodeValue.length,
o = a,
d = !0;
break
}
if (u[a.nodeName.toLowerCase()] && (!(l = a) || !/^(TD|TH|CAPTION)$/.test(l.nodeName))) {
i = e.nodeIndex(a),
o = a.parentNode,
c || i++,
d = !0;
break
}
} while (a = c ? h.next() : h.prev())
}
}
}
return t && (Qt.isText(o) && 0 === i && tm(e, s, t, !0, o).each(function(e) {
o = e.container(),
i = e.offset(),
d = !0
}),
Qt.isElement(o) && (!(a = (a = o.childNodes[i]) || o.childNodes[i - 1]) || !Qt.isBr(a) || function(e, t) {
return e.previousSibling && e.previousSibling.nodeName === t
}(a, "A") || em(e, a, !1) || em(e, a, !0) || tm(e, s, t, !0, a).each(function(e) {
o = e.container(),
i = e.offset(),
d = !0
}))),
c && !t && Qt.isText(o) && i === o.nodeValue.length && tm(e, s, t, !1, o).each(function(e) {
o = e.container(),
i = e.offset(),
d = !0
}),
d ? R.some(Wu(o, i)) : R.none()
}
function rm(e) {
return 0 === e.dom().length ? (Bt(e),
R.none()) : R.some(e)
}
function om(e, t, n, r, o) {
var i = n ? t.startContainer : t.endContainer
, a = n ? t.startOffset : t.endOffset;
return R.from(i).map(it.fromDom).map(function(e) {
return r && t.collapsed ? e : Ne(e, o(e, a)).getOr(e)
}).bind(function(e) {
return Pt(e) ? R.some(e) : be(e)
}).map(function(e) {
return e.dom()
}).getOr(e)
}
function im(e, t, n) {
return om(e, t, !0, n, function(e, t) {
return Math.min(function(e) {
return e.dom().childNodes.length
}(e), t)
})
}
function am(e, t, n) {
return om(e, t, !1, n, function(e, t) {
return 0 < t ? t - 1 : t
})
}
function um(e, t) {
for (var n = e; e && Qt.isText(e) && 0 === e.length; )
e = t ? e.nextSibling : e.previousSibling;
return e || n
}
function cm(e, t, n) {
if (e && e.hasOwnProperty(t)) {
var r = U(e[t], function(e) {
return e !== n
});
0 === r.length ? delete e[t] : e[t] = r
}
}
var sm = function PN(r, o) {
function e(e) {
var t = o(e);
if (t <= 0 || null === t) {
var n = Ge(e, r);
return parseFloat(n) || 0
}
return t
}
function i(o, e) {
return y(e, function(e, t) {
var n = Ge(o, t)
, r = n === undefined ? 0 : parseInt(n, 10);
return isNaN(r) ? e : e + r
}, 0)
}
return {
set: function(e, t) {
if (!P(t) && !t.match(/^[0-9]+$/))
throw new Error(r + ".set accepts only positive integer values. Value was " + t);
var n = e.dom();
$e(n) && (n.style[r] = t + "px")
},
get: e,
getOuter: e,
aggregate: i,
max: function(e, t, n) {
var r = i(e, n);
return r < t ? t - r : 0
}
}
}("height", function(e) {
var t = e.dom();
return Be(e) ? t.getBoundingClientRect().height : t.offsetHeight
})
, lm = function(r, e) {
return r.view(e).fold($([]), function(e) {
var t = r.owner(e)
, n = lm(r, t);
return [e].concat(n)
})
}
, fm = /* */
Object.freeze({
__proto__: null,
view: function(e) {
return (e.dom() === j.document ? R.none() : R.from(e.dom().defaultView.frameElement)).map(it.fromDom)
},
owner: function(e) {
return ve(e)
}
})
, dm = function(e, t, n, r) {
var o = it.fromDom(e.getBody())
, i = it.fromDom(e.getDoc());
!function(e) {
e.dom().offsetWidth
}(o);
var a = bh(it.fromDom(n.startContainer), n.startOffset);
wh(e, i, t, a, r),
a.cleanup()
}
, hm = function(e, t, n) {
var r = n.startContainer
, o = n.startOffset
, i = n.endContainer
, a = n.endOffset;
t(it.fromDom(r), it.fromDom(i));
var u = e.dom.createRng();
u.setStart(r, o),
u.setEnd(i, a),
e.selection.setRng(n)
}
, mm = function(e, t, n) {
(e.inline ? Th : Mh)(e, t, n)
}
, gm = function(e, t, n) {
(e.inline ? kh : Ah)(e, t, n)
}
, pm = function(e, t, n) {
var r, o, i = n;
if (i.caretPositionFromPoint)
(o = i.caretPositionFromPoint(e, t)) && ((r = n.createRange()).setStart(o.offsetNode, o.offset),
r.collapse(!0));
else if (n.caretRangeFromPoint)
r = n.caretRangeFromPoint(e, t);
else if (i.body.createTextRange) {
r = i.body.createTextRange();
try {
r.moveToPoint(e, t),
r.collapse(!0)
} catch (a) {
r = function(e, n, t) {
var r, o, i;
if (r = t.elementFromPoint(e, n),
o = t.body.createTextRange(),
r && "HTML" !== r.tagName || (r = t.body),
o.moveToElementText(r),
0 < (i = (i = Zn.toArray(o.getClientRects())).sort(function(e, t) {
return (e = Math.abs(Math.max(e.top - n, e.bottom - n))) - (t = Math.abs(Math.max(t.top - n, t.bottom - n)))
})).length) {
n = (i[0].bottom + i[0].top) / 2;
try {
return o.moveToPoint(e, n),
o.collapse(!0),
o
} catch (a) {}
}
return null
}(e, t, n)
}
return function(e, t) {
var n = e && e.parentElement ? e.parentElement() : null;
return Qt.isContentEditableFalse(function(e, t, n) {
for (; e && e !== t; ) {
if (n(e))
return e;
e = e.parentNode
}
return null
}(n, t, Rh)) ? null : e
}(r, n.body)
}
return r
}
, vm = function(n, e) {
return X(e, function(e) {
var t = n.fire("GetSelectionRange", {
range: e
});
return t.range !== e ? t.range : e
})
}
, ym = Oh
, bm = function(e, t) {
return [e].concat(Oh(e, t))
}
, Cm = function(t) {
return Se(t).fold($([t]), function(e) {
return [t].concat(Cm(e))
})
}
, wm = function(t) {
return ke(t).fold($([t]), function(e) {
return "br" === Oe(e) ? Ce(e).map(function(e) {
return [t].concat(wm(e))
}).getOr([]) : [t].concat(wm(e))
})
}
, xm = de("element", "width", "rows")
, zm = de("element", "cells")
, Em = de("x", "y")
, Nm = function(e) {
var o = xm(Oa(e), 0, []);
return F(Ca(e, "tr"), function(n, r) {
F(Ca(n, "td,th"), function(e, t) {
!function(e, t, n, r, o) {
for (var i = Lh(o, "rowspan"), a = Lh(o, "colspan"), u = e.rows(), c = n; c < n + i; c++) {
u[c] || (u[c] = zm(Ha(r), []));
for (var s = t; s < t + a; s++) {
u[c].cells()[s] = c === n && s === t ? o : Oa(o)
}
}
}(o, function(e, t, n) {
for (; r = t,
o = n,
i = void 0,
((i = e.rows())[o] ? i[o].cells() : [])[r]; )
t++;
var r, o, i;
return t
}(o, t, r), r, n, e)
})
}),
xm(o.element(), Vh(o.rows()), o.rows())
}
, Sm = function(e) {
return function(e, t) {
var n = Oa(e.element())
, r = it.fromTag("tbody");
return Re(r, t),
Ht(n, r),
n
}(e, function(e) {
return X(e.rows(), function(e) {
var t = X(e.cells(), function(e) {
var t = Ha(e);
return Ye(t, "colspan"),
Ye(t, "rowspan"),
t
})
, n = Oa(e.element());
return Re(n, t),
n
})
}(e))
}
, km = function(n, e, r) {
return Ih(n, e).bind(function(t) {
return Ih(n, r).map(function(e) {
return function(e, t, n) {
var r = t.x()
, o = t.y()
, i = n.x()
, a = n.y()
, u = o < a ? Fh(e, r, o, i, a) : Fh(e, r, a, i, o);
return xm(e.element(), Vh(u), u)
}(n, t, e)
})
})
}
, Tm = Uh
, Am = function(e) {
return v(e, function(e) {
var t = Ja(e);
return t ? [it.fromDom(t)] : []
})
}
, Mm = function(e) {
return 1 < Uh(e).length
}
, Rm = $h
, _m = function(e) {
return $h(Tm(e.selection.getSel()), it.fromDom(e.getBody()))
}
, Dm = function(e, t) {
var n = Rm(t, e);
return 0 < n.length ? Gh(e, n) : function(e, t) {
return 0 < t.length && t[0].collapsed ? Xh() : Yh(e, t[0])
}(e, t)
}
, Om = function(e, t) {
if (void 0 === t && (t = {}),
t.get = !0,
t.format = t.format || "html",
t.selection = !0,
(t = e.fire("BeforeGetContent", t)).isDefaultPrevented())
return e.fire("GetContent", t),
t.content;
if ("text" === t.format)
return function(r) {
return R.from(r.selection.getRng()).map(function(e) {
var t = r.dom.add(r.getBody(), "div", {
"data-mce-bogus": "all",
style: "overflow: hidden; opacity: 0;"
}, e.cloneContents())
, n = mu.trim(t.innerText);
return r.dom.remove(t),
n
}).getOr("")
}(e);
t.getInner = !0;
var n = function(e, t) {
var n, r = e.selection.getRng(), o = e.dom.create("body"), i = e.selection.getSel(), a = vm(e, Tm(i));
return (n = t.contextual ? Dm(it.fromDom(e.getBody()), a).dom() : r.cloneContents()) && o.appendChild(n),
e.selection.serializer.serialize(o, t)
}(e, t);
return "tree" === t.format ? n : (t.content = e.selection.isCollapsed() ? "" : n,
e.fire("GetContent", t),
t.content)
}
, Hm = function(e, t) {
return e && t && e.startContainer === t.startContainer && e.startOffset === t.startOffset && e.endContainer === t.endContainer && e.endOffset === t.endOffset
}
, Bm = function(e, t) {
var n = t.collapsed
, r = t.cloneRange()
, o = Wu.fromRangeStart(t);
return nm(e, n, !0, r).each(function(e) {
n && Wu.isAbove(o, e) || r.setStart(e.container(), e.offset())
}),
n || nm(e, n, !1, r).each(function(e) {
r.setEnd(e.container(), e.offset())
}),
n && r.collapse(!0),
Hm(t, r) ? R.none() : R.some(r)
}
, Pm = function(e, t, n) {
if ((n = function(e, t) {
return (e = e || {
format: "html"
}).set = !0,
e.selection = !0,
e.content = t,
e
}(n, t)).no_events || !(n = e.fire("BeforeSetContent", n)).isDefaultPrevented()) {
var r = e.selection.getRng();
!function(r, e) {
var t = R.from(e.firstChild).map(it.fromDom)
, n = R.from(e.lastChild).map(it.fromDom);
r.deleteContents(),
r.insertNode(e);
var o = t.bind(Ce).filter(Lt).bind(rm)
, i = n.bind(we).filter(Lt).bind(rm);
tu(o, t.filter(Lt), function(e, t) {
!function(e, t) {
e.insertData(0, t)
}(t.dom(), e.dom().data),
Bt(e)
}),
tu(i, n.filter(Lt), function(e, t) {
var n = t.dom().length;
t.dom().appendData(e.dom().data),
r.setEnd(t.dom(), n),
Bt(e)
}),
r.collapse(!1)
}(r, r.createContextualFragment(n.content)),
e.selection.setRng(r),
gm(e, r),
n.no_events || e.fire("SetContent", n)
} else
e.fire("SetContent", n)
};
function Lm(e) {
return !!e.select
}
function Vm(e) {
return !(!e || !e.ownerDocument) && Ot(it.fromDom(e.ownerDocument), it.fromDom(e))
}
function Im(u, c, e, s) {
function t(e, t) {
return Pm(s, e, t)
}
function r() {
var e, t, n = d();
return !(n && n.anchorNode && n.focusNode) || ((e = u.createRng()).setStart(n.anchorNode, n.anchorOffset),
e.collapse(!0),
(t = u.createRng()).setStart(n.focusNode, n.focusOffset),
t.collapse(!0),
e.compareBoundaryPoints(e.START_TO_START, t) <= 0)
}
var n, o, l, f, i = function p(i, n) {
var a, u;
return {
selectorChangedWithUnbind: function(e, t) {
return a || (a = {},
u = {},
n.on("NodeChange", function(e) {
var n = e.element
, r = i.getParents(n, null, i.getRoot())
, o = {};
Zn.each(a, function(e, n) {
Zn.each(r, function(t) {
if (i.is(t, n))
return u[n] || (Zn.each(e, function(e) {
e(!0, {
node: t,
selector: n,
parents: r
})
}),
u[n] = e),
o[n] = e,
!1
})
}),
Zn.each(u, function(e, t) {
o[t] || (delete u[t],
Zn.each(e, function(e) {
e(!1, {
node: n,
selector: t,
parents: r
})
}))
})
})),
a[e] || (a[e] = []),
a[e].push(t),
{
unbind: function() {
cm(a, e, t),
cm(u, e, t)
}
}
}
}
}(u, s).selectorChangedWithUnbind, a = function(e) {
var t = h();
t.collapse(!!e),
m(t)
}, d = function() {
return c.getSelection ? c.getSelection() : c.document.selection
}, h = function() {
function e(e, t, n) {
try {
return t.compareBoundaryPoints(e, n)
} catch (r) {
return -1
}
}
var t, n, r, o;
if (!c)
return null;
if (null == (o = c.document))
return null;
if (s.bookmark !== undefined && !1 === Dd(s)) {
var i = Ed(s);
if (i.isSome())
return i.map(function(e) {
return vm(s, [e])[0]
}).getOr(o.createRange())
}
try {
(t = d()) && !Qt.isRestrictedNode(t.anchorNode) && (n = 0 < t.rangeCount ? t.getRangeAt(0) : t.createRange ? t.createRange() : o.createRange())
} catch (a) {}
return (n = (n = vm(s, [n])[0]) || (o.createRange ? o.createRange() : o.body.createTextRange())).setStart && 9 === n.startContainer.nodeType && n.collapsed && (r = u.getRoot(),
n.setStart(r, 0),
n.setEnd(r, 0)),
l && f && (0 === e(n.START_TO_START, n, l) && 0 === e(n.END_TO_END, n, l) ? n = f : f = l = null),
n
}, m = function(e, t) {
var n, r;
if (function(e) {
return !!e && (!!Lm(e) || Vm(e.startContainer) && Vm(e.endContainer))
}(e)) {
var o = Lm(e) ? e : null;
if (o) {
f = null;
try {
o.select()
} catch (i) {}
} else {
if (n = d(),
e = s.fire("SetSelectionRange", {
range: e,
forward: t
}).range,
n) {
f = e;
try {
n.removeAllRanges(),
n.addRange(e)
} catch (i) {}
!1 === t && n.extend && (n.collapse(e.endContainer, e.endOffset),
n.extend(e.startContainer, e.startOffset)),
l = 0 < n.rangeCount ? n.getRangeAt(0) : null
}
e.collapsed || e.startContainer !== e.endContainer || !n.setBaseAndExtent || Wn.ie || e.endOffset - e.startOffset < 2 && e.startContainer.hasChildNodes() && (r = e.startContainer.childNodes[e.startOffset]) && "IMG" === r.tagName && (n.setBaseAndExtent(e.startContainer, e.startOffset, e.endContainer, e.endOffset),
n.anchorNode === e.startContainer && n.focusNode === e.endContainer || n.setBaseAndExtent(r, 0, r, 1)),
s.fire("AfterSetSelectionRange", {
range: e,
forward: t
})
}
}
}, g = {
bookmarkManager: null,
controlSelection: null,
dom: u,
win: c,
serializer: e,
editor: s,
collapse: a,
setCursorLocation: function(e, t) {
var n = u.createRng();
e ? (n.setStart(e, t),
n.setEnd(e, t),
m(n),
a(!1)) : (Bh(u, n, s.getBody(), !0),
m(n))
},
getContent: function(e) {
return Om(s, e)
},
setContent: t,
getBookmark: function(e, t) {
return n.getBookmark(e, t)
},
moveToBookmark: function(e) {
return n.moveToBookmark(e)
},
select: function(e, t) {
return function(r, e, o) {
return R.from(e).map(function(e) {
var t = r.nodeIndex(e)
, n = r.createRng();
return n.setStart(e.parentNode, t),
n.setEnd(e.parentNode, t + 1),
o && (Bh(r, n, e, !0),
Bh(r, n, e, !1)),
n
})
}(u, e, t).each(m),
e
},
isCollapsed: function() {
var e = h()
, t = d();
return !(!e || e.item) && (e.compareEndPoints ? 0 === e.compareEndPoints("StartToEnd", e) : !t || e.collapsed)
},
isForward: r,
setNode: function(e) {
return t(u.getOuterHTML(e)),
e
},
getNode: function() {
return function(e, t) {
var n, r, o, i, a;
return t ? (r = t.startContainer,
o = t.endContainer,
i = t.startOffset,
a = t.endOffset,
n = t.commonAncestorContainer,
!t.collapsed && (r === o && a - i < 2 && r.hasChildNodes() && (n = r.childNodes[i]),
3 === r.nodeType && 3 === o.nodeType && (r = r.length === i ? um(r.nextSibling, !0) : r.parentNode,
o = 0 === a ? um(o.previousSibling, !1) : o.parentNode,
r && r === o)) ? r : n && 3 === n.nodeType ? n.parentNode : n) : e
}(s.getBody(), h())
},
getSel: d,
setRng: m,
getRng: h,
getStart: function(e) {
return im(s.getBody(), h(), e)
},
getEnd: function(e) {
return am(s.getBody(), h(), e)
},
getSelectedBlocks: function(e, t) {
return function(e, t, n, r) {
var o, i, a = [];
if (i = e.getRoot(),
n = e.getParent(n || im(i, t, t.collapsed), e.isBlock),
r = e.getParent(r || am(i, t, t.collapsed), e.isBlock),
n && n !== i && a.push(n),
n && r && n !== r)
for (var u = new Fi(o = n,i); (o = u.next()) && o !== r; )
e.isBlock(o) && a.push(o);
return r && n !== r && r !== i && a.push(r),
a
}(u, h(), e, t)
},
normalize: function() {
var e = h()
, t = d();
if (Mm(t) || !Ph(s))
return e;
var n = Bm(u, e);
return n.each(function(e) {
m(e, r())
}),
n.getOr(e)
},
selectorChanged: function(e, t) {
return i(e, t),
g
},
selectorChangedWithUnbind: i,
getScrollContainer: function() {
for (var e, t = u.getRoot(); t && "BODY" !== t.nodeName; ) {
if (t.scrollHeight > t.clientHeight) {
e = t;
break
}
t = t.parentNode
}
return e
},
scrollIntoView: function(e, t) {
return mm(s, e, t)
},
placeCaretAt: function(e, t) {
return m(pm(e, t, s.getDoc()))
},
getBoundingClientRect: function() {
var e = h();
return e.collapsed ? Vc.fromRangeStart(e).getClientRects()[0] : e.getBoundingClientRect()
},
destroy: function() {
c = l = f = null,
o.destroy()
}
};
return n = fh(g),
o = lh(g, s),
g.bookmarkManager = n,
g.controlSelection = o,
g
}
function Fm(e, i, a) {
e.addNodeFilter("font", function(e) {
F(e, function(e) {
var t = i.parse(e.attr("style"))
, n = e.attr("color")
, r = e.attr("face")
, o = e.attr("size");
n && (t.color = n),
r && (t["font-family"] = r),
o && (t["font-size"] = a[parseInt(e.attr("size"), 10) - 1]),
e.name = "span",
e.attr("style", i.serialize(t)),
function(t, e) {
F(e, function(e) {
t.attr(e, null)
})
}(e, ["color", "face", "size"])
})
})
}
function Um(e, t) {
var n = $r();
t.convert_fonts_to_spans && Fm(e, n, Zn.explode(t.font_size_legacy_values)),
function(e, n) {
e.addNodeFilter("strike", function(e) {
F(e, function(e) {
var t = n.parse(e.attr("style"));
t["text-decoration"] = "line-through",
e.name = "span",
e.attr("style", n.serialize(t))
})
})
}(e, n)
}
function jm(e, t, n, r) {
(e.padd_empty_with_br || t.insert) && n[r.name] ? r.empty().append(new hf("br",1)).shortEnded = !0 : r.empty().append(new hf("#text",3)).value = qr
}
function qm(t, e, n, r) {
return r.isEmpty(e, n, function(e) {
return function(e, t) {
var n = e.getElementRule(t.name);
return n && n.paddEmpty
}(t, e)
})
}
function $m(T, A) {
void 0 === A && (A = Pr());
var M = {}
, R = []
, _ = {}
, D = {};
(T = T || {}).validate = !("validate"in T) || T.validate,
T.root_name = T.root_name || "body";
var O = function(e) {
var t, n, r;
(n = e.name)in M && ((r = _[n]) ? r.push(e) : _[n] = [e]),
t = R.length;
for (; t--; )
(n = R[t].name)in e.attributes.map && ((r = D[n]) ? r.push(e) : D[n] = [e]);
return e
}
, e = {
schema: A,
addAttributeFilter: function(e, n) {
tg(ng(e), function(e) {
var t;
for (t = 0; t < R.length; t++)
if (R[t].name === e)
return void R[t].callbacks.push(n);
R.push({
name: e,
callbacks: [n]
})
})
},
getAttributeFilters: function() {
return [].concat(R)
},
addNodeFilter: function(e, n) {
tg(ng(e), function(e) {
var t = M[e];
t || (M[e] = t = []),
t.push(n)
})
},
getNodeFilters: function() {
var e = [];
for (var t in M)
M.hasOwnProperty(t) && e.push({
name: t,
callbacks: M[t]
});
return e
},
filterNode: O,
parse: function(e, a) {
var t, n, r, o, i, u, c, s, l, f, d, h = [];
a = a || {},
_ = {},
D = {},
l = rg(eg("script,style,head,html,body,title,meta,param"), A.getBlockElements());
var m, g = A.getNonEmptyElements(), p = A.children, v = T.validate, y = "forced_root_block"in a ? a.forced_root_block : T.forced_root_block, b = !1 === (m = y) ? "" : !0 === m ? "p" : m, C = A.getWhiteSpaceElements(), w = /^[ \t\r\n]+/, x = /[ \t\r\n]+$/, z = /[ \t\r\n]+/g, E = /^[ \t\r\n]+$/;
f = C.hasOwnProperty(a.context) || C.hasOwnProperty(T.root_name);
function N(e) {
var t, n, r, o, i = A.getBlockElements();
for (t = e.prev; t && 3 === t.type; ) {
if (0 < (r = t.value.replace(x, "")).length)
return void (t.value = r);
if (n = t.next) {
if (3 === n.type && n.value.length) {
t = t.prev;
continue
}
if (!i[n.name] && "script" !== n.name && "style" !== n.name) {
t = t.prev;
continue
}
}
o = t.prev,
t.remove(),
t = o
}
}
var S = function(e, t) {
var n, r = new hf(e,t);
return e in M && ((n = _[e]) ? n.push(r) : _[e] = [r]),
r
};
t = fd({
validate: v,
allow_script_urls: T.allow_script_urls,
allow_conditional_comments: T.allow_conditional_comments,
preserve_cdata: T.preserve_cdata,
self_closing_elements: function(e) {
var t, n = {};
for (t in e)
"li" !== t && "p" !== t && (n[t] = e[t]);
return n
}(A.getSelfClosingElements()),
cdata: function(e) {
d.append(S("#cdata", 4)).value = e
},
text: function(e, t) {
var n;
f || (e = e.replace(z, " "),
function(e, t) {
return e && (t[e.name] || "br" === e.name)
}(d.lastChild, l) && (e = e.replace(w, ""))),
0 !== e.length && ((n = S("#text", 3)).raw = !!t,
d.append(n).value = e)
},
comment: function(e) {
d.append(S("#comment", 8)).value = e
},
pi: function(e, t) {
d.append(S(e, 7)).value = t,
N(d)
},
doctype: function(e) {
d.append(S("#doctype", 10)).value = e,
N(d)
},
start: function(e, t, n) {
var r, o, i, a, u;
if (i = v ? A.getElementRule(e) : {}) {
for ((r = S(i.outputName || e, 1)).attributes = t,
r.shortEnded = n,
d.append(r),
(u = p[d.name]) && p[r.name] && !u[r.name] && h.push(r),
o = R.length; o--; )
(a = R[o].name)in t.map && ((c = D[a]) ? c.push(r) : D[a] = [r]);
l[e] && N(r),
n || (d = r),
!f && C[e] && (f = !0)
}
},
end: function(e) {
var t, n, r, o, i;
if (n = v ? A.getElementRule(e) : {}) {
if (l[e] && !f) {
if ((t = d.firstChild) && 3 === t.type)
if (0 < (r = t.value.replace(w, "")).length)
t.value = r,
t = t.next;
else
for (o = t.next,
t.remove(),
t = o; t && 3 === t.type; )
r = t.value,
o = t.next,
0 !== r.length && !E.test(r) || (t.remove(),
t = o),
t = o;
if ((t = d.lastChild) && 3 === t.type)
if (0 < (r = t.value.replace(x, "")).length)
t.value = r,
t = t.prev;
else
for (o = t.prev,
t.remove(),
t = o; t && 3 === t.type; )
r = t.value,
o = t.prev,
0 !== r.length && !E.test(r) || (t.remove(),
t = o),
t = o
}
if (f && C[e] && (f = !1),
n.removeEmpty && qm(A, g, C, d) && !d.attr("name") && !d.attr("id"))
return i = d.parent,
l[d.name] ? d.empty().remove() : d.unwrap(),
void (d = i);
n.paddEmpty && (function(e) {
return Qm(e, "#text") && e.firstChild.value === qr
}(d) || qm(A, g, C, d)) && jm(T, a, l, d),
d = d.parent
}
}
}, A);
var k = d = new hf(a.context || T.root_name,11);
if (t.parse(e, a.format),
v && h.length && (a.context ? a.invalid = !0 : function(e) {
var t, n, r, o, i, a, u, c, s, l, f, d, h, m, g, p;
for (d = eg("tr,td,th,tbody,thead,tfoot,table"),
l = A.getNonEmptyElements(),
f = A.getWhiteSpaceElements(),
h = A.getTextBlockElements(),
m = A.getSpecialElements(),
t = 0; t < e.length; t++)
if ((n = e[t]).parent && !n.fixed)
if (h[n.name] && "li" === n.parent.name) {
for (g = n.next; g && h[g.name]; )
g.name = "li",
g.fixed = !0,
n.parent.insert(g, n.parent),
g = g.next;
n.unwrap(n)
} else {
for (o = [n],
r = n.parent; r && !A.isValidChild(r.name, n.name) && !d[r.name]; r = r.parent)
o.push(r);
if (r && 1 < o.length) {
for (o.reverse(),
i = a = O(o[0].clone()),
s = 0; s < o.length - 1; s++) {
for (A.isValidChild(a.name, o[s].name) ? (u = O(o[s].clone()),
a.append(u)) : u = a,
c = o[s].firstChild; c && c !== o[s + 1]; )
p = c.next,
u.append(c),
c = p;
a = u
}
qm(A, l, f, i) ? r.insert(n, o[0], !0) : (r.insert(i, o[0], !0),
r.insert(n, i)),
r = o[0],
(qm(A, l, f, r) || Qm(r, "br")) && r.empty().remove()
} else if (n.parent) {
if ("li" === n.name) {
if ((g = n.prev) && ("ul" === g.name || "ul" === g.name)) {
g.append(n);
continue
}
if ((g = n.next) && ("ul" === g.name || "ul" === g.name)) {
g.insert(n, g.firstChild, !0);
continue
}
n.wrap(O(new hf("ul",1)));
continue
}
A.isValidChild(n.parent.name, "div") && A.isValidChild("div", n.name) ? n.wrap(O(new hf("div",1))) : m[n.name] ? n.empty().remove() : n.unwrap()
}
}
}(h)),
b && ("body" === k.name || a.isRootContent) && function() {
function e(e) {
e && ((r = e.firstChild) && 3 === r.type && (r.value = r.value.replace(w, "")),
(r = e.lastChild) && 3 === r.type && (r.value = r.value.replace(x, "")))
}
var t, n, r = k.firstChild;
if (A.isValidChild(k.name, b.toLowerCase())) {
for (; r; )
t = r.next,
3 === r.type || 1 === r.type && "p" !== r.name && !l[r.name] && !r.attr("data-mce-type") ? (n || ((n = S(b, 1)).attr(T.forced_root_block_attrs),
k.insert(n, r)),
n.append(r)) : (e(n),
n = null),
r = t;
e(n)
}
}(),
!a.invalid) {
for (s in _)
if (_.hasOwnProperty(s)) {
for (c = M[s],
i = (n = _[s]).length; i--; )
n[i].parent || n.splice(i, 1);
for (r = 0,
o = c.length; r < o; r++)
c[r](n, s, a)
}
for (r = 0,
o = R.length; r < o; r++)
if ((c = R[r]).name in D) {
for (i = (n = D[c.name]).length; i--; )
n[i].parent || n.splice(i, 1);
for (i = 0,
u = c.callbacks.length; i < u; i++)
c.callbacks[i](n, c.name, a)
}
}
return k
}
};
return function(e, g) {
var p = e.schema;
g.remove_trailing_brs && e.addNodeFilter("br", function(e, t, n) {
var r, o, i, a, u, c, s, l, f = e.length, d = Zn.extend({}, p.getBlockElements()), h = p.getNonEmptyElements(), m = p.getNonEmptyElements();
for (d.body = 1,
r = 0; r < f; r++)
if (i = (o = e[r]).parent,
d[o.parent.name] && o === i.lastChild) {
for (u = o.prev; u; ) {
if ("span" !== (c = u.name) || "bookmark" !== u.attr("data-mce-type")) {
if ("br" !== c)
break;
if ("br" === c) {
o = null;
break
}
}
u = u.prev
}
o && (o.remove(),
qm(p, h, m, i) && (s = p.getElementRule(i.name)) && (s.removeEmpty ? i.remove() : s.paddEmpty && jm(g, n, d, i)))
} else {
for (a = o; i && i.firstChild === a && i.lastChild === a && !d[(a = i).name]; )
i = i.parent;
a === i && !0 !== g.padd_empty_with_br && ((l = new hf("#text",3)).value = qr,
o.replace(l))
}
}),
e.addAttributeFilter("href", function(e) {
var t, n, r, o = e.length;
if (!g.allow_unsafe_link_target)
for (; o--; )
"a" === (t = e[o]).name && "_blank" === t.attr("target") && t.attr("rel", (n = t.attr("rel"),
void 0,
r = n ? Zn.trim(n) : "",
/\b(noopener)\b/g.test(r) ? r : r.split(" ").filter(function(e) {
return 0 < e.length
}).concat(["noopener"]).sort().join(" ")))
}),
g.allow_html_in_named_anchor || e.addAttributeFilter("id,name", function(e) {
for (var t, n, r, o, i = e.length; i--; )
if ("a" === (o = e[i]).name && o.firstChild && !o.attr("href"))
for (r = o.parent,
t = o.lastChild; n = t.prev,
r.insert(t, o),
t = n; )
;
}),
g.fix_list_elements && e.addNodeFilter("ul,ol", function(e) {
for (var t, n, r = e.length; r--; )
if ("ul" === (n = (t = e[r]).parent).name || "ol" === n.name)
if (t.prev && "li" === t.prev.name)
t.prev.append(t);
else {
var o = new hf("li",1);
o.attr("style", "list-style-type: none"),
t.wrap(o)
}
}),
g.validate && p.getValidClasses() && e.addAttributeFilter("class", function(e) {
for (var t, n, r, o, i, a, u, c = e.length, s = p.getValidClasses(); c--; ) {
for (n = (t = e[c]).attr("class").split(" "),
i = "",
r = 0; r < n.length; r++)
o = n[r],
u = !1,
(a = s["*"]) && a[o] && (u = !0),
a = s[t.name],
!u && a && a[o] && (u = !0),
u && (i && (i += " "),
i += o);
i.length || (i = null),
t.attr("class", i)
}
})
}(e, T),
Jm(e, T),
e
}
function Wm(e, t, n) {
-1 === Zn.inArray(t, n) && (e.addAttributeFilter(n, function(e, t) {
for (var n = e.length; n--; )
e[n].attr(t, null)
}),
t.push(n))
}
function Km(e, t, n, r, o) {
return function(e, t, n) {
return t.no_events || !e ? n : function(e, t) {
return e.fire("PostProcess", t)
}(e, te(te({}, t), {
content: n
})).content
}(e, o, function(e, t, n) {
return wf(e, t).serialize(n)
}(t, n, r))
}
function Xm(a, u) {
var e = ["data-mce-selected"]
, c = u && u.dom ? u.dom : Qi.DOM
, s = u && u.schema ? u.schema : Pr(a);
a.entity_encoding = a.entity_encoding || "named",
a.remove_trailing_brs = !("remove_trailing_brs"in a) || a.remove_trailing_brs;
var l = $m(a, s);
return og(l, a, c),
{
schema: s,
addNodeFilter: l.addNodeFilter,
addAttributeFilter: l.addAttributeFilter,
serialize: function(e, t) {
void 0 === t && (t = {});
var n = te({
format: "html"
}, t)
, r = ag(u, e, n)
, o = function(e, t, n) {
var r = mu.trim(n.getInner ? t.innerHTML : e.getOuterHTML(t));
return n.selection || hr(it.fromDom(t)) ? r : Zn.trim(r)
}(c, r, n)
, i = function(e, t, n) {
var r = n.selection ? te({
forced_root_block: !1
}, n) : n
, o = e.parse(t, r);
return ig(o),
o
}(l, o, n);
return "tree" === n.format ? i : Km(u, a, s, i, n)
},
addRules: function(e) {
s.addValidElements(e)
},
setRules: function(e) {
s.setValidElements(e)
},
addTempAttr: d(Wm, l, e),
getTempAttrs: function() {
return e
},
getNodeFilters: l.getNodeFilters,
getAttributeFilters: l.getAttributeFilters
}
}
function Ym(e, t) {
var n = Xm(e, t);
return {
schema: n.schema,
addNodeFilter: n.addNodeFilter,
addAttributeFilter: n.addAttributeFilter,
serialize: n.serialize,
addRules: n.addRules,
setRules: n.setRules,
addTempAttr: n.addTempAttr,
getTempAttrs: n.getTempAttrs,
getNodeFilters: n.getNodeFilters,
getAttributeFilters: n.getAttributeFilters
}
}
function Gm(e) {
var t, n, r = decodeURIComponent(e).split(",");
return (n = /data:([^;]+)/.exec(r[0])) && (t = n[1]),
{
type: t,
data: r[1]
}
}
function Zm(e) {
return (e || "blobid") + lg++
}
var Jm = function(e, t) {
t.inline_styles && Um(e, t)
}
, Qm = function(e, t) {
return e && e.firstChild && e.firstChild === e.lastChild && e.firstChild.name === t
}
, eg = Zn.makeMap
, tg = Zn.each
, ng = Zn.explode
, rg = Zn.extend
, og = function(t, c, s) {
t.addAttributeFilter("data-mce-tabindex", function(e, t) {
for (var n, r = e.length; r--; )
(n = e[r]).attr("tabindex", n.attr("data-mce-tabindex")),
n.attr(t, null)
}),
t.addAttributeFilter("src,href,style", function(e, t) {
for (var n, r, o = e.length, i = "data-mce-" + t, a = c.url_converter, u = c.url_converter_scope; o--; )
(r = (n = e[o]).attr(i)) !== undefined ? (n.attr(t, 0 < r.length ? r : null),
n.attr(i, null)) : (r = n.attr(t),
"style" === t ? r = s.serializeStyle(s.parseStyle(r), n.name) : a && (r = a.call(u, r, t, n.name)),
n.attr(t, 0 < r.length ? r : null))
}),
t.addAttributeFilter("class", function(e) {
for (var t, n, r = e.length; r--; )
(n = (t = e[r]).attr("class")) && (n = t.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g, ""),
t.attr("class", 0 < n.length ? n : null))
}),
t.addAttributeFilter("data-mce-type", function(e, t, n) {
for (var r, o = e.length; o--; ) {
if ("bookmark" === (r = e[o]).attr("data-mce-type") && !n.cleanup)
R.from(r.firstChild).exists(function(e) {
return !mu.isZwsp(e.value)
}) ? r.unwrap() : r.remove()
}
}),
t.addNodeFilter("noscript", function(e) {
for (var t, n = e.length; n--; )
(t = e[n].firstChild) && (t.value = Sr.decode(t.value))
}),
t.addNodeFilter("script,style", function(e, t) {
for (var n, r, o, i = e.length, a = function(e) {
return e.replace(/()/g, "\n").replace(/^[\r\n]*|[\r\n]*$/g, "").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g, "")
}; i--; )
r = (n = e[i]).firstChild ? n.firstChild.value : "",
"script" === t ? ((o = n.attr("type")) && n.attr("type", "mce-no/type" === o ? null : o.replace(/^mce\-/, "")),
"xhtml" === c.element_format && 0 < r.length && (n.firstChild.value = "// ")) : "xhtml" === c.element_format && 0 < r.length && (n.firstChild.value = "\x3c!--\n" + a(r) + "\n--\x3e")
}),
t.addNodeFilter("#comment", function(e) {
for (var t, n = e.length; n--; )
t = e[n],
c.preserve_cdata && 0 === t.value.indexOf("[CDATA[") ? (t.name = "#cdata",
t.type = 4,
t.value = s.decode(t.value.replace(/^\[CDATA\[|\]\]$/g, ""))) : 0 === t.value.indexOf("mce:protected ") && (t.name = "#text",
t.type = 3,
t.raw = !0,
t.value = unescape(t.value).substr(14))
}),
t.addNodeFilter("xml:namespace,input", function(e, t) {
for (var n, r = e.length; r--; )
7 === (n = e[r]).type ? n.remove() : 1 === n.type && ("input" !== t || n.attr("type") || n.attr("type", "text"))
}),
t.addAttributeFilter("data-mce-type", function(e) {
F(e, function(e) {
"format-caret" === e.attr("data-mce-type") && (e.isEmpty(t.schema.getNonEmptyElements()) ? e.remove() : e.unwrap())
})
}),
t.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize,data-mce-placeholder", function(e, t) {
for (var n = e.length; n--; )
e[n].attr(t, null)
})
}
, ig = function(e) {
function t(e) {
return e && "br" === e.name
}
var n, r;
t(n = e.lastChild) && t(r = n.prev) && (n.remove(),
r.remove())
}
, ag = function(e, t, n) {
return function(e, t) {
return e && e.hasEventListeners("PreProcess") && !t.no_events
}(e, n) ? function(e, t, n) {
var r, o, i, a = e.dom;
return t = t.cloneNode(!0),
(r = j.document.implementation).createHTMLDocument && (o = r.createHTMLDocument(""),
Zn.each("BODY" === t.nodeName ? t.childNodes : [t], function(e) {
o.body.appendChild(o.importNode(e, !0))
}),
t = "BODY" !== t.nodeName ? o.body.firstChild : o.body,
i = a.doc,
a.doc = o),
function(e, t) {
e.fire("PreProcess", t)
}(e, te(te({}, n), {
node: t
})),
i && (a.doc = i),
t
}(e, t, n) : t
}
, ug = function(e) {
return 0 === e.indexOf("blob:") ? function(i) {
return new wn(function(e, t) {
function n() {
t("Cannot convert " + i + " to Blob. Resource might not exist or is inaccessible.")
}
try {
var r = new j.XMLHttpRequest;
r.open("GET", i, !0),
r.responseType = "blob",
r.onload = function() {
200 === this.status ? e(this.response) : n()
}
,
r.onerror = n,
r.send()
} catch (o) {
n()
}
}
)
}(e) : 0 === e.indexOf("data:") ? function(i) {
return new wn(function(e) {
var t, n, r, o = Gm(i);
try {
t = j.atob(o.data)
} catch (HN) {
return void e(new j.Blob([]))
}
for (n = new Uint8Array(t.length),
r = 0; r < n.length; r++)
n[r] = t.charCodeAt(r);
e(new j.Blob([n],{
type: o.type
}))
}
)
}(e) : null
}
, cg = function(n) {
return new wn(function(e) {
var t = new j.FileReader;
t.onloadend = function() {
e(t.result)
}
,
t.readAsDataURL(n)
}
)
}
, sg = Gm
, lg = 0;
function fg(o, i) {
var a = {};
return {
findAll: function(e, n) {
var t;
n = n || $(!0),
t = U(function(e) {
return e ? G(e.getElementsByTagName("img")) : []
}(e), function(e) {
var t = e.src;
return !!Wn.fileApi && (!e.hasAttribute("data-mce-bogus") && (!e.hasAttribute("data-mce-placeholder") && (!(!t || t === Wn.transparentSrc) && (0 === t.indexOf("blob:") ? !o.isUploaded(t) && n(e) : 0 === t.indexOf("data:") && n(e)))))
});
var r = X(t, function(n) {
if (a[n.src])
return new wn(function(t) {
a[n.src].then(function(e) {
if ("string" == typeof e)
return e;
t({
image: n,
blobInfo: e.blobInfo
})
})
}
);
var e = new wn(function(e, t) {
!function(n, r, o, t) {
var i, a;
0 !== r.src.indexOf("blob:") ? (i = sg(r.src).data,
(a = n.findFirst(function(e) {
return e.base64() === i
})) ? o({
image: r,
blobInfo: a
}) : ug(r.src).then(function(e) {
a = n.create(Zm(), e, i),
n.add(a),
o({
image: r,
blobInfo: a
})
}, function(e) {
t(e)
})) : (a = n.getByUri(r.src)) ? o({
image: r,
blobInfo: a
}) : ug(r.src).then(function(t) {
cg(t).then(function(e) {
i = sg(e).data,
a = n.create(Zm(), t, i),
n.add(a),
o({
image: r,
blobInfo: a
})
})
}, function(e) {
t(e)
})
}(i, n, e, t)
}
).then(function(e) {
return delete a[e.image.src],
e
})["catch"](function(e) {
return delete a[n.src],
e
});
return a[n.src] = e
});
return wn.all(r)
}
}
}
function dg(c, a) {
function n(e, t, n, r) {
var o, i;
(o = new j.XMLHttpRequest).open("POST", a.url),
o.withCredentials = a.credentials,
o.upload.onprogress = function(e) {
r(e.loaded / e.total * 100)
}
,
o.onerror = function() {
n("Image upload failed due to a XHR Transport error. Code: " + o.status)
}
,
o.onload = function() {
var e;
o.status < 200 || 300 <= o.status ? n("HTTP Error: " + o.status) : (e = JSON.parse(o.responseText)) && "string" == typeof e.location ? t(function(e, t) {
return e ? e.replace(/\/$/, "") + "/" + t.replace(/^\//, "") : t
}(a.basePath, e.location)) : n("Invalid JSON: " + o.responseText)
}
,
(i = new j.FormData).append("file", e.blob(), e.filename()),
o.send(i)
}
function s(e, t) {
return {
url: t,
blobInfo: e,
status: !0
}
}
function l(e, t) {
return {
url: "",
blobInfo: e,
status: !1,
error: t
}
}
function f(e, t) {
Zn.each(o[e], function(e) {
e(t)
}),
delete o[e]
}
function r(e, t) {
return e = Zn.grep(e, function(e) {
return !c.isUploaded(e.blobUri())
}),
wn.all(Zn.map(e, function(e) {
return c.isPending(e.blobUri()) ? function(e) {
var t = e.blobUri();
return new wn(function(e) {
o[t] = o[t] || [],
o[t].push(e)
}
)
}(e) : function(i, a, u) {
return c.markPending(i.blobUri()),
new wn(function(t) {
function e() {}
var n;
try {
var r = function() {
n && (n.close(),
e)
};
a(i, function(e) {
r(),
c.markUploaded(i.blobUri(), e),
f(i.blobUri(), s(i, e)),
t(s(i, e))
}, function(e) {
r(),
c.removeFailed(i.blobUri()),
f(i.blobUri(), l(i, e)),
t(l(i, e))
}, function(e) {
e < 0 || 100 < e || (n = n || u()).progressBar.value(e)
})
} catch (o) {
t(l(i, o.message))
}
}
)
}(e, a.handler, t)
}))
}
var o = {};
return !1 === B(a.handler) && (a.handler = n),
{
upload: function(e, t) {
return !a.url && function(e) {
return e === n
}(a.handler) ? new wn(function(e) {
e([])
}
) : r(e, t)
}
}
}
function hg(o) {
function t(t) {
return function(e) {
return o.selection ? t(e) : []
}
}
function r(e, t, n) {
for (var r = 0; -1 !== (r = e.indexOf(t, r)) && (e = e.substring(0, r) + n + e.substr(r + t.length),
r += n.length - t.length + 1),
-1 !== r; )
;
return e
}
function i(e, t, n) {
return e = r(e, 'src="' + t + '"', 'src="' + n + '"'),
e = r(e, 'data-mce-src="' + t + '"', 'data-mce-src="' + n + '"')
}
function n(t, n) {
F(o.undoManager.data, function(e) {
"fragmented" === e.type ? e.fragments = X(e.fragments, function(e) {
return i(e, t, n)
}) : e.content = i(e.content, t, n)
})
}
function a() {
return o.notificationManager.open({
text: o.translate("Image uploading..."),
type: "info",
timeout: -1,
progressBar: !0
})
}
function u(e, t) {
h.removeByUri(e.src),
n(e.src, t),
o.$(e).attr({
src: ys(o) ? function(e) {
return e + (-1 === e.indexOf("?") ? "?" : "&") + (new Date).getTime()
}(t) : t,
"data-mce-src": o.convertURL(t, "src")
})
}
function c(n) {
return f = f || dg(m, {
url: Cs(o),
basePath: ws(o),
credentials: xs(o),
handler: zs(o)
}),
p().then(t(function(r) {
var e = X(r, function(e) {
return e.blobInfo
});
return f.upload(e, a).then(t(function(e) {
var t = X(e, function(e, t) {
var n = r[t].image;
return e.status && bs(o) ? u(n, e.url) : e.error && ch.uploadError(o, e.error),
{
element: n,
status: e.status
}
});
return n && n(t),
t
}))
}))
}
function e(e) {
if (vs(o))
return c(e)
}
function s(t) {
return !1 !== b(g, function(e) {
return e(t)
}) && (0 !== t.getAttribute("src").indexOf("data:") || ps(o)(t))
}
function l(e) {
return e.replace(/src="(blob:[^"]+)"/g, function(e, n) {
var t = m.getResultUri(n);
if (t)
return 'src="' + t + '"';
var r = h.getByUri(n);
return (r = r || y(o.editorManager.get(), function(e, t) {
return e || t.editorUpload && t.editorUpload.blobCache.getByUri(n)
}, null)) ? 'src="data:' + r.blob().type + ";base64," + r.base64() + '"' : e
})
}
var f, d, h = function() {
var n = []
, o = function(e) {
var t, n;
if (!e.blob || !e.base64)
throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");
return t = e.id || Gg("blobid"),
n = e.name || t,
{
id: $(t),
name: $(n),
filename: $(n + "." + function(e) {
return {
"image/jpeg": "jpg",
"image/jpg": "jpg",
"image/gif": "gif",
"image/png": "png"
}[e.toLowerCase()] || "dat"
}(e.blob.type)),
blob: $(e.blob),
base64: $(e.base64),
blobUri: $(e.blobUri || j.URL.createObjectURL(e.blob)),
uri: $(e.uri)
}
}
, t = function(t) {
return e(function(e) {
return e.id() === t
})
}
, e = function(e) {
return U(n, e)[0]
};
return {
create: function(e, t, n, r) {
if (K(e))
return o({
id: e,
name: r,
blob: t,
base64: n
});
if (_(e))
return o(e);
throw new Error("Unknown input type")
},
add: function(e) {
t(e.id()) || n.push(e)
},
get: t,
getByUri: function(t) {
return e(function(e) {
return e.blobUri() === t
})
},
findFirst: e,
removeByUri: function(t) {
n = U(n, function(e) {
return e.blobUri() !== t || (j.URL.revokeObjectURL(e.blobUri()),
!1)
})
},
destroy: function() {
F(n, function(e) {
j.URL.revokeObjectURL(e.blobUri())
}),
n = []
}
}
}(), m = function v() {
function n(e, t) {
return {
status: e,
resultUri: t
}
}
function t(e) {
return e in r
}
var r = {};
return {
hasBlobUri: t,
getResultUri: function(e) {
var t = r[e];
return t ? t.resultUri : null
},
isPending: function(e) {
return !!t(e) && 1 === r[e].status
},
isUploaded: function(e) {
return !!t(e) && 2 === r[e].status
},
markPending: function(e) {
r[e] = n(1, null)
},
markUploaded: function(e, t) {
r[e] = n(2, t)
},
removeFailed: function(e) {
delete r[e]
},
destroy: function() {
r = {}
}
}
}(), g = [], p = function() {
return (d = d || fg(m, h)).findAll(o.getBody(), s).then(t(function(e) {
return e = U(e, function(e) {
return "string" != typeof e || (ch.displayError(o, e),
!1)
}),
F(e, function(e) {
n(e.image.src, e.blobInfo.blobUri()),
e.image.src = e.blobInfo.blobUri(),
e.image.removeAttribute("data-mce-src")
}),
e
}))
};
return o.on("SetContent", function() {
vs(o) ? e() : p()
}),
o.on("RawSaveContent", function(e) {
e.content = l(e.content)
}),
o.on("GetContent", function(e) {
e.source_view || "raw" === e.format || (e.content = l(e.content))
}),
o.on("PostRender", function() {
o.parser.addNodeFilter("img", function(e) {
F(e, function(e) {
var t = e.attr("src");
if (!h.getByUri(t)) {
var n = m.getResultUri(t);
n && e.attr("src", n)
}
})
})
}),
{
blobCache: h,
addFilter: function(e) {
g.push(e)
},
uploadImages: c,
uploadImagesAuto: e,
scanForImages: p,
destroy: function() {
h.destroy(),
m.destroy(),
d = f = null
}
}
}
function mg(e, t, n) {
var r = e.formatter.get(n);
if (r)
for (var o = 0; o < r.length; o++)
if (!1 === r[o].inherit && e.dom.is(t, r[o].selector))
return !0;
return !1
}
function gg(t, e, n, r) {
var o = t.dom.getRoot();
return e !== o && (e = t.dom.getParent(e, function(e) {
return !!mg(t, e, n) || (e.parentNode === o || !!tp(t, e, n, r, !0))
}),
tp(t, e, n, r))
}
function pg(e, t, n) {
return !!ep(t, n.inline) || (!!ep(t, n.block) || (n.selector ? 1 === t.nodeType && e.is(t, n.selector) : void 0))
}
function vg(e, t, n, r, o, i) {
var a, u, c, s = n[r];
if (n.onmatch)
return n.onmatch(t, n, r);
if (s)
if ("undefined" == typeof s.length) {
for (a in s)
if (s.hasOwnProperty(a)) {
if (u = "attributes" === r ? e.getAttrib(t, a) : vl(e, t, a),
o && !u && !n.exact)
return;
if ((!o || n.exact) && !ep(u, pl(e, ml(s[a], i), a)))
return
}
} else
for (c = 0; c < s.length; c++)
if ("attributes" === r ? e.getAttrib(t, s[c]) : vl(e, t, s[c]))
return n;
return n
}
function yg(e, t, n, r) {
var o;
return r ? gg(e, r, t, n) : (r = e.selection.getNode(),
!!gg(e, r, t, n) || !((o = e.selection.getStart()) === r || !gg(e, o, t, n)))
}
function bg(r, o, i) {
var e, a = [], u = {};
return e = r.selection.getStart(),
r.dom.getParent(e, function(e) {
var t, n;
for (t = 0; t < o.length; t++)
n = o[t],
!u[n] && tp(r, e, n, i) && (u[n] = !0,
a.push(n))
}, r.dom.getRoot()),
a
}
function Cg(e, t) {
var n, r, o, i, a, u = e.formatter.get(t), c = e.dom;
if (u)
for (n = e.selection.getStart(),
r = bl(c, n),
i = u.length - 1; 0 <= i; i--) {
if (!(a = u[i].selector) || u[i].defaultBlock)
return !0;
for (o = r.length - 1; 0 <= o; o--)
if (c.is(r[o], a))
return !0
}
return !1
}
function wg(e, t) {
return e.splitText(t)
}
function xg(e) {
var t = e.startContainer
, n = e.startOffset
, r = e.endContainer
, o = e.endOffset;
return t === r && Qt.isText(t) ? 0 < n && n < t.nodeValue.length && (t = (r = wg(t, n)).previousSibling,
n < o ? (t = r = wg(r, o -= n).previousSibling,
o = r.nodeValue.length,
n = 0) : o = 0) : (Qt.isText(t) && 0 < n && n < t.nodeValue.length && (t = wg(t, n),
n = 0),
Qt.isText(r) && 0 < o && o < r.nodeValue.length && (o = (r = wg(r, o).previousSibling).nodeValue.length)),
{
startContainer: t,
startOffset: n,
endContainer: r,
endOffset: o
}
}
function zg(e, t, n) {
if (0 !== n) {
var r = e.data.slice(t, t + n)
, o = t + n >= e.data.length
, i = 0 === t;
e.replaceData(t, n, function(n, r, o) {
return y(n, function(e, t) {
return ul(t) || Kl(t) ? e.previousCharIsSpace || "" === e.str && r || e.str.length === n.length - 1 && o ? {
previousCharIsSpace: !1,
str: e.str + qr
} : {
previousCharIsSpace: !0,
str: e.str + " "
} : {
previousCharIsSpace: !1,
str: e.str + t
}
}, {
previousCharIsSpace: !1,
str: ""
}).str
}(r, i, o))
}
}
function Eg(e, t) {
var n = e.data.slice(t)
, r = n.length - function(e) {
return e.replace(/^\s+/g, "")
}(n).length;
return zg(e, t, r)
}
function Ng(e, t) {
var n = it.fromDom(e);
return function(e, t, n) {
return Sa(e, t, n).isSome()
}(it.fromDom(t), "pre,code", d(pe, n))
}
function Sg(e, t) {
return qa(t) && !1 === function(e, t) {
return Qt.isText(t) && /^[ \t\r\n]*$/.test(t.data) && !1 === Ng(e, t)
}(e, t) || function(e) {
return Qt.isElement(e) && "A" === e.nodeName && e.hasAttribute("name")
}(t) || np(t)
}
function kg(e, t) {
return function(e, t) {
var n = e.container()
, r = e.offset();
return !1 === Vc.isTextPosition(e) && n === t.parentNode && r > Vc.before(t).offset()
}(t, e) ? Vc(t.container(), t.offset() - 1) : t
}
function Tg(e) {
return qa(e.previousSibling) ? R.some(function(e) {
return Qt.isText(e) ? Vc(e, e.data.length) : Vc.after(e)
}(e.previousSibling)) : e.previousSibling ? Ul.lastPositionIn(e.previousSibling) : R.none()
}
function Ag(e) {
return qa(e.nextSibling) ? R.some(function(e) {
return Qt.isText(e) ? Vc(e, 0) : Vc.before(e)
}(e.nextSibling)) : e.nextSibling ? Ul.firstPositionIn(e.nextSibling) : R.none()
}
function Mg(e, t) {
return Tg(t).orThunk(function() {
return Ag(t)
}).orThunk(function() {
return function(e, t) {
var n = Vc.before(t.previousSibling ? t.previousSibling : t.parentNode);
return Ul.prevPosition(e, n).fold(function() {
return Ul.nextPosition(e, Vc.after(t))
}, R.some)
}(e, t)
})
}
function Rg(e, t) {
return Ag(t).orThunk(function() {
return Tg(t)
}).orThunk(function() {
return function(e, t) {
return Ul.nextPosition(e, Vc.after(t)).fold(function() {
return Ul.prevPosition(e, Vc.before(t))
}, R.some)
}(e, t)
})
}
function _g(e, t, n) {
return function(e, t, n) {
return e ? Rg(t, n) : Mg(t, n)
}(e, t, n).map(d(kg, n))
}
function Dg(t, n, e) {
e.fold(function() {
t.focus()
}, function(e) {
t.selection.setRng(e.toRange(), n)
})
}
function Og(e, t) {
return t && e.schema.getBlockElements().hasOwnProperty(Oe(t))
}
function Hg(e) {
if (ip(e)) {
var t = it.fromHtml('
');
return _e(e),
Ht(e, t),
R.some(Vc.before(t.dom()))
}
return R.none()
}
function Bg(e, t, a) {
var n = Ce(e).filter(Lt)
, r = we(e).filter(Lt);
return Bt(e),
function(e, t, n, r) {
return e.isSome() && t.isSome() && n.isSome() ? R.some(r(e.getOrDie(), t.getOrDie(), n.getOrDie())) : R.none()
}(n, r, t, function(e, t, n) {
var r = e.dom()
, o = t.dom()
, i = r.data.length;
return function(e, t, n) {
var r = se(e.data).length;
e.appendData(t.data),
Bt(it.fromDom(t)),
n && Eg(e, r)
}(r, o, a),
n.container() === o ? Vc(r, i) : n
}).orThunk(function() {
return a && (n.each(function(e) {
return function(e, t) {
var n = e.data.slice(0, t)
, r = n.length - se(n).length;
return zg(e, t - r, r)
}(e.dom(), e.dom().length)
}),
r.each(function(e) {
return Eg(e.dom(), 0)
})),
t
})
}
function Pg(e) {
return 0 < function(e) {
for (var t = []; e; ) {
if (3 === e.nodeType && e.nodeValue !== up || 1 < e.childNodes.length)
return [];
1 === e.nodeType && t.push(e),
e = e.firstChild
}
return t
}(e).length
}
function Lg(e) {
if (e) {
var t = new Fi(e,e);
for (e = t.current(); e; e = t.next())
if (Qt.isText(e))
return e
}
return null
}
function Vg(e) {
var t = it.fromTag("span");
return Ke(t, {
id: cp,
"data-mce-bogus": "1",
"data-mce-type": "format-caret"
}),
e && Ht(t, it.fromText(up)),
t
}
function Ig(e, t, n) {
void 0 === n && (n = !0);
var r = e.dom
, o = e.selection;
if (Pg(t))
ap(e, !1, it.fromDom(t), n);
else {
var i = o.getRng()
, a = r.getParent(t, r.isBlock)
, u = function(e) {
var t = Lg(e);
return t && t.nodeValue.charAt(0) === up && t.deleteData(0, 1),
t
}(t);
i.startContainer === u && 0 < i.startOffset && i.setStart(u, i.startOffset - 1),
i.endContainer === u && 0 < i.endOffset && i.setEnd(u, i.endOffset - 1),
r.remove(t, !0),
a && r.isEmpty(a) && Jg(it.fromDom(a)),
o.setRng(i)
}
}
function Fg(e, t, n) {
void 0 === n && (n = !0);
var r = e.dom
, o = e.selection;
if (t)
Ig(e, t, n);
else if (!(t = lc(e.getBody(), o.getStart())))
for (; t = r.get(cp); )
Ig(e, t, !1)
}
function Ug(e, t, n) {
var r = e.dom
, o = r.getParent(n, d(dl, e));
o && r.isEmpty(o) ? n.parentNode.replaceChild(t, n) : (Zg(it.fromDom(n)),
r.isEmpty(n) ? n.parentNode.replaceChild(t, n) : r.insertAfter(t, n))
}
function jg(e, t) {
return e.appendChild(t),
t
}
function qg(e, t) {
var n = m(e, function(e, t) {
return jg(e, t.cloneNode(!1))
}, t);
return jg(n, n.ownerDocument.createTextNode(up))
}
function $g(t) {
t.on("mouseup keydown", function(e) {
!function(e, t) {
var n = e.selection
, r = e.getBody();
Fg(e, null, !1),
8 !== t && 46 !== t || !n.isCollapsed() || n.getStart().innerHTML !== up || Fg(e, lc(r, n.getStart())),
37 !== t && 39 !== t || Fg(e, lc(r, n.getStart()))
}(t, e.keyCode)
})
}
function Wg(e, t) {
return e.schema.getTextInlineElements().hasOwnProperty(Oe(t)) && !sc(t.dom()) && !Qt.isBogus(t.dom())
}
var Kg, Xg, Yg = 0, Gg = function(e) {
return e + Yg++ + function() {
function e() {
return Math.round(4294967295 * Math.random()).toString(36)
}
return "s" + (new Date).getTime().toString(36) + e() + e() + e()
}()
}, Zg = function(e) {
var t = Ca(e, "br")
, n = U(function(e) {
for (var t = [], n = e.dom(); n; )
t.push(it.fromDom(n)),
n = n.lastChild;
return t
}(e).slice(-1), er);
t.length === n.length && F(n, Bt)
}, Jg = function(e) {
_e(e),
Ht(e, it.fromHtml('
'))
}, Qg = function(n) {
ke(n).each(function(t) {
Ce(t).each(function(e) {
ar(n) && er(t) && ar(e) && Bt(t)
})
})
}, ep = gl, tp = function(e, t, n, r, o) {
var i, a, u, c, s = e.formatter.get(n), l = e.dom;
if (s && t)
for (a = 0; a < s.length; a++)
if (i = s[a],
pg(e.dom, t, i) && vg(l, t, i, "attributes", o, r) && vg(l, t, i, "styles", o, r)) {
if (c = i.classes)
for (u = 0; u < c.length; u++)
if (!e.dom.hasClass(t, c[u]))
return;
return i
}
}, np = Qt.hasAttribute("data-mce-bookmark"), rp = Qt.hasAttribute("data-mce-bogus"), op = Qt.hasAttributeValue("data-mce-bogus", "all"), ip = function(e, t) {
return void 0 === t && (t = !0),
function(e, t) {
var n, r = 0;
if (Sg(e, e))
return !1;
if (!(n = e.firstChild))
return !0;
var o = new Fi(n,e);
do {
if (t) {
if (op(n)) {
n = o.next(!0);
continue
}
if (rp(n)) {
n = o.next();
continue
}
}
if (Qt.isBr(n))
r++,
n = o.next();
else {
if (Sg(e, n))
return !1;
n = o.next()
}
} while (n);
return r <= 1
}(e.dom(), t)
}, ap = function(t, n, e, r) {
void 0 === r && (r = !0);
var o = _g(n, t.getBody(), e.dom())
, i = Ea(e, d(Og, t), function(t) {
return function(e) {
return e.dom() === t
}
}(t.getBody()))
, a = Bg(e, o, function(e, t) {
return ee(e.schema.getTextInlineElements(), Oe(t))
}(t, e));
t.dom.isEmpty(t.getBody()) ? (t.setContent(""),
t.selection.setCursorLocation()) : i.bind(Hg).fold(function() {
r && Dg(t, n, a)
}, function(e) {
r && Dg(t, n, R.some(e))
})
}, up = mu.ZWSP, cp = "_mce_caret", sp = {}, lp = Xn.filter, fp = Xn.each;
Xg = function(e) {
var t, n, r = e.selection.getRng();
t = Qt.matchNodeNames(["pre"]),
r.collapsed || (n = e.selection.getSelectedBlocks(),
fp(lp(lp(n, t), function(e) {
return t(e.previousSibling) && -1 !== Xn.indexOf(n, e.previousSibling)
}), function(e) {
!function(e, t) {
Ii(t).remove(),
Ii(e).append("
").append(t.childNodes)
}(e.previousSibling, e)
}))
}
,
sp[Kg = "pre"] || (sp[Kg] = []),
sp[Kg].push(Xg);
function dp(o) {
this.compare = function(e, t) {
if (e.nodeName !== t.nodeName)
return !1;
function n(n) {
var r = {};
return Ap(o.getAttribs(n), function(e) {
var t = e.nodeName.toLowerCase();
0 !== t.indexOf("_") && "style" !== t && 0 !== t.indexOf("data-") && (r[t] = o.getAttrib(n, t))
}),
r
}
function r(e, t) {
var n, r;
for (r in e)
if (e.hasOwnProperty(r)) {
if (void 0 === (n = t[r]))
return !1;
if (e[r] !== n)
return !1;
delete t[r]
}
for (r in t)
if (t.hasOwnProperty(r))
return !1;
return !0
}
return !!r(n(e), n(t)) && (!!r(o.parseStyle(o.getAttrib(e, "style")), o.parseStyle(o.getAttrib(t, "style"))) && (!Wl(e) && !Wl(t)))
}
}
function hp(e, t, n) {
return e.isChildOf(t, n) && t !== n && !e.isBlock(n)
}
function mp(e, t, n) {
var r, o;
if (r = t[n ? "startContainer" : "endContainer"],
o = t[n ? "startOffset" : "endOffset"],
Qt.isElement(r)) {
var i = r.childNodes.length - 1;
!n && o && o--,
r = r.childNodes[i < o ? i : o]
}
return Qt.isText(r) && n && o >= r.nodeValue.length && (r = new Fi(r,e.getBody()).next() || r),
Qt.isText(r) && !n && 0 === o && (r = new Fi(r,e.getBody()).prev() || r),
r
}
function gp(e, t, n, r) {
var o = e.create(n, r);
return t.parentNode.insertBefore(o, t),
o.appendChild(t),
o
}
function pp(e, t, n, r, o) {
var i = it.fromDom(t)
, a = it.fromDom(e.create(r, o))
, u = n ? ze(i) : xe(i);
return Re(a, u),
n ? (Te(i, a),
Me(a, i)) : (Ae(i, a),
Ht(a, i)),
a.dom()
}
function vp(e, t, n, r) {
return !(t = fl(t, n, r)) || "BR" === t.nodeName || e.isBlock(t)
}
function yp(e, r, o, t, i) {
var n, a = e.dom;
if (!function(e, t, n) {
return !!_p(t, n.inline) || (!!_p(t, n.block) || (n.selector ? Qt.isElement(t) && e.is(t, n.selector) : void 0))
}(a, t, r) && !function(e, t) {
return t.links && "A" === e.nodeName
}(t, r))
return !1;
var u = t;
if ("all" !== r.remove) {
Rp(r.styles, function(e, t) {
e = pl(a, ml(e, o), t),
"number" == typeof t && (t = e,
i = null),
!r.remove_similar && i && !_p(vl(a, i, t), e) || a.setStyle(u, t, ""),
n = !0
}),
n && "" === a.getAttrib(u, "style") && (u.removeAttribute("style"),
u.removeAttribute("data-mce-style")),
Rp(r.attributes, function(e, t) {
var n;
if (e = ml(e, o),
"number" == typeof t && (t = e,
i = null),
r.remove_similar || !i || _p(a.getAttrib(i, t), e)) {
if ("class" === t && (e = a.getAttrib(u, t)) && (n = "",
Rp(e.split(/\s+/), function(e) {
/mce\-\w+/.test(e) && (n += (n ? " " : "") + e)
}),
n))
return void a.setAttrib(u, t, n);
"class" === t && u.removeAttribute("className"),
Mp.test(t) && u.removeAttribute("data-mce-" + t),
u.removeAttribute(t)
}
}),
Rp(r.classes, function(e) {
e = ml(e, o),
i && !a.hasClass(i, e) || a.removeClass(u, e)
});
for (var c = a.getAttribs(u), s = 0; s < c.length; s++) {
var l = c[s].nodeName;
if (0 !== l.indexOf("_") && 0 !== l.indexOf("data-"))
return !1
}
}
return "none" !== r.remove ? (function(t, e, n) {
var r, o = e.parentNode, i = t.dom, a = as(t);
n.block && (a ? o === i.getRoot() && (n.list_block && _p(e, n.list_block) || Rp(Zn.grep(e.childNodes), function(e) {
hl(t, a, e.nodeName.toLowerCase()) ? r ? r.appendChild(e) : (r = gp(i, e, a),
i.setAttribs(r, t.settings.forced_root_block_attrs)) : r = 0
})) : i.isBlock(e) && !i.isBlock(o) && (vp(i, e, !1) || vp(i, e.firstChild, !0, !0) || e.insertBefore(i.create("br"), e.firstChild),
vp(i, e, !0) || vp(i, e.lastChild, !1, !0) || e.appendChild(i.create("br")))),
n.selector && n.inline && !_p(n.inline, e) || i.remove(e, !0)
}(e, u, r),
!0) : void 0
}
function bp(u, n, a, e, r) {
function c(e) {
var t = function(n, e, r, o, i) {
var a;
return Rp(bl(n.dom, e.parentNode).reverse(), function(e) {
var t;
a || "_start" === e.id || "_end" === e.id || (t = tp(n, e, r, o, i)) && !1 !== t.split && (a = e)
}),
a
}(u, e, n, a, r);
return function(e, t, n, r, o, i, a, u) {
var c, s, l, f, d, h, m = e.dom;
if (n) {
for (h = n.parentNode,
c = r.parentNode; c && c !== h; c = c.parentNode) {
for (s = m.clone(c, !1),
d = 0; d < t.length; d++)
if (yp(e, t[d], u, s, s)) {
s = 0;
break
}
s && (l && s.appendChild(l),
f = f || s,
l = s)
}
!i || a.mixed && m.isBlock(n) || (r = m.split(n, r)),
l && (o.parentNode.insertBefore(l, o),
f.appendChild(o))
}
return r
}(u, l, t, e, e, !0, f, a)
}
function s(e) {
var t = h.get(e ? "_start" : "_end")
, n = t[e ? "firstChild" : "lastChild"];
return function(e) {
return Wl(e) && Qt.isElement(e) && ("_start" === e.id || "_end" === e.id)
}(n) && (n = n[e ? "firstChild" : "lastChild"]),
Qt.isText(n) && 0 === n.data.length && (n = e ? t.previousSibling || t.nextSibling : t.nextSibling || t.previousSibling),
h.remove(t, !0),
n
}
function t(e) {
var t, n, r = e.commonAncestorContainer, o = Tl(u, e, l, !0);
if (f.split) {
if (o = xg(o),
(t = mp(u, o, !0)) !== (n = mp(u, o))) {
if (/^(TR|TH|TD)$/.test(t.nodeName) && t.firstChild && (t = "TR" === t.nodeName ? t.firstChild.firstChild || t : t.firstChild || t),
r && /^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName) && function(e) {
return /^(TH|TD)$/.test(e.nodeName)
}(n) && n.firstChild && (n = n.firstChild || n),
hp(h, t, n)) {
var i = R.from(t.firstChild).getOr(t);
return c(pp(h, i, !0, "span", {
id: "_start",
"data-mce-type": "bookmark"
})),
void s(!0)
}
if (hp(h, n, t)) {
i = R.from(n.lastChild).getOr(n);
return c(pp(h, i, !1, "span", {
id: "_end",
"data-mce-type": "bookmark"
})),
void s(!1)
}
t = gp(h, t, "span", {
id: "_start",
"data-mce-type": "bookmark"
}),
n = gp(h, n, "span", {
id: "_end",
"data-mce-type": "bookmark"
});
var a = h.createRng();
a.setStartAfter(t),
a.setEndBefore(n),
ef(h, a, function(e) {
F(e, function(e) {
Wl(e) || Wl(e.parentNode) || c(e)
})
}),
c(t),
c(n),
t = s(!0),
n = s()
} else
t = n = c(t);
o.startContainer = t.parentNode ? t.parentNode : t,
o.startOffset = h.nodeIndex(t),
o.endContainer = n.parentNode ? n.parentNode : n,
o.endOffset = h.nodeIndex(n) + 1
}
ef(h, o, function(e) {
Rp(e, function(e) {
g(e),
Qt.isElement(e) && "underline" === u.dom.getStyle(e, "text-decoration") && e.parentNode && "underline" === yl(h, e.parentNode) && yp(u, {
deep: !1,
exact: !0,
inline: "span",
styles: {
textDecoration: "underline"
}
}, null, e)
})
})
}
var o, i, l = u.formatter.get(n), f = l[0], d = !0, h = u.dom, m = u.selection, g = function(e) {
var t, n, r, o, i;
if (Qt.isElement(e) && h.getContentEditable(e) && (o = d,
d = "true" === h.getContentEditable(e),
i = !0),
t = Zn.grep(e.childNodes),
d && !i)
for (n = 0,
r = l.length; n < r && !yp(u, l[n], a, e, e); n++)
;
if (f.deep && t.length) {
for (n = 0,
r = t.length; n < r; n++)
g(t[n]);
i && (d = o)
}
};
if (e)
sl(e) ? ((i = h.createRng()).setStartBefore(e),
i.setEndAfter(e),
t(i)) : t(e);
else if ("false" !== h.getContentEditable(m.getNode()))
m.isCollapsed() && f.inline && !h.select("td[data-mce-selected],th[data-mce-selected]").length ? function(e, t, n, r) {
var o, i, a, u, c, s, l, f = e.dom, d = e.selection, h = [], m = d.getRng();
for (o = m.startContainer,
i = m.startOffset,
3 === (c = o).nodeType && (i !== o.nodeValue.length && (u = !0),
c = c.parentNode); c; ) {
if (tp(e, c, t, n, r)) {
s = c;
break
}
c.nextSibling && (u = !0),
h.push(c),
c = c.parentNode
}
if (s)
if (u) {
a = d.getBookmark(),
m.collapse(!0);
var g = Tl(e, m, e.formatter.get(t), !0);
g = xg(g),
e.formatter.remove(t, n, g),
d.moveToBookmark(a)
} else {
l = lc(e.getBody(), s);
var p = Vg(!1).dom()
, v = qg(h, p);
Ug(e, p, l || s),
Ig(e, l, !1),
d.setCursorLocation(v, 1),
f.isEmpty(s) && f.remove(s)
}
}(u, n, a, r) : (o = Wc.getPersistentBookmark(u.selection, !0),
t(m.getRng()),
m.moveToBookmark(o),
f.inline && yg(u, n, a, m.getStart()) && ll(h, m, m.getRng()),
u.nodeChanged());
else {
e = m.getNode();
for (var p = 0, v = l.length; p < v && (!l[p].ceFalseOverride || !yp(u, l[p], a, e, e)); p++)
;
}
}
function Cp(e) {
return Qt.isElement(e) && !Wl(e) && !sc(e) && !Qt.isBogus(e)
}
function wp(e, t) {
var n;
for (n = e; n; n = n[t]) {
if (Qt.isText(n) && 0 !== n.nodeValue.length)
return e;
if (Qt.isElement(n) && !Wl(n))
return n
}
return e
}
function xp(e, t, n) {
var r, o, i = new dp(e);
if (t && n && (t = wp(t, "previousSibling"),
n = wp(n, "nextSibling"),
i.compare(t, n))) {
for (r = t.nextSibling; r && r !== n; )
r = (o = r).nextSibling,
t.appendChild(o);
return e.remove(n),
Zn.each(Zn.grep(n.childNodes), function(e) {
t.appendChild(e)
}),
t
}
return n
}
function zp(n, e) {
return d(function(e, t) {
return !(!t || !vl(n, t, e))
}, e)
}
function Ep(r, e, t) {
return d(function(e, t, n) {
r.setStyle(n, e, t),
"" === n.getAttribute("style") && n.removeAttribute("style"),
Hp(r, n)
}, e, t)
}
function Np(e, t) {
var n;
1 === t.nodeType && t.parentNode && 1 === t.parentNode.nodeType && (n = yl(e, t.parentNode),
e.getStyle(t, "color") && n ? e.setStyle(t, "text-decoration", n) : e.getStyle(t, "text-decoration") === n && e.setStyle(t, "text-decoration", null))
}
function Sp(n, e, r, o) {
Dp(e, function(t) {
Dp(n.dom.select(t.inline, o), function(e) {
Cp(e) && yp(n, t, r, e, t.exact ? e : null)
}),
function(r, e, t) {
if (e.clear_child_styles) {
var n = e.links ? "*:not(a)" : "*";
Dp(r.select(n, t), function(n) {
Cp(n) && Dp(e.styles, function(e, t) {
r.setStyle(n, t, "")
})
})
}
}(n.dom, t, o)
})
}
function kp(t) {
var n = Vc.fromRangeStart(t)
, r = Vc.fromRangeEnd(t)
, o = t.commonAncestorContainer;
return Ul.fromPosition(!1, o, r).map(function(e) {
return !kc(n, r, o) && kc(n, e, o) ? function(e, t, n, r) {
var o = j.document.createRange();
return o.setStart(e, t),
o.setEnd(n, r),
o
}(n.container(), n.offset(), e.container(), e.offset()) : t
}).getOr(t)
}
function Tp(e, t, n, r, o) {
return null === t.get() && function(t, n) {
var r = at({});
t.set({}),
n.on("NodeChange", function(e) {
Vp(n, e.element, r, t.get())
})
}(t, e),
function(e, t, n, r) {
var o = e.get();
F(t.split(","), function(e) {
o[e] || (o[e] = {
similar: r,
callbacks: []
}),
o[e].callbacks.push(n)
}),
e.set(o)
}(t, n, r, o),
{
unbind: function() {
return function(e, t, n) {
var r = e.get();
F(t.split(","), function(e) {
r[e].callbacks = U(r[e].callbacks, function(e) {
return e !== n
}),
0 === r[e].callbacks.length && delete r[e]
}),
e.set(r)
}(t, n, r)
}
}
}
var Ap = Zn.each
, Mp = /^(src|href|style)$/
, Rp = Zn.each
, _p = gl
, Dp = Zn.each
, Op = function(e, t, n) {
Dp(e.childNodes, function(e) {
Cp(e) && (t(e) && n(e),
e.hasChildNodes() && Op(e, t, n))
})
}
, Hp = function(e, t) {
"SPAN" === t.nodeName && 0 === e.getAttribs(t).length && e.remove(t, !0)
}
, Bp = function(e) {
return e.collapsed ? e : kp(e)
}
, Pp = Zn.each
, Lp = function(m, g, p, r) {
function v(n, e) {
if (e = e || C,
n) {
if (e.onformat && e.onformat(n, e, p, r),
Pp(e.styles, function(e, t) {
i.setStyle(n, t, ml(e, p))
}),
e.styles) {
var t = i.getAttrib(n, "style");
t && i.setAttrib(n, "data-mce-style", t)
}
Pp(e.attributes, function(e, t) {
i.setAttrib(n, t, ml(e, p))
}),
Pp(e.classes, function(e) {
e = ml(e, p),
i.hasClass(n, e) || i.addClass(n, e)
})
}
}
function y(e, t) {
var n = !1;
return !!C.selector && (Pp(e, function(e) {
if (!("collapsed"in e && e.collapsed !== o))
return i.is(t, e.selector) && !sc(t) ? (v(t, e),
!(n = !0)) : void 0
}),
n)
}
function e(c, e, t, s) {
var l, f, d = [], h = !0;
l = C.inline || C.block,
f = c.create(l),
v(f),
ef(c, e, function(e) {
var a, u = function(e) {
var t = !1
, n = h
, r = e.nodeName.toLowerCase()
, o = e.parentNode.nodeName.toLowerCase();
if (Qt.isElement(e) && c.getContentEditable(e) && (n = h,
h = "true" === c.getContentEditable(e),
t = !0),
gl(r, "br"))
return a = 0,
void (C.block && c.remove(e));
if (C.wrapper && tp(m, e, g, p))
a = 0;
else {
if (h && !t && C.block && !C.wrapper && dl(m, r) && hl(m, o, l))
return e = c.rename(e, l),
v(e),
d.push(e),
void (a = 0);
if (C.selector) {
var i = y(b, e);
if (!C.inline || i)
return void (a = 0)
}
!h || t || !hl(m, l, r) || !hl(m, o, l) || !s && 3 === e.nodeType && 1 === e.nodeValue.length && 65279 === e.nodeValue.charCodeAt(0) || sc(e) || C.inline && c.isBlock(e) ? (a = 0,
Pp(Zn.grep(e.childNodes), u),
t && (h = n),
a = 0) : (a || (a = c.clone(f, !1),
e.parentNode.insertBefore(a, e),
d.push(a)),
a.appendChild(e))
}
};
Pp(e, u)
}),
!0 === C.links && Pp(d, function(e) {
var t = function(e) {
"A" === e.nodeName && v(e, C),
Pp(Zn.grep(e.childNodes), t)
};
t(e)
}),
Pp(d, function(e) {
function t(e) {
var t = !1;
return Pp(e.childNodes, function(e) {
if (function(e) {
return e && 1 === e.nodeType && !Wl(e) && !sc(e) && !Qt.isBogus(e)
}(e))
return t = e,
!1
}),
t
}
var n, r, o, i, a;
(r = 0,
Pp(e.childNodes, function(e) {
(function(e) {
return e && Qt.isText(e) && 0 === e.length
}
)(e) || Wl(e) || r++
}),
n = r,
!(1 < d.length) && c.isBlock(e) || 0 !== n) ? (C.inline || C.wrapper) && (C.exact || 1 !== n || ((i = t(o = e)) && !Wl(i) && pg(c, i, C) && (a = c.clone(i, !1),
v(a),
c.replace(a, o, !0),
c.remove(i, !0)),
e = a || o),
Sp(m, b, p, e),
function(t, n, r, o, i) {
tp(t, i.parentNode, r, o) && yp(t, n, o, i) || n.merge_with_parents && t.dom.getParent(i.parentNode, function(e) {
if (tp(t, e, r, o))
return yp(t, n, o, i),
!0
})
}(m, C, g, p, e),
function(e, t, n, r) {
t.styles && t.styles.backgroundColor && Op(r, zp(e, "fontSize"), Ep(e, "backgroundColor", ml(t.styles.backgroundColor, n)))
}(c, C, p, e),
function(e, t, n, r) {
"sub" !== t.inline && "sup" !== t.inline || (Op(r, zp(e, "fontSize"), Ep(e, "fontSize", "")),
e.remove(e.select("sup" === t.inline ? "sub" : "sup", r), !0))
}(c, C, 0, e),
function(e, t, n, r) {
r && !1 !== t.merge_siblings && (r = xp(e, fl(r), r),
r = xp(e, r, fl(r, !0)))
}(c, C, 0, e)) : c.remove(e, !0)
})
}
var t, n, b = m.formatter.get(g), C = b[0], o = !r && m.selection.isCollapsed(), i = m.dom, a = m.selection;
if ("false" !== i.getContentEditable(a.getNode())) {
if (C) {
if (r)
sl(r) ? y(b, r) || ((n = i.createRng()).setStartBefore(r),
n.setEndAfter(r),
e(i, Tl(m, n, b), 0, !0)) : e(i, r, 0, !0);
else if (o && C.inline && !i.select("td[data-mce-selected],th[data-mce-selected]").length)
!function(e, t, n) {
var r, o, i, a, u, c, s = e.selection;
a = (r = s.getRng()).startOffset,
c = r.startContainer.nodeValue,
(o = lc(e.getBody(), s.getStart())) && (i = Lg(o));
var l = /[^\s\u00a0\u00ad\u200b\ufeff]/;
c && 0 < a && a < c.length && l.test(c.charAt(a)) && l.test(c.charAt(a - 1)) ? (u = s.getBookmark(),
r.collapse(!0),
r = Tl(e, r, e.formatter.get(t)),
r = xg(r),
e.formatter.apply(t, n, r),
s.moveToBookmark(u)) : (o && i.nodeValue === up || (i = (o = function(e, t) {
return e.importNode(t, !0)
}(e.getDoc(), Vg(!0).dom())).firstChild,
r.insertNode(o),
a = 1),
e.formatter.apply(t, n, o),
s.setCursorLocation(i, a))
}(m, g, p);
else {
var u = m.selection.getNode();
m.settings.forced_root_block || !b[0].defaultBlock || i.getParent(u, i.isBlock) || Lp(m, b[0].defaultBlock),
m.selection.setRng(Bp(m.selection.getRng())),
t = Wc.getPersistentBookmark(m.selection, !0),
e(i, Tl(m, a.getRng(), b)),
C.styles && function(e, t, n, r) {
(t.styles.color || t.styles.textDecoration) && (Zn.walk(r, d(Np, e), "childNodes"),
Np(e, r))
}(i, C, 0, u),
a.moveToBookmark(t),
ll(i, a, a.getRng()),
m.nodeChanged()
}
!function(e, t) {
fp(sp[e], function(e) {
e(t)
})
}(g, m)
}
} else {
r = a.getNode();
for (var c = 0, s = b.length; c < s; c++)
if (b[c].ceFalseOverride && i.is(r, b[c].selector))
return void v(r, b[c])
}
}
, Vp = function(r, e, t, n) {
var o = Z(t.get())
, i = {}
, a = {}
, u = U(bl(r.dom, e), function(e) {
return 1 === e.nodeType && !e.getAttribute("data-mce-bogus")
});
N(n, function(e, n) {
Zn.each(u, function(t) {
return r.formatter.matchNode(t, n, {}, e.similar) ? (-1 === o.indexOf(n) && (F(e.callbacks, function(e) {
e(!0, {
node: t,
format: n,
parents: u
})
}),
i[n] = e.callbacks),
a[n] = e.callbacks,
!1) : !mg(r, t, n) && void 0
})
});
var c = Ip(t.get(), a, e, u);
t.set(te(te({}, i), c))
}
, Ip = function(e, n, r, o) {
return T(e, function(e, t) {
return !!ee(n, t) || (F(e, function(e) {
e(!1, {
node: r,
format: t,
parents: o
})
}),
!1)
}).t
}
, Fp = function(r) {
var t = {
valigntop: [{
selector: "td,th",
styles: {
verticalAlign: "top"
}
}],
valignmiddle: [{
selector: "td,th",
styles: {
verticalAlign: "middle"
}
}],
valignbottom: [{
selector: "td,th",
styles: {
verticalAlign: "bottom"
}
}],
alignleft: [{
selector: "figure.image",
collapsed: !1,
classes: "align-left",
ceFalseOverride: !0,
preview: "font-family font-size"
}, {
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",
styles: {
textAlign: "left"
},
inherit: !1,
preview: !1,
defaultBlock: "div"
}, {
selector: "img,table",
collapsed: !1,
styles: {
"float": "left"
},
preview: "font-family font-size"
}],
aligncenter: [{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",
styles: {
textAlign: "center"
},
inherit: !1,
preview: "font-family font-size",
defaultBlock: "div"
}, {
selector: "figure.image",
collapsed: !1,
classes: "align-center",
ceFalseOverride: !0,
preview: "font-family font-size"
}, {
selector: "img",
collapsed: !1,
styles: {
display: "block",
marginLeft: "auto",
marginRight: "auto"
},
preview: !1
}, {
selector: "table",
collapsed: !1,
styles: {
marginLeft: "auto",
marginRight: "auto"
},
preview: "font-family font-size"
}],
alignright: [{
selector: "figure.image",
collapsed: !1,
classes: "align-right",
ceFalseOverride: !0,
preview: "font-family font-size"
}, {
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",
styles: {
textAlign: "right"
},
inherit: !1,
preview: "font-family font-size",
defaultBlock: "div"
}, {
selector: "img,table",
collapsed: !1,
styles: {
"float": "right"
},
preview: "font-family font-size"
}],
alignjustify: [{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",
styles: {
textAlign: "justify"
},
inherit: !1,
defaultBlock: "div",
preview: "font-family font-size"
}],
bold: [{
inline: "strong",
remove: "all"
}, {
inline: "span",
styles: {
fontWeight: "bold"
}
}, {
inline: "b",
remove: "all"
}],
italic: [{
inline: "em",
remove: "all"
}, {
inline: "span",
styles: {
fontStyle: "italic"
}
}, {
inline: "i",
remove: "all"
}],
underline: [{
inline: "span",
styles: {
textDecoration: "underline"
},
exact: !0
}, {
inline: "u",
remove: "all"
}],
strikethrough: [{
inline: "span",
styles: {
textDecoration: "line-through"
},
exact: !0
}, {
inline: "strike",
remove: "all"
}],
forecolor: {
inline: "span",
styles: {
color: "%value"
},
links: !0,
remove_similar: !0,
clear_child_styles: !0
},
hilitecolor: {
inline: "span",
styles: {
backgroundColor: "%value"
},
links: !0,
remove_similar: !0,
clear_child_styles: !0
},
fontname: {
inline: "span",
toggle: !1,
styles: {
fontFamily: "%value"
},
clear_child_styles: !0
},
fontsize: {
inline: "span",
toggle: !1,
styles: {
fontSize: "%value"
},
clear_child_styles: !0
},
fontsize_class: {
inline: "span",
attributes: {
"class": "%value"
}
},
blockquote: {
block: "blockquote",
wrapper: !0,
remove: "all"
},
subscript: {
inline: "sub"
},
superscript: {
inline: "sup"
},
code: {
inline: "code"
},
link: {
inline: "a",
selector: "a",
remove: "all",
split: !0,
deep: !0,
onmatch: function() {
return !0
},
onformat: function(n, e, t) {
Zn.each(t, function(e, t) {
r.setAttrib(n, t, e)
})
}
},
removeformat: [{
selector: "b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",
remove: "all",
split: !0,
expand: !1,
block_expand: !0,
deep: !0
}, {
selector: "span",
attributes: ["style", "class"],
remove: "empty",
split: !0,
expand: !1,
deep: !0
}, {
selector: "*",
attributes: ["style", "class"],
split: !1,
expand: !1,
deep: !0
}]
};
return Zn.each("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/), function(e) {
t[e] = {
block: e,
remove: "all"
}
}),
t
};
function Up(e, t) {
function c(e) {
var t;
return r = "string" == typeof e ? {
name: e,
classes: [],
attrs: {}
} : e,
function(e, t) {
t.classes.length && jv.addClass(e, t.classes.join(" ")),
jv.setAttribs(e, t.attrs)
}(t = jv.create(r.name), r),
t
}
var n, r, o, s = t && t.schema || Pr({}), l = function(n, e, t) {
var r, o, i, a = 0 < e.length && e[0], u = a && a.name;
if (i = function(e, t) {
var n = "string" != typeof e ? e.nodeName.toLowerCase() : e
, r = s.getElementRule(n)
, o = r && r.parentsRequired;
return !(!o || !o.length) && (t && -1 !== Zn.inArray(o, t) ? t : o[0])
}(n, u))
u === i ? (o = e[0],
e = e.slice(1)) : o = i;
else if (a)
o = e[0],
e = e.slice(1);
else if (!t)
return n;
return o && (r = c(o)).appendChild(n),
t && (r || (r = jv.create("div")).appendChild(n),
Zn.each(t, function(e) {
var t = c(e);
r.insertBefore(t, n)
})),
l(r, e, o && o.siblings)
};
return e && e.length ? (r = e[0],
n = c(r),
(o = jv.create("div")).appendChild(l(n, e.slice(1), r.siblings)),
o) : ""
}
function jp(e) {
var t, a = {
classes: [],
attrs: {}
};
return "*" !== (e = a.selector = Zn.trim(e)) && (t = e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g, function(e, t, n, r, o) {
switch (t) {
case "#":
a.attrs.id = n;
break;
case ".":
a.classes.push(n);
break;
case ":":
-1 !== Zn.inArray("checked disabled enabled read-only required".split(" "), n) && (a.attrs[n] = n)
}
if ("[" === r) {
var i = o.match(/([\w\-]+)(?:\=\"([^\"]+))?/);
i && (a.attrs[i[1]] = i[2])
}
return ""
})),
a.name = t || "div",
a
}
function qp(n, e) {
var t, r, o, i, a, u, c = "";
if (!1 === (u = n.settings.preview_styles))
return "";
function s(e) {
return e.replace(/%(\w+)/g, "")
}
if ("string" != typeof u && (u = "font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),
"string" == typeof e) {
if (!(e = n.formatter.get(e)))
return;
e = e[0]
}
return "preview"in e && !1 === (u = e.preview) ? "" : (t = e.block || e.inline || "span",
r = (i = function(e) {
return e && "string" == typeof e ? (e = (e = e.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g, "$1"),
Zn.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/), function(e) {
var t = Zn.map(e.split(/(?:~\+|~|\+)/), jp)
, n = t.pop();
return t.length && (n.siblings = t),
n
}).reverse()) : []
}(e.selector)).length ? (i[0].name || (i[0].name = t),
t = e.selector,
Up(i, n)) : Up([t], n),
o = jv.select(t, r)[0] || r.firstChild,
Uv(e.styles, function(e, t) {
(e = s(e)) && jv.setStyle(o, t, e)
}),
Uv(e.attributes, function(e, t) {
(e = s(e)) && jv.setAttrib(o, t, e)
}),
Uv(e.classes, function(e) {
e = s(e),
jv.hasClass(o, e) || jv.addClass(o, e)
}),
n.fire("PreviewFormats"),
jv.setStyles(r, {
position: "absolute",
left: -65535
}),
n.getBody().appendChild(r),
a = jv.getStyle(n.getBody(), "fontSize", !0),
a = /px$/.test(a) ? parseInt(a, 10) : 0,
Uv(u.split(" "), function(e) {
var t = jv.getStyle(o, e, !0);
if (!("background-color" === e && /transparent|rgba\s*\([^)]+,\s*0\)/.test(t) && (t = jv.getStyle(n.getBody(), e, !0),
"#ffffff" === jv.toHex(t).toLowerCase()) || "color" === e && "#000000" === jv.toHex(t).toLowerCase())) {
if ("font-size" === e && /em|%$/.test(t)) {
if (0 === a)
return;
t = parseFloat(t) / (/%$/.test(t) ? 100 : 1) * a + "px"
}
"border" === e && t && (c += "padding:0 2px;"),
c += e + ":" + t + ";"
}
}),
n.fire("AfterPreviewFormats"),
jv.remove(r),
c)
}
function $p(e, t, n, r, o) {
var i = t.get(n);
!yg(e, n, r, o) || "toggle"in i[0] && !i[0].toggle ? Lp(e, n, r, o) : bp(e, n, r, o)
}
function Wp(e) {
var t = function o(e) {
var n = {}
, r = function(e, t) {
e && ("string" != typeof e ? Zn.each(e, function(e, t) {
r(t, e)
}) : (D(t) || (t = [t]),
Zn.each(t, function(e) {
"undefined" == typeof e.deep && (e.deep = !e.selector),
"undefined" == typeof e.split && (e.split = !e.selector || e.inline),
"undefined" == typeof e.remove && e.selector && !e.inline && (e.remove = "none"),
e.selector && e.inline && (e.mixed = !0,
e.block_expand = !0),
"string" == typeof e.classes && (e.classes = e.classes.split(/\s+/))
}),
n[e] = t))
};
return r(Fp(e.dom)),
r(e.settings.formats),
{
get: function(e) {
return e ? n[e] : n
},
has: function(e) {
return ee(n, e)
},
register: r,
unregister: function(e) {
return e && n[e] && delete n[e],
n
}
}
}(e)
, n = at(null);
return qv(e),
$g(e),
{
get: t.get,
has: t.has,
register: t.register,
unregister: t.unregister,
apply: d(Lp, e),
remove: d(bp, e),
toggle: d($p, e, t),
match: d(yg, e),
matchAll: d(bg, e),
matchNode: d(tp, e),
canApply: d(Cg, e),
formatChanged: d(Tp, e, n),
getCssText: d(qp, e)
}
}
function Kp(e) {
return Qt.isElement(e) ? e.outerHTML : Qt.isText(e) ? Sr.encodeRaw(e.data, !1) : Qt.isComment(e) ? "\x3c!--" + e.data + "--\x3e" : ""
}
function Xp(e, t, n) {
var r = function(e) {
var t, n, r;
for (r = j.document.createElement("div"),
t = j.document.createDocumentFragment(),
e && (r.innerHTML = e); n = r.firstChild; )
t.appendChild(n);
return t
}(t);
if (e.hasChildNodes() && n < e.childNodes.length) {
var o = e.childNodes[n];
o.parentNode.insertBefore(r, o)
} else
e.appendChild(r)
}
function Yp(e) {
return {
type: "fragmented",
fragments: e,
content: "",
bookmark: null,
beforeBookmark: null
}
}
function Gp(e) {
return {
type: "complete",
fragments: null,
content: e,
bookmark: null,
beforeBookmark: null
}
}
function Zp(e) {
return "fragmented" === e.type ? e.fragments.join("") : e.content
}
function Jp(e) {
var t = it.fromTag("body", Zv.get().getOrThunk(function() {
var e = j.document.implementation.createHTMLDocument("undo");
return Zv.set(R.some(e)),
e
}));
return _a(t, Zp(e)),
F(Ca(t, "*[data-mce-bogus]"), De),
function(e) {
return e.dom().innerHTML
}(t)
}
function Qp(e) {
return 0 === e.get()
}
function ev(e, t, n) {
Qp(n) && (e.typing = t)
}
function tv(e, t) {
e.typing && (ev(e, !1, t),
e.add())
}
function nv(n) {
var r = at(R.none())
, o = at(0)
, i = at(0)
, a = {
data: [],
typing: !1,
beforeChange: function() {
!function(e, t, n) {
Qp(t) && n.set(R.some(Wc.getUndoBookmark(e.selection)))
}(n, o, r)
},
add: function(e, t) {
return function(e, t, n, r, o, i, a) {
var u = e.settings
, c = Jv(e);
if (i = i || {},
i = Zn.extend(i, c),
!1 === Qp(r) || e.removed)
return null;
var s = t.data[n.get()];
if (e.fire("BeforeAddUndo", {
level: i,
lastLevel: s,
originalEvent: a
}).isDefaultPrevented())
return null;
if (s && ey(s, i))
return null;
if (t.data[n.get()] && o.get().each(function(e) {
t.data[n.get()].beforeBookmark = e
}),
u.custom_undo_redo_levels && t.data.length > u.custom_undo_redo_levels) {
for (var l = 0; l < t.data.length - 1; l++)
t.data[l] = t.data[l + 1];
t.data.length--,
n.set(t.data.length)
}
i.bookmark = Wc.getUndoBookmark(e.selection),
n.get() < t.data.length - 1 && (t.data.length = n.get() + 1),
t.data.push(i),
n.set(t.data.length - 1);
var f = {
level: i,
lastLevel: s,
originalEvent: a
};
return e.fire("AddUndo", f),
0 < n.get() && (e.setDirty(!0),
e.fire("change", f)),
i
}(n, a, i, o, r, e, t)
},
undo: function() {
return function(e, t, n, r) {
var o;
return t.typing && (t.add(),
t.typing = !1,
ev(t, !1, n)),
0 < r.get() && (r.set(r.get() - 1),
o = t.data[r.get()],
Qv(e, o, !0),
e.setDirty(!0),
e.fire("Undo", {
level: o
})),
o
}(n, a, o, i)
},
redo: function() {
return function(e, t, n) {
var r;
return t.get() < n.length - 1 && (t.set(t.get() + 1),
r = n[t.get()],
Qv(e, r, !1),
e.setDirty(!0),
e.fire("Redo", {
level: r
})),
r
}(n, i, a.data)
},
clear: function() {
!function(e, t, n) {
t.data = [],
n.set(0),
t.typing = !1,
e.fire("ClearUndos")
}(n, a, i)
},
reset: function() {
!function(e) {
e.clear(),
e.add()
}(a)
},
hasUndo: function() {
return function(e, t, n) {
return 0 < n.get() || t.typing && t.data[0] && !ey(Jv(e), t.data[0])
}(n, a, i)
},
hasRedo: function() {
return function(e, t) {
return t.get() < e.data.length - 1 && !e.typing
}(a, i)
},
transact: function(e) {
return function(e, t, n) {
return tv(e, t),
e.beforeChange(),
e.ignore(n),
e.add()
}(a, o, e)
},
ignore: function(e) {
!function(e, t) {
try {
e.set(e.get() + 1),
t()
} finally {
e.set(e.get() - 1)
}
}(o, e)
},
extra: function(e, t) {
!function(e, t, n, r, o) {
if (t.transact(r)) {
var i = t.data[n.get()].bookmark
, a = t.data[n.get() - 1];
Qv(e, a, !0),
t.transact(o) && (t.data[n.get() - 1].beforeBookmark = i)
}
}(n, a, i, e, t)
}
};
return function(n, r, o) {
function i(e) {
ev(r, !1, o),
r.add({}, e)
}
var a = at(!1);
n.on("init", function() {
r.add()
}),
n.on("BeforeExecCommand", function(e) {
var t = e.command;
"Undo" !== t && "Redo" !== t && "mceRepaint" !== t && (tv(r, o),
r.beforeChange())
}),
n.on("ExecCommand", function(e) {
var t = e.command;
"Undo" !== t && "Redo" !== t && "mceRepaint" !== t && i(e)
}),
n.on("ObjectResizeStart cut", function() {
r.beforeChange()
}),
n.on("SaveContent ObjectResized blur", i),
n.on("dragend", i),
n.on("keyup", function(e) {
var t = e.keyCode;
e.isDefaultPrevented() || ((33 <= t && t <= 36 || 37 <= t && t <= 40 || 45 === t || e.ctrlKey) && (i(),
n.nodeChanged()),
46 !== t && 8 !== t || n.nodeChanged(),
a.get() && r.typing && !1 === ey(Jv(n), r.data[0]) && (!1 === n.isDirty() && (n.setDirty(!0),
n.fire("change", {
level: r.data[0],
lastLevel: null
})),
n.fire("TypingUndo"),
a.set(!1),
n.nodeChanged()))
}),
n.on("keydown", function(e) {
var t = e.keyCode;
if (!e.isDefaultPrevented())
if (33 <= t && t <= 36 || 37 <= t && t <= 40 || 45 === t)
r.typing && i(e);
else {
var n = e.ctrlKey && !e.altKey || e.metaKey;
!(t < 16 || 20 < t) || 224 === t || 91 === t || r.typing || n || (r.beforeChange(),
ev(r, !0, o),
r.add({}, e),
a.set(!0))
}
}),
n.on("mousedown", function(e) {
r.typing && i(e)
});
n.on("input", function(e) {
e.inputType && (function(e) {
return "insertReplacementText" === e.inputType
}(e) || function(e) {
return "insertText" === e.inputType && null === e.data
}(e)) && i(e)
}),
n.on("AddUndo Undo Redo ClearUndos", function(e) {
e.isDefaultPrevented() || n.nodeChanged()
})
}(n, a, o),
function(e) {
e.addShortcut("meta+z", "", "Undo"),
e.addShortcut("meta+y,meta+shift+z", "", "Redo")
}(n),
a
}
function rv(e) {
return "keydown" === e.type || "keyup" === e.type
}
function ov(e) {
var t = e.keyCode;
return t === hh.BACKSPACE || t === hh.DELETE
}
function iv(o) {
var i = o.dom
, a = as(o)
, u = Hs(o)
, c = function(e, t) {
if (!function(e) {
if (rv(e)) {
var t = e.keyCode;
return !ov(e) && (hh.metaKeyPressed(e) || e.altKey || 112 <= t && t <= 123 || h(ty, t))
}
return !1
}(e)) {
var n = o.getBody()
, r = !function(e) {
return rv(e) && !(ov(e) || "keyup" === e.type && 229 === e.keyCode)
}(e) && function(e, t, n) {
if (ip(it.fromDom(t), !1)) {
var r = "" === n
, o = t.firstElementChild;
return !o || !e.getStyle(t.firstElementChild, "padding-left") && !e.getStyle(t.firstElementChild, "padding-right") && (r ? !e.isBlock(o) : n === o.nodeName.toLowerCase())
}
return !1
}(i, n, a);
"" !== i.getAttrib(n, ny) === r && !t || (i.setAttrib(n, ny, r ? u : null),
i.setAttrib(n, "aria-placeholder", r ? u : null),
function(e, t) {
e.fire("PlaceholderToggle", {
state: t
})
}(o, r),
o.on(r ? "keydown" : "keyup", c),
o.off(r ? "keyup" : "keydown", c))
}
};
u && o.on("init", function(e) {
c(e, !0),
o.on("change SetContent ExecCommand", c),
o.on("remove", function() {
var e = o.getBody();
i.setAttrib(e, ny, null),
i.setAttrib(e, "aria-placeholder", null)
})
})
}
function av(e) {
return e.touches === undefined || 1 !== e.touches.length ? R.none() : R.some(e.touches[0])
}
function uv(e, t) {
return e.hasOwnProperty(t.nodeName)
}
function cv(e, t) {
if (Qt.isText(t)) {
if (0 === t.nodeValue.length)
return !0;
if (/^\s+$/.test(t.nodeValue) && (!t.nextSibling || uv(e, t.nextSibling)))
return !0
}
return !1
}
function sv(e) {
var t, n, r, o, i, a, u, c, s, l, f = e.dom, d = e.selection, h = e.schema, m = h.getBlockElements(), g = d.getStart(), p = e.getBody(), v = as(e);
if (g && Qt.isElement(g) && v && (l = p.nodeName.toLowerCase(),
h.isValidChild(l, v.toLowerCase()) && !function(t, e, n) {
return C(ym(it.fromDom(n), it.fromDom(e)), function(e) {
return uv(t, e.dom())
})
}(m, p, g))) {
for (n = (t = d.getRng()).startContainer,
r = t.startOffset,
o = t.endContainer,
i = t.endOffset,
s = Dd(e),
g = p.firstChild; g; )
if (y = m,
b = g,
Qt.isText(b) || Qt.isElement(b) && !uv(y, b) && !Wl(b)) {
if (cv(m, g)) {
g = (u = g).nextSibling,
f.remove(u);
continue
}
a || (a = f.create(v, us(e)),
g.parentNode.insertBefore(a, g),
c = !0),
g = (u = g).nextSibling,
a.appendChild(u)
} else
a = null,
g = g.nextSibling;
var y, b;
c && s && (t.setStart(n, r),
t.setEnd(o, i),
d.setRng(t),
e.nodeChanged())
}
}
function lv(e) {
return iy(e) && e.data[0] === mu.ZWSP
}
function fv(e) {
return iy(e) && e.data[e.data.length - 1] === mu.ZWSP
}
function dv(e) {
return e.ownerDocument.createTextNode(mu.ZWSP)
}
function hv(e, t) {
return e ? function(e) {
if (iy(e.previousSibling))
return fv(e.previousSibling) || e.previousSibling.appendData(mu.ZWSP),
e.previousSibling;
if (iy(e))
return lv(e) || e.insertData(0, mu.ZWSP),
e;
var t = dv(e);
return e.parentNode.insertBefore(t, e),
t
}(t) : function(e) {
if (iy(e.nextSibling))
return lv(e.nextSibling) || e.nextSibling.insertData(0, mu.ZWSP),
e.nextSibling;
if (iy(e))
return fv(e) || e.appendData(mu.ZWSP),
e;
var t = dv(e);
return e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t),
t
}(t)
}
function mv(e, t) {
return Qt.isText(e.container()) ? hv(t, e.container()) : hv(t, e.getNode())
}
function gv(e, t) {
var n = t.get();
return n && e.container() === n && Pa(n)
}
function pv(e, t) {
if (!t)
return t;
var n = t.container()
, r = t.offset();
return e ? Pa(n) ? Qt.isText(n.nextSibling) ? Vc(n.nextSibling, 0) : Vc.after(n) : Ia(t) ? Vc(n, r + 1) : t : Pa(n) ? Qt.isText(n.previousSibling) ? Vc(n.previousSibling, n.previousSibling.data.length) : Vc.before(n) : Fa(t) ? Vc(n, r - 1) : t
}
function vv(e, t) {
var n = Sc(t, e);
return n || e
}
function yv(e, t, n) {
var r = ly.normalizeForwards(n)
, o = vv(t, r.container());
return ly.findRootInline(e, o, r).fold(function() {
return Ul.nextPosition(o, r).bind(d(ly.findRootInline, e, o)).map(function(e) {
return dy.before(e)
})
}, R.none)
}
function bv(e, t) {
return null === lc(e, t)
}
function Cv(e, t, n) {
return ly.findRootInline(e, t, n).filter(d(bv, t))
}
function wv(e, t, n) {
var r = ly.normalizeBackwards(n);
return Cv(e, t, r).bind(function(e) {
return Ul.prevPosition(e, r).isNone() ? R.some(dy.start(e)) : R.none()
})
}
function xv(e, t, n) {
var r = ly.normalizeForwards(n);
return Cv(e, t, r).bind(function(e) {
return Ul.nextPosition(e, r).isNone() ? R.some(dy.end(e)) : R.none()
})
}
function zv(e, t, n) {
var r = ly.normalizeBackwards(n)
, o = vv(t, r.container());
return ly.findRootInline(e, o, r).fold(function() {
return Ul.prevPosition(o, r).bind(d(ly.findRootInline, e, o)).map(function(e) {
return dy.after(e)
})
}, R.none)
}
function Ev(e) {
return !1 === ly.isRtl(hy(e))
}
function Nv(e, t, n) {
return fy([yv, wv, xv, zv], [e, t, n]).filter(Ev)
}
function Sv(e) {
return e.fold($("before"), $("start"), $("end"), $("after"))
}
function kv(e) {
return e.fold(dy.before, dy.before, dy.after, dy.after)
}
function Tv(n, e, r, t, o, i) {
return tu(ly.findRootInline(e, r, t), ly.findRootInline(e, r, o), function(e, t) {
return e !== t && ly.hasSameParentBlock(r, e, t) ? dy.after(n ? e : t) : i
}).getOr(i)
}
function Av(e, t) {
return e.fold($(!0), function(e) {
return !function(e, t) {
return Sv(e) === Sv(t) && hy(e) === hy(t)
}(e, t)
})
}
function Mv(e, t) {
return e ? t.fold(q(R.some, dy.start), R.none, q(R.some, dy.after), R.none) : t.fold(R.none, q(R.some, dy.before), R.none, q(R.some, dy.end))
}
function Rv(e, t, n, r) {
var o = ly.normalizePosition(e, r)
, i = Nv(t, n, o);
return Nv(t, n, o).bind(d(Mv, e)).orThunk(function() {
return function(t, n, r, o, e) {
var i = ly.normalizePosition(t, e);
return Ul.fromPosition(t, r, i).map(d(ly.normalizePosition, t)).fold(function() {
return o.map(kv)
}, function(e) {
return Nv(n, r, e).map(d(Tv, t, n, r, i, e)).filter(d(Av, o))
}).filter(Ev)
}(e, t, n, i, r)
})
}
function _v(e) {
return B(e.selection.getSel().modify)
}
function Dv(e, t, n) {
var r = e ? 1 : -1;
return t.setRng(Vc(n.container(), n.offset() + r).toRange()),
t.getSel().modify("move", e ? "forward" : "backward", "word"),
!0
}
function Ov(e, t) {
var n = e.dom.createRng();
n.setStart(t.container(), t.offset()),
n.setEnd(t.container(), t.offset()),
e.selection.setRng(n)
}
function Hv(e) {
return !1 !== e.settings.inline_boundaries
}
function Bv(e, t) {
e ? t.setAttribute("data-mce-selected", "inline-boundary") : t.removeAttribute("data-mce-selected")
}
function Pv(t, e, n) {
return cy(e, n).map(function(e) {
return Ov(t, e),
n
})
}
function Lv(e, t, n) {
return function() {
return !!Hv(t) && yy(e, t)
}
}
function Vv(e) {
return y(e, function(e, t) {
return e.concat(function(t) {
function e(e) {
return X(e, function(e) {
return (e = Wa(e)).node = t,
e
})
}
if (Qt.isElement(t))
return e(t.getClientRects());
if (Qt.isText(t)) {
var n = t.ownerDocument.createRange();
return n.setStart(t, 0),
n.setEnd(t, t.data.length),
e(n.getClientRects())
}
}(t))
}, [])
}
var Iv, Fv, Uv = Zn.each, jv = Qi.DOM, qv = function(e) {
e.addShortcut("meta+b", "", "Bold"),
e.addShortcut("meta+i", "", "Italic"),
e.addShortcut("meta+u", "", "Underline");
for (var t = 1; t <= 6; t++)
e.addShortcut("access+" + t, "", ["FormatBlock", !1, "h" + t]);
e.addShortcut("access+7", "", ["FormatBlock", !1, "p"]),
e.addShortcut("access+8", "", ["FormatBlock", !1, "div"]),
e.addShortcut("access+9", "", ["FormatBlock", !1, "address"])
}, $v = 0, Wv = 2, Kv = 1, Xv = function(m, g) {
function p(e, t, n, r) {
for (var o = e; o - t < r && o < n && m[o] === g[o - t]; )
++o;
return function(e, t, n) {
return {
start: e,
end: t,
diag: n
}
}(e, o, t)
}
var e = m.length + g.length + 2
, v = new Array(e)
, y = new Array(e)
, s = function(e, t, n, r, o) {
var i = l(e, t, n, r);
if (null === i || i.start === t && i.diag === t - r || i.end === e && i.diag === e - n)
for (var a = e, u = n; a < t || u < r; )
a < t && u < r && m[a] === g[u] ? (o.push([0, m[a]]),
++a,
++u) : r - n < t - e ? (o.push([2, m[a]]),
++a) : (o.push([1, g[u]]),
++u);
else {
s(e, i.start, n, i.start - i.diag, o);
for (var c = i.start; c < i.end; ++c)
o.push([0, m[c]]);
s(i.end, t, i.end - i.diag, r, o)
}
}
, l = function(e, t, n, r) {
var o = t - e
, i = r - n;
if (0 == o || 0 == i)
return null;
var a, u, c, s, l, f = o - i, d = i + o, h = (d % 2 == 0 ? d : 1 + d) / 2;
for (v[1 + h] = e,
y[1 + h] = t + 1,
a = 0; a <= h; ++a) {
for (u = -a; u <= a; u += 2) {
for (c = u + h,
u === -a || u !== a && v[c - 1] < v[c + 1] ? v[c] = v[c + 1] : v[c] = v[c - 1] + 1,
l = (s = v[c]) - e + n - u; s < t && l < r && m[s] === g[l]; )
v[c] = ++s,
++l;
if (f % 2 != 0 && f - a <= u && u <= f + a && y[c - f] <= v[c])
return p(y[c - f], u + e - n, t, r)
}
for (u = f - a; u <= f + a; u += 2) {
for (c = u + h - f,
u === f - a || u !== f + a && y[c + 1] <= y[c - 1] ? y[c] = y[c + 1] - 1 : y[c] = y[c - 1],
l = (s = y[c] - 1) - e + n - u; e <= s && n <= l && m[s] === g[l]; )
y[c] = s--,
l--;
if (f % 2 == 0 && -a <= u && u <= a && y[c] <= v[c + f])
return p(y[c], u + e - n, t, r)
}
}
}
, t = [];
return s(0, m.length, 0, g.length, t),
t
}, Yv = function(e) {
return U(X(G(e.childNodes), Kp), function(e) {
return 0 < e.length
})
}, Gv = function(e, t) {
var n = X(G(t.childNodes), Kp);
return function(e, t) {
var n = 0;
F(e, function(e) {
e[0] === $v ? n++ : e[0] === Kv ? (Xp(t, e[1], n),
n++) : e[0] === Wv && function(e, t) {
if (e.hasChildNodes() && t < e.childNodes.length) {
var n = e.childNodes[t];
n.parentNode.removeChild(n)
}
}(t, n)
})
}(Xv(n, e), t),
t
}, Zv = at(R.none()), Jv = function(n) {
var e, t, r;
return e = Yv(n.getBody()),
function(e) {
return -1 !== e.indexOf("")
}(t = (r = v(e, function(e) {
var t = dd.trimInternal(n.serializer, e);
return 0 < t.length ? [t] : []
})).join("")) ? Yp(r) : Gp(t)
}, Qv = function(e, t, n) {
"fragmented" === t.type ? Gv(t.fragments, e.getBody()) : e.setContent(t.content, {
format: "raw"
}),
e.selection.moveToBookmark(n ? t.beforeBookmark : t.bookmark)
}, ey = function(e, t) {
return !(!e || !t) && (!!function(e, t) {
return Zp(e) === Zp(t)
}(e, t) || function(e, t) {
return Jp(e) === Jp(t)
}(e, t))
}, ty = [9, 27, hh.HOME, hh.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, hh.DOWN, hh.UP, hh.LEFT, hh.RIGHT].concat(Wn.browser.isFirefox() ? [224] : []), ny = "data-mce-placeholder", ry = function(n) {
var r = at(R.none())
, o = at(!1)
, i = da(function(e) {
n.fire("longpress", te(te({}, e), {
type: "longpress"
})),
o.set(!0)
}, 400);
n.on("touchstart", function(n) {
av(n).each(function(e) {
i.cancel();
var t = {
x: $(e.clientX),
y: $(e.clientY),
target: $(n.target)
};
i.throttle(n),
o.set(!1),
r.set(R.some(t))
})
}, !0),
n.on("touchmove", function(e) {
i.cancel(),
av(e).each(function(t) {
r.get().each(function(e) {
!function(e, t) {
var n = Math.abs(e.clientX - t.x())
, r = Math.abs(e.clientY - t.y());
return 5 < n || 5 < r
}(t, e) || (r.set(R.none()),
o.set(!1),
n.fire("longpresscancel"))
})
})
}, !0),
n.on("touchend touchcancel", function(t) {
i.cancel(),
"touchcancel" !== t.type && r.get().filter(function(e) {
return e.target().isEqualNode(t.target)
}).each(function() {
o.get() ? t.preventDefault() : n.fire("tap", te(te({}, t), {
type: "tap"
}))
})
}, !0)
}, oy = function(e) {
as(e) && e.on("NodeChange", d(sv, e))
}, iy = Qt.isText, ay = d(hv, !0), uy = d(hv, !1), cy = function(n, e) {
return e.fold(function(e) {
Zc.remove(n.get());
var t = ay(e);
return n.set(t),
R.some(Vc(t, t.length - 1))
}, function(e) {
return Ul.firstPositionIn(e).map(function(e) {
if (gv(e, n))
return Vc(n.get(), 1);
Zc.remove(n.get());
var t = mv(e, !0);
return n.set(t),
Vc(t, 1)
})
}, function(e) {
return Ul.lastPositionIn(e).map(function(e) {
if (gv(e, n))
return Vc(n.get(), n.get().length - 1);
Zc.remove(n.get());
var t = mv(e, !1);
return n.set(t),
Vc(t, t.length - 1)
})
}, function(e) {
Zc.remove(n.get());
var t = uy(e);
return n.set(t),
R.some(Vc(t, 1))
})
}, sy = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/, ly = {
isInlineTarget: function(e, t) {
return me(it.fromDom(t), _s(e))
},
findRootInline: function(e, t, n) {
var r = function(e, t, n) {
return U(Qi.DOM.getParents(n.container(), "*", t), e)
}(e, t, n);
return R.from(r[r.length - 1])
},
isRtl: function(e) {
return "rtl" === Qi.DOM.getStyle(e, "direction", !0) || function(e) {
return sy.test(e)
}(e.textContent)
},
isAtZwsp: function(e) {
return Ia(e) || Fa(e)
},
normalizePosition: pv,
normalizeForwards: d(pv, !0),
normalizeBackwards: d(pv, !1),
hasSameParentBlock: function(e, t, n) {
var r = Sc(t, e)
, o = Sc(n, e);
return r && r === o
}
}, fy = function(e, t) {
for (var n = 0; n < e.length; n++) {
var r = e[n].apply(null, t);
if (r.isSome())
return r
}
return R.none()
}, dy = gd([{
before: ["element"]
}, {
start: ["element"]
}, {
end: ["element"]
}, {
after: ["element"]
}]), hy = function(e) {
return e.fold(W, W, W, W)
}, my = Nv, gy = Rv, py = (d(Rv, !1),
d(Rv, !0),
kv), vy = function(e) {
return e.fold(dy.start, dy.start, dy.end, dy.end)
}, yy = function(e, t) {
var n = t.selection.getRng()
, r = e ? Vc.fromRangeEnd(n) : Vc.fromRangeStart(n);
return !!_v(t) && (e && Ia(r) ? Dv(!0, t.selection, r) : !(e || !Fa(r)) && Dv(!1, t.selection, r))
}, by = {
move: function(e, t, n) {
return function() {
return !!Hv(e) && function(t, n, e) {
var r = t.getBody()
, o = Vc.fromRangeStart(t.selection.getRng())
, i = d(ly.isInlineTarget, t);
return gy(e, i, r, o).bind(function(e) {
return Pv(t, n, e)
})
}(e, t, n).isSome()
}
},
moveNextWord: d(Lv, !0),
movePrevWord: d(Lv, !1),
setupSelectedState: function(t) {
var n = at(null)
, r = d(ly.isInlineTarget, t);
return t.on("NodeChange", function(e) {
Hv(t) && (function(e, t, n) {
var r = U(t.select('*[data-mce-selected="inline-boundary"]'), e)
, o = U(n, e);
F(x(r, o), d(Bv, !1)),
F(x(o, r), d(Bv, !0))
}(r, t.dom, e.parents),
function(e, t) {
if (e.selection.isCollapsed() && !0 !== e.composing && t.get()) {
var n = Vc.fromRangeStart(e.selection.getRng());
Vc.isTextPosition(n) && !1 === ly.isAtZwsp(n) && (Ov(e, Zc.removeAndReposition(t.get(), n)),
t.set(null))
}
}(t, n),
function(n, r, o, e) {
if (r.selection.isCollapsed()) {
var t = U(e, n);
F(t, function(e) {
var t = Vc.fromRangeStart(r.selection.getRng());
my(n, r.getBody(), t).bind(function(e) {
return Pv(r, o, e)
})
})
}
}(r, t, n, e.parents))
}),
n
},
setCaretPosition: Ov
};
(Fv = Iv = Iv || {})[Fv.Up = -1] = "Up",
Fv[Fv.Down = 1] = "Down";
function Cy(o, i, a, e, u, t) {
function n(e) {
var t, n, r;
for (r = Vv([e]),
-1 === o && (r = r.reverse()),
t = 0; t < r.length; t++)
if (n = r[t],
!a(n, c)) {
if (0 < l.length && i(n, Xn.last(l)) && s++,
n.line = s,
u(n))
return !0;
l.push(n)
}
}
var r, c, s = 0, l = [];
return (c = Xn.last(t.getClientRects())) && (n(r = t.getNode()),
function(e, t, n, r) {
for (; r = Nc(r, e, $a, t); )
if (n(r))
return
}(o, e, n, r)),
l
}
function wy(t) {
return function(e) {
return function(e, t) {
return t.line > e
}(t, e)
}
}
function xy(t) {
return function(e) {
return function(e, t) {
return t.line === e
}(t, e)
}
}
function zy(e, t) {
return Math.abs(e.left - t)
}
function Ey(e, t) {
return Math.abs(e.right - t)
}
function Ny(e, t) {
return e >= t.left && e <= t.right
}
function Sy(e, o) {
return Xn.reduce(e, function(e, t) {
var n, r;
return n = Math.min(zy(e, o), Ey(e, o)),
r = Math.min(zy(t, o), Ey(t, o)),
Ny(o, t) ? t : Ny(o, e) ? e : r === n && Uy(t.node) ? t : r < n ? t : e
})
}
function ky(e, t, n, r) {
for (; r = jy(r, e, $a, t); )
if (n(r))
return
}
function Ty(e, t, n) {
var r, o = Vv(function(e) {
return U(G(e.getElementsByTagName("*")), wc)
}(e)), i = U(o, function(e) {
return n >= e.top && n <= e.bottom
});
return (r = (r = Sy(i, t)) && Sy(function(e, r) {
function t(t, e) {
var n;
return n = U(Vv([e]), function(e) {
return !t(e, r)
}),
o = o.concat(n),
0 === n.length
}
var o = [];
return o.push(r),
ky(Iv.Up, e, d(t, Ya), r.node),
ky(Iv.Down, e, d(t, Ga), r.node),
o
}(e, r), t)) && wc(r.node) ? function(e, t) {
return {
node: e.node,
before: zy(e, t) < Ey(e, t)
}
}(r, t) : null
}
function Ay(e, t, n, r, o) {
return t._selectionOverrides.showCaret(e, n, r, o)
}
function My(e, t) {
return e.fire("BeforeObjectSelected", {
target: t
}).isDefaultPrevented() ? null : function(e) {
var t = e.ownerDocument.createRange();
return t.selectNode(e),
t
}(t)
}
function Ry(e, t, n) {
var r = Rc(1, e.getBody(), t)
, o = Vc.fromRangeStart(r)
, i = o.getNode();
if ($y(i))
return Ay(1, e, i, !o.isAtEnd(), !1);
var a = o.getNode(!0);
if ($y(a))
return Ay(1, e, a, !1, !1);
var u = e.dom.getParent(o.getNode(), function(e) {
return $y(e) || qy(e)
});
return $y(u) ? Ay(1, e, u, !1, n) : null
}
function _y(e, t, n) {
if (!t || !t.collapsed)
return t;
var r = Ry(e, t, n);
return r || t
}
function Dy(n, r, o) {
return R.from(o.container()).filter(Qt.isText).exists(function(e) {
var t = n ? 0 : -1;
return r(e.data.charAt(o.offset() + t))
})
}
function Oy(e) {
var t = e.container();
return Qt.isText(t) && 0 === t.data.length
}
function Hy(t, n) {
return function(e) {
return R.from(Tc(t ? 0 : -1, e)).filter(n).isSome()
}
}
function By(e) {
return "IMG" === e.nodeName && "block" === Ge(it.fromDom(e), "display")
}
function Py(e) {
return Qt.isContentEditableFalse(e) && !Qt.isBogusAll(e)
}
var Ly, Vy, Iy = d(Cy, Iv.Up, Ya, Ga), Fy = d(Cy, Iv.Down, Ga, Ya), Uy = Qt.isContentEditableFalse, jy = Nc, qy = Qt.isContentEditableTrue, $y = Qt.isContentEditableFalse, Wy = d(Dy, !0, ul), Ky = d(Dy, !1, ul), Xy = Hy(!0, By), Yy = Hy(!1, By), Gy = Hy(!0, Qt.isTable), Zy = Hy(!1, Qt.isTable), Jy = Hy(!0, Py), Qy = Hy(!1, Py);
(Vy = Ly = Ly || {})[Vy.Br = 0] = "Br",
Vy[Vy.Block = 1] = "Block",
Vy[Vy.Wrap = 2] = "Wrap",
Vy[Vy.Eol = 3] = "Eol";
function eb(e, t) {
return e === Pc.Backwards ? w(t) : t
}
function tb(e, t, n, r) {
for (var o, i, a, u, c, s, l = Xs(n), f = r, d = []; f && (c = l,
s = f,
o = t === Pc.Forwards ? c.next(s) : c.prev(s)); ) {
if (Qt.isBr(o.getNode(!1)))
return t === Pc.Forwards ? {
positions: eb(t, d).concat([o]),
breakType: Ly.Br,
breakAt: R.some(o)
} : {
positions: eb(t, d),
breakType: Ly.Br,
breakAt: R.some(o)
};
if (o.isVisible()) {
if (e(f, o)) {
var h = (i = t,
a = f,
u = o,
Qt.isBr(u.getNode(i === Pc.Forwards)) ? Ly.Br : !1 === kc(a, u) ? Ly.Block : Ly.Wrap);
return {
positions: eb(t, d),
breakType: h,
breakAt: R.some(o)
}
}
d.push(o),
f = o
} else
f = o
}
return {
positions: eb(t, d),
breakType: Ly.Eol,
breakAt: R.none()
}
}
function nb(n, r, o, e) {
return r(o, e).breakAt.map(function(e) {
var t = r(o, e).positions;
return n === Pc.Backwards ? t.concat(e) : [e].concat(t)
}).getOr([])
}
function rb(e, i) {
return y(e, function(e, o) {
return e.fold(function() {
return R.some(o)
}, function(r) {
return tu(z(r.getClientRects()), z(o.getClientRects()), function(e, t) {
var n = Math.abs(i - e.left);
return Math.abs(i - t.left) <= n ? o : r
}).or(e)
})
}, R.none())
}
function ob(t, e) {
return z(e.getClientRects()).bind(function(e) {
return rb(t, e.left)
})
}
function ib(e, t, n, r) {
var o = e === Pc.Forwards
, i = o ? Jy : Qy;
if (!r.collapsed) {
var a = Hw(r);
if (Ow(a))
return Ay(e, t, a, e === Pc.Backwards, !0)
}
var u = function(e) {
return Ba(e.startContainer)
}(r)
, c = Dc(e, t.getBody(), r);
if (i(c))
return My(t, c.getNode(!o));
var s = ly.normalizePosition(o, n(c));
if (!s)
return u ? r : null;
if (i(s))
return Ay(e, t, s.getNode(!o), o, !0);
var l = n(s);
return l && i(l) && Bc(s, l) ? Ay(e, t, l.getNode(!o), o, !0) : u ? _y(t, s.toRange(), !0) : null
}
function ab(e, t, n, r) {
var o, i, a, u, c, s, l, f, d;
if (d = Hw(r),
o = Dc(e, t.getBody(), r),
i = n(t.getBody(), wy(1), o),
a = U(i, xy(1)),
c = Xn.last(o.getClientRects()),
(Jy(o) || Gy(o)) && (d = o.getNode()),
(Qy(o) || Zy(o)) && (d = o.getNode(!0)),
!c)
return null;
if (s = c.left,
(u = Sy(a, s)) && Ow(u.node))
return l = Math.abs(s - u.left),
f = Math.abs(s - u.right),
Ay(e, t, u.node, l < f, !0);
if (d) {
var h = function(e, t, n, r) {
function o(e) {
return Xn.last(e.getClientRects())
}
var i, a, u, c, s, l, f = Xs(t), d = [], h = 0;
l = o(c = 1 === e ? (i = f.next,
a = Ga,
u = Ya,
Vc.after(r)) : (i = f.prev,
a = Ya,
u = Ga,
Vc.before(r)));
do {
if (c.isVisible() && !u(s = o(c), l)) {
if (0 < d.length && a(s, Xn.last(d)) && h++,
(s = Wa(s)).position = c,
s.line = h,
n(s))
return d;
d.push(s)
}
} while (c = i(c));
return d
}(e, t.getBody(), wy(1), d);
if (u = Sy(U(h, xy(1)), s))
return _y(t, u.position.toRange(), !0);
if (u = Xn.last(U(h, xy(0))))
return _y(t, u.position.toRange(), !0)
}
}
function ub(e, t, n) {
var r, o, i = Xs(e.getBody()), a = d(Hc, i.next), u = d(Hc, i.prev);
if (n.collapsed && e.settings.forced_root_block) {
if (!(r = e.dom.getParent(n.startContainer, "PRE")))
return;
(1 === t ? a(Vc.fromRangeStart(n)) : u(Vc.fromRangeStart(n))) || (o = function(e) {
var t = e.dom.create(as(e));
return (!Wn.ie || 11 <= Wn.ie) && (t.innerHTML = '
'),
t
}(e),
1 === t ? e.$(r).after(o) : e.$(r).before(o),
e.selection.select(o, !0),
e.selection.collapse())
}
}
function cb(t, n) {
return function() {
var e = function(e, t) {
var n, r = Xs(e.getBody()), o = d(Hc, r.next), i = d(Hc, r.prev), a = t ? Pc.Forwards : Pc.Backwards, u = t ? o : i, c = e.selection.getRng();
return (n = ib(a, e, u, c)) ? n : (n = ub(e, a, c)) || null
}(t, n);
return !!e && (t.selection.setRng(e),
!0)
}
}
function sb(t, n) {
return function() {
var e = function(e, t) {
var n, r = t ? 1 : -1, o = t ? Fy : Iy, i = e.selection.getRng();
return (n = ab(r, e, o, i)) ? n : (n = ub(e, r, i)) || null
}(t, n);
return !!e && (t.selection.setRng(e),
!0)
}
}
function lb(n, r) {
return function() {
var e = r ? Vc.fromRangeEnd(n.selection.getRng()) : Vc.fromRangeStart(n.selection.getRng())
, t = r ? Rw(n.getBody(), e) : Mw(n.getBody(), e);
return (r ? E(t.positions) : z(t.positions)).filter(function(t) {
return function(e) {
return t ? Qy(e) : Jy(e)
}
}(r)).fold($(!1), function(e) {
return n.selection.setRng(e.toRange()),
!0
})
}
}
function fb(e, t, n, r, o) {
var i = Ca(it.fromDom(n), "td,th,caption").map(function(e) {
return e.dom()
});
return function(e, o, i) {
return y(e, function(e, r) {
return e.fold(function() {
return R.some(r)
}, function(e) {
var t = Math.sqrt(Math.abs(e.x - o) + Math.abs(e.y - i))
, n = Math.sqrt(Math.abs(r.x - o) + Math.abs(r.y - i));
return R.some(n < t ? r : e)
})
}, R.none())
}(U(function(n, e) {
return v(e, function(e) {
var t = function(e, t) {
return {
left: e.left - t,
top: e.top - t,
right: e.right + 2 * t,
bottom: e.bottom + 2 * t,
width: e.width + t,
height: e.height + t
}
}(Wa(e.getBoundingClientRect()), -1);
return [{
x: t.left,
y: n(t),
cell: e
}, {
x: t.right,
y: n(t),
cell: e
}]
})
}(e, i), function(e) {
return t(e, o)
}), r, o).map(function(e) {
return e.cell
})
}
function db(t, n) {
return z(n.getClientRects()).bind(function(e) {
return Bw(t, e.left, e.top)
}).bind(function(e) {
return ob(function(t) {
return Ul.lastPositionIn(t).map(function(e) {
return Mw(t, e).positions.concat(e)
}).getOr([])
}(e), n)
})
}
function hb(t, n) {
return E(n.getClientRects()).bind(function(e) {
return Pw(t, e.left, e.top)
}).bind(function(e) {
return ob(function(t) {
return Ul.firstPositionIn(t).map(function(e) {
return [e].concat(Rw(t, e).positions)
}).getOr([])
}(e), n)
})
}
function mb(e, t) {
e.selection.setRng(t),
gm(e, t)
}
function gb(e, t, n) {
var r = e(t, n);
return function(e) {
return e.breakType === Ly.Wrap && 0 === e.positions.length
}(r) || !Qt.isBr(n.getNode()) && function(e) {
return e.breakType === Ly.Br && 1 === e.positions.length
}(r) ? !function(t, n, e) {
return e.breakAt.map(function(e) {
return t(n, e).breakAt.isSome()
}).getOr(!1)
}(e, t, r) : r.breakAt.isNone()
}
function pb(e, t, n, r) {
var o = e.selection.getRng()
, i = t ? 1 : -1;
if (Cc() && function(e, t, n) {
var r = Vc.fromRangeStart(t);
return Ul.positionIn(!e, n).map(function(e) {
return e.isEqual(r)
}).getOr(!1)
}(t, o, n)) {
var a = Ay(i, e, n, !t, !0);
return mb(e, a),
!0
}
return !1
}
function vb(e, t) {
var n = t.getNode(e);
return Qt.isElement(n) && "TABLE" === n.nodeName ? R.some(n) : R.none()
}
function yb(n, r, o) {
var e = vb(!!r, o)
, i = !1 === r;
e.fold(function() {
return mb(n, o.toRange())
}, function(t) {
return Ul.positionIn(i, n.getBody()).filter(function(e) {
return e.isEqual(o)
}).fold(function() {
return mb(n, o.toRange())
}, function(e) {
return function(n, r, o, e) {
var i = as(r);
i ? r.undoManager.transact(function() {
var e = it.fromTag(i);
Ke(e, us(r)),
Ht(e, it.fromTag("br")),
n ? Ae(it.fromDom(o), e) : Te(it.fromDom(o), e);
var t = r.dom.createRng();
t.setStart(e.dom(), 0),
t.setEnd(e.dom(), 0),
mb(r, t)
}) : mb(r, e.toRange())
}(r, n, t, o)
})
})
}
function bb(e, t, n, r) {
var o = e.selection.getRng()
, i = Vc.fromRangeStart(o)
, a = e.getBody();
if (!t && Lw(r, i)) {
var u = function(t, n, e) {
return db(n, e).orThunk(function() {
return z(e.getClientRects()).bind(function(e) {
return rb(_w(t, Vc.before(n)), e.left)
})
}).getOr(Vc.before(n))
}(a, n, i);
return yb(e, t, u),
!0
}
if (t && Vw(r, i)) {
u = function(t, n, e) {
return hb(n, e).orThunk(function() {
return z(e.getClientRects()).bind(function(e) {
return rb(Dw(t, Vc.after(n)), e.left)
})
}).getOr(Vc.after(n))
}(a, n, i);
return yb(e, t, u),
!0
}
return !1
}
function Cb(t, n) {
return function() {
return R.from(t.dom.getParent(t.selection.getNode(), "td,th")).bind(function(e) {
return R.from(t.dom.getParent(e, "table")).map(function(e) {
return pb(t, n, e)
})
}).getOr(!1)
}
}
function wb(n, r) {
return function() {
return R.from(n.dom.getParent(n.selection.getNode(), "td,th")).bind(function(t) {
return R.from(n.dom.getParent(t, "table")).map(function(e) {
return bb(n, r, e, t)
})
}).getOr(!1)
}
}
function xb(e) {
return h(["figcaption"], Oe(e))
}
function zb(e) {
var t = j.document.createRange();
return t.setStartBefore(e.dom()),
t.setEndBefore(e.dom()),
t
}
function Eb(e, t, n) {
n ? Ht(e, t) : Me(e, t)
}
function Nb(e, t, n, r) {
return "" === t ? function(e, t) {
var n = it.fromTag("br");
return Eb(e, n, t),
zb(n)
}(e, r) : function(e, t, n, r) {
var o = it.fromTag(n)
, i = it.fromTag("br");
return Ke(o, r),
Ht(o, i),
Eb(e, o, t),
zb(i)
}(e, r, t, n)
}
function Sb(e, t, n) {
return t ? function(e, t) {
return Rw(e, t).breakAt.isNone()
}(e.dom(), n) : function(e, t) {
return Mw(e, t).breakAt.isNone()
}(e.dom(), n)
}
function kb(t, n) {
var r = it.fromDom(t.getBody())
, o = Vc.fromRangeStart(t.selection.getRng())
, i = as(t)
, a = us(t);
return function(e, t) {
var n = d(pe, t);
return Na(it.fromDom(e.container()), ar, n).filter(xb)
}(o, r).exists(function() {
if (Sb(r, n, o)) {
var e = Nb(r, i, a, n);
return t.selection.setRng(e),
!0
}
return !1
})
}
function Tb(e, t) {
return function() {
return !!e.selection.isCollapsed() && kb(e, t)
}
}
function Ab(e, t) {
return v(function(e) {
return X(e, function(e) {
return te({
shiftKey: !1,
altKey: !1,
ctrlKey: !1,
metaKey: !1,
keyCode: 0,
action: i
}, e)
})
}(e), function(e) {
return function(e, t) {
return t.keyCode === e.keyCode && t.shiftKey === e.shiftKey && t.altKey === e.altKey && t.ctrlKey === e.ctrlKey && t.metaKey === e.metaKey
}(e, t) ? [e] : []
})
}
function Mb(e, t) {
return {
from: $(e),
to: $(t)
}
}
function Rb(e, t) {
var n = it.fromDom(e)
, r = it.fromDom(t.container());
return jw(n, r).map(function(e) {
return function(e, t) {
return {
block: $(e),
position: $(t)
}
}(e, t)
})
}
function _b(t, n, e) {
var r = Rb(t, Vc.fromRangeStart(e))
, o = r.bind(function(e) {
return Ul.fromPosition(n, t, e.position()).bind(function(e) {
return Rb(t, e).map(function(e) {
return function(t, n, r) {
return Qt.isBr(r.position().getNode()) && !1 === ip(r.block()) ? Ul.positionIn(!1, r.block().dom()).bind(function(e) {
return e.isEqual(r.position()) ? Ul.fromPosition(n, t, e).bind(function(e) {
return Rb(t, e)
}) : R.some(r)
}).getOr(r) : r
}(t, n, e)
})
})
});
return tu(r, o, Mb).filter(function(e) {
return function(e) {
return !1 === pe(e.from().block(), e.to().block())
}(e) && function(e) {
return be(e.from().block()).bind(function(t) {
return be(e.to().block()).filter(function(e) {
return pe(t, e)
})
}).isSome()
}(e) && function(e) {
return !1 === Qt.isContentEditableFalse(e.from().block().dom()) && !1 === Qt.isContentEditableFalse(e.to().block().dom())
}(e)
})
}
function Db(e) {
var t = function(e) {
var t = Ee(e);
return p(t, ar).fold(function() {
return t
}, function(e) {
return t.slice(0, e)
})
}(e);
return F(t, Bt),
t
}
function Ob(e, t) {
var n = bm(t, e);
return g(n.reverse(), function(e) {
return ip(e)
}).each(Bt)
}
function Hb(e, t, n, r) {
if (ip(n))
return Jg(n),
Ul.firstPositionIn(n.dom());
(function(e) {
return 0 === U(xe(e), function(e) {
return !ip(e)
}).length
}
)(r) && ip(t) && Te(r, it.fromTag("br"));
var o = Ul.prevPosition(n.dom(), Vc.before(r.dom()));
return F(Db(t), function(e) {
Te(r, e)
}),
Ob(e, t),
o
}
function Bb(e, t, n) {
if (ip(n))
return Bt(n),
ip(t) && Jg(t),
Ul.firstPositionIn(t.dom());
var r = Ul.lastPositionIn(n.dom());
return F(Db(t), function(e) {
Ht(n, e)
}),
Ob(e, t),
r
}
function Pb(e, t) {
return Ot(t, e) ? function(e, t) {
var n = bm(t, e);
return R.from(n[n.length - 1])
}(t, e) : R.none()
}
function Lb(e, t) {
Ul.positionIn(e, t.dom()).map(function(e) {
return e.getNode()
}).map(it.fromDom).filter(er).each(Bt)
}
function Vb(e, t, n) {
return Lb(!0, t),
Lb(!1, n),
Pb(t, n).fold(d(Bb, e, t, n), d(Hb, e, t, n))
}
function Ib(e, t) {
var n = it.fromDom(t)
, r = d(pe, e);
return Ea(n, dr, r).isSome()
}
function Fb(e, t) {
var n = Ul.prevPosition(e.dom(), Vc.fromRangeStart(t)).isNone()
, r = Ul.nextPosition(e.dom(), Vc.fromRangeEnd(t)).isNone();
return !function(e, t) {
return Ib(e, t.startContainer) || Ib(e, t.endContainer)
}(e, t) && n && r
}
function Ub(e) {
var t = it.fromDom(e.getBody())
, n = e.selection.getRng();
return Fb(t, n) ? function(e) {
return e.setContent(""),
e.selection.setCursorLocation(),
!0
}(e) : function(n, r) {
var o = r.getRng();
return tu(jw(n, it.fromDom(o.startContainer)), jw(n, it.fromDom(o.endContainer)), function(e, t) {
return !1 === pe(e, t) && (o.deleteContents(),
Kw(n, !0, e, t).each(function(e) {
r.setRng(e.toRange())
}),
!0)
}).getOr(!1)
}(t, e.selection)
}
function jb(e) {
return Oc(e).exists(er)
}
function qb(e, t, n) {
var r = U(bm(it.fromDom(n.container()), t), ar)
, o = z(r).getOr(t);
return Ul.fromPosition(e, o.dom(), n).filter(jb)
}
function $b(e, t) {
return Oc(t).exists(er) || qb(!0, e, t).isSome()
}
function Wb(e, t) {
return function(e) {
return R.from(e.getNode(!0)).map(it.fromDom)
}(t).exists(er) || qb(!1, e, t).isSome()
}
function Kb(e, t, n, r) {
var o = r.getNode(!1 === t);
return jw(it.fromDom(e), it.fromDom(n.getNode())).map(function(e) {
return ip(e) ? Jw.remove(e.dom()) : Jw.moveToElement(o)
}).orThunk(function() {
return R.some(Jw.moveToElement(o))
})
}
function Xb(t, n, r) {
return Ul.fromPosition(n, t, r).bind(function(e) {
return function(e) {
return dr(it.fromDom(e)) || sr(it.fromDom(e))
}(e.getNode()) ? R.none() : function(t, e, n, r) {
function o(e) {
return Qn(it.fromDom(e)) && !kc(n, r, t)
}
return _c(!e, n).fold(function() {
return _c(e, r).fold($(!1), o)
}, o)
}(t, n, r, e) ? R.none() : n && Qt.isContentEditableFalse(e.getNode()) ? Kb(t, n, r, e) : !1 === n && Qt.isContentEditableFalse(e.getNode(!0)) ? Kb(t, n, r, e) : n && Qy(r) ? R.some(Jw.moveToPosition(e)) : !1 === n && Jy(r) ? R.some(Jw.moveToPosition(e)) : R.none()
})
}
function Yb(t, e, n) {
return function(e, t) {
var n = t.getNode(!1 === e)
, r = e ? "after" : "before";
return Qt.isElement(n) && n.getAttribute("data-mce-caret") === r
}(e, n) ? function(e, t) {
return e && Qt.isContentEditableFalse(t.nextSibling) ? R.some(Jw.moveToElement(t.nextSibling)) : !1 === e && Qt.isContentEditableFalse(t.previousSibling) ? R.some(Jw.moveToElement(t.previousSibling)) : R.none()
}(e, n.getNode(!1 === e)).fold(function() {
return Xb(t, e, n)
}, R.some) : Xb(t, e, n).bind(function(e) {
return function(t, n, e) {
return e.fold(function(e) {
return R.some(Jw.remove(e))
}, function(e) {
return R.some(Jw.moveToElement(e))
}, function(e) {
return kc(n, e, t) ? R.none() : R.some(Jw.moveToPosition(e))
})
}(t, n, e)
})
}
function Gb(e, t) {
return R.from(Qw(e.getBody(), t))
}
function Zb(t, n) {
var e = t.selection.getNode();
return Gb(t, e).filter(Qt.isContentEditableFalse).fold(function() {
return function(e, t, n) {
var r = Rc(t ? 1 : -1, e, n)
, o = Vc.fromRangeStart(r)
, i = it.fromDom(e);
return !1 === t && Qy(o) ? R.some(Jw.remove(o.getNode(!0))) : t && Jy(o) ? R.some(Jw.remove(o.getNode())) : !1 === t && Jy(o) && Wb(i, o) ? Gw(i, o).map(function(e) {
return Jw.remove(e.getNode())
}) : t && Qy(o) && $b(i, o) ? Zw(i, o).map(function(e) {
return Jw.remove(e.getNode())
}) : Yb(e, t, o)
}(t.getBody(), n, t.selection.getRng()).map(function(e) {
return e.fold(function(t, n) {
return function(e) {
return t._selectionOverrides.hideFakeCaret(),
ap(t, n, it.fromDom(e)),
!0
}
}(t, n), function(n, r) {
return function(e) {
var t = r ? Vc.before(e) : Vc.after(e);
return n.selection.setRng(t.toRange()),
!0
}
}(t, n), function(t) {
return function(e) {
return t.selection.setRng(e.toRange()),
!0
}
}(t))
}).getOr(!1)
}, function() {
return !0
})
}
function Jb(e, t) {
var n = e.selection.getNode();
return !!Qt.isContentEditableFalse(n) && Gb(e, n.parentNode).filter(Qt.isContentEditableFalse).fold(function() {
return function(e) {
F(Ca(e, ".mce-offscreen-selection"), Bt)
}(it.fromDom(e.getBody())),
ap(e, t, it.fromDom(e.selection.getNode())),
qw(e),
!0
}, function() {
return !0
})
}
function Qb(e, t, n, r, o, i) {
var a = Ay(r, e, i.getNode(!o), o, !0);
if (t.collapsed) {
var u = t.cloneRange();
o ? u.setEnd(a.startContainer, a.startOffset) : u.setStart(a.endContainer, a.endOffset),
u.deleteContents()
} else
t.deleteContents();
return e.selection.setRng(a),
function(e, t) {
Qt.isText(t) && 0 === t.data.length && e.remove(t)
}(e.dom, n),
!0
}
function eC(t, n) {
return function(e) {
return cy(n, e).map(function(e) {
return by.setCaretPosition(t, e),
!0
}).getOr(!1)
}
}
function tC(e, t, n, r) {
var o = e.getBody()
, i = d(ly.isInlineTarget, e);
e.undoManager.ignore(function() {
e.selection.setRng(function(e, t) {
var n = j.document.createRange();
return n.setStart(e.container(), e.offset()),
n.setEnd(t.container(), t.offset()),
n
}(n, r)),
e.execCommand("Delete"),
my(i, o, Vc.fromRangeStart(e.selection.getRng())).map(vy).map(eC(e, t))
}),
e.nodeChanged()
}
function nC(n, r, o, i) {
var a = function(e, t) {
var n = Sc(t, e);
return n || e
}(n.getBody(), i.container())
, u = d(ly.isInlineTarget, n)
, c = my(u, a, i);
return c.bind(function(e) {
return o ? e.fold($(R.some(vy(e))), R.none, $(R.some(py(e))), R.none) : e.fold(R.none, $(R.some(py(e))), R.none, $(R.some(vy(e))))
}).map(eC(n, r)).getOrThunk(function() {
var t = Ul.navigate(o, a, i)
, e = t.bind(function(e) {
return my(u, a, e)
});
return c.isSome() && e.isSome() ? ly.findRootInline(u, a, i).map(function(e) {
return !!function(o) {
return tu(Ul.firstPositionIn(o), Ul.lastPositionIn(o), function(e, t) {
var n = ly.normalizePosition(!0, e)
, r = ly.normalizePosition(!1, t);
return Ul.nextPosition(o, n).map(function(e) {
return e.isEqual(r)
}).getOr(!0)
}).getOr(!0)
}(e) && (ap(n, o, it.fromDom(e)),
!0)
}).getOr(!1) : e.bind(function(e) {
return t.map(function(e) {
return o ? tC(n, r, i, e) : tC(n, r, e, i),
!0
})
}).getOr(!1)
})
}
function rC(e) {
return 1 === Ee(e).length
}
function oC(e, t, n, r) {
var o = d(Wg, t)
, i = X(U(r, o), function(e) {
return e.dom()
});
if (0 === i.length)
ap(t, e, n);
else {
var a = function(e, t) {
var n = Vg(!1)
, r = qg(t, n.dom());
return Te(it.fromDom(e), n),
Bt(it.fromDom(e)),
Vc(r, 0)
}(n.dom(), i);
t.selection.setRng(a.toRange())
}
}
function iC(n, r) {
var e = it.fromDom(n.getBody())
, t = it.fromDom(n.selection.getStart())
, o = U(function(e, t) {
var n = bm(t, e);
return p(n, ar).fold($(n), function(e) {
return n.slice(0, e)
})
}(e, t), rC);
return E(o).map(function(e) {
var t = Vc.fromRangeStart(n.selection.getRng());
return !(!$w(r, t, e.dom()) || function(e) {
return sc(e.dom()) && Pg(e.dom())
}(e)) && (oC(r, n, e, o),
!0)
}).getOr(!1)
}
function aC(e, t) {
return {
start: $(e),
end: $(t)
}
}
function uC(e, t) {
return Ta(it.fromDom(e), "td,th", t)
}
function cC(e, t) {
return Sa(e, "table", t)
}
function sC(e) {
return !1 === pe(e.start(), e.end())
}
function lC(e, n) {
return cC(e.start(), n).bind(function(t) {
return cC(e.end(), n).bind(function(e) {
return function(e, t) {
return e ? R.some(t) : R.none()
}(pe(t, e), t)
})
})
}
function fC(e) {
return Ca(e, "td,th")
}
function dC(n, e) {
var t = uC(e.startContainer, n)
, r = uC(e.endContainer, n);
return e.collapsed ? R.none() : tu(t, r, aC).fold(function() {
return t.fold(function() {
return r.bind(function(t) {
return cC(t, n).bind(function(e) {
return z(fC(e)).map(function(e) {
return aC(e, t)
})
})
})
}, function(t) {
return cC(t, n).bind(function(e) {
return E(fC(e)).map(function(e) {
return aC(t, e)
})
})
})
}, function(e) {
return ax(n, e) ? R.none() : function(t, e) {
return cC(t.start(), e).bind(function(e) {
return E(fC(e)).map(function(e) {
return aC(t.start(), e)
})
})
}(e, n)
})
}
function hC(t, e) {
return lC(t, e).map(function(e) {
return function(e, t, n) {
return {
rng: $(e),
table: $(t),
cells: $(n)
}
}(t, e, fC(e))
})
}
function mC(e, t) {
var n = function(t) {
return function(e) {
return pe(t, e)
}
}(e);
return function(e, t) {
var n = uC(e.startContainer, t)
, r = uC(e.endContainer, t);
return tu(n, r, aC).filter(sC).filter(function(e) {
return ax(t, e)
}).orThunk(function() {
return dC(t, e)
})
}(t, n).bind(function(e) {
return hC(e, n)
})
}
function gC(e, t) {
return p(e, function(e) {
return pe(e, t)
})
}
function pC(n) {
return function(n) {
return tu(gC(n.cells(), n.rng().start()), gC(n.cells(), n.rng().end()), function(e, t) {
return n.cells().slice(e, t + 1)
})
}(n).map(function(e) {
var t = n.cells();
return e.length === t.length ? ix.removeTable(n.table()) : ix.emptyCells(e)
})
}
function vC(e, t) {
return F(t, Jg),
e.selection.setCursorLocation(t[0].dom(), 0),
!0
}
function yC(e, t) {
return ap(e, !1, t),
!0
}
function bC(t, e, n) {
return function(e, t) {
return mC(e, t).bind(pC)
}(e, n).map(function(e) {
return e.fold(d(yC, t), d(vC, t))
})
}
function CC(t, e, n, r) {
return ux(e, r).fold(function() {
return bC(t, e, n)
}, function(e) {
return function(e, t) {
return cx(e, t)
}(t, e)
}).getOr(!1)
}
function wC(e, t) {
return g(bm(t, e), dr)
}
function xC(t, n, r, o, i) {
return Ul.navigate(r, t.getBody(), i).bind(function(e) {
return function(e, n, r, o) {
return Ul.firstPositionIn(e.dom()).bind(function(t) {
return Ul.lastPositionIn(e.dom()).map(function(e) {
return n ? r.isEqual(t) && o.isEqual(e) : r.isEqual(e) && o.isEqual(t)
})
}).getOr(!0)
}(o, r, i, e) ? function(e, t) {
return cx(e, t)
}(t, o) : function(e, t, n) {
return ux(e, it.fromDom(n.getNode())).map(function(e) {
return !1 === pe(e, t)
})
}(n, o, e)
}).or(R.some(!0))
}
function zC(t, n, r, e) {
var o = Vc.fromRangeStart(t.selection.getRng());
return wC(r, e).bind(function(e) {
return ip(e) ? cx(t, e) : function(e, t, n, r, o) {
return Ul.navigate(n, e.getBody(), o).bind(function(e) {
return wC(t, it.fromDom(e.getNode())).map(function(e) {
return !1 === pe(e, r)
})
})
}(t, r, n, e, o)
}).getOr(!1)
}
function EC(e, t) {
return e ? Gy(t) : Zy(t)
}
function NC(t, n, e) {
var r = it.fromDom(t.getBody());
return ux(r, e).fold(function() {
return zC(t, n, r, e) || function(e, t) {
var n = Vc.fromRangeStart(e.selection.getRng());
return EC(t, n) || Ul.fromPosition(t, e.getBody(), n).map(function(e) {
return EC(t, e)
}).getOr(!1)
}(t, n)
}, function(e) {
return function(e, t, n, r) {
var o = Vc.fromRangeStart(e.selection.getRng());
return ip(r) ? cx(e, r) : xC(e, n, t, r, o)
}(t, n, r, e).getOr(!1)
})
}
function SC(e) {
var t = parseInt(e, 10);
return isNaN(t) ? 0 : t
}
function kC(e, t) {
return (e || function(e) {
return "table" === Oe(e)
}(t) ? "margin" : "padding") + ("rtl" === Ge(t, "direction") ? "-right" : "-left")
}
function TC(e) {
var t = fx(e);
return !0 !== e.readonly && (1 < t.length || function(r, e) {
return b(e, function(e) {
var t = kC(Ts(r), e)
, n = Ze(e, t).map(SC).getOr(0);
return "false" !== r.dom.getContentEditable(e.dom()) && 0 < n
})
}(e, t))
}
function AC(e) {
return cr(e) || sr(e)
}
function MC(e, t) {
var n = e.dom
, r = e.selection
, o = e.formatter
, i = As(e)
, a = /[a-z%]+$/i.exec(i)[0]
, u = parseInt(i, 10)
, c = Ts(e)
, s = as(e);
e.queryCommandState("InsertUnorderedList") || e.queryCommandState("InsertOrderedList") || "" !== s || n.getParent(r.getNode(), n.isBlock) || o.apply("div"),
F(fx(e), function(e) {
!function(e, t, n, r, o, i) {
var a = kC(n, it.fromDom(i));
if ("outdent" === t) {
var u = Math.max(0, SC(i.style[a]) - r);
e.setStyle(i, a, u ? u + o : "")
} else {
u = SC(i.style[a]) + r + o;
e.setStyle(i, a, u)
}
}(n, t, c, u, a, e.dom())
})
}
function RC(e, t, n) {
return Ul.navigateIgnore(e, t, n, Oy)
}
function _C(e, t) {
return g(bm(it.fromDom(t.container()), e), ar)
}
function DC(e, n, r) {
return RC(e, n.dom(), r).forall(function(t) {
return _C(n, r).fold(function() {
return !1 === kc(t, r, n.dom())
}, function(e) {
return !1 === kc(t, r, n.dom()) && Ot(e, it.fromDom(t.container()))
})
})
}
function OC(t, n, r) {
return _C(n, r).fold(function() {
return RC(t, n.dom(), r).forall(function(e) {
return !1 === kc(e, r, n.dom())
})
}, function(e) {
return RC(t, e.dom(), r).isNone()
})
}
function HC(e) {
return R.from(e.dom.getParent(e.selection.getStart(!0), e.dom.isBlock))
}
function BC(e, t) {
return e && e.parentNode && e.parentNode.nodeName === t
}
function PC(e) {
return e && /^(OL|UL|LI)$/.test(e.nodeName)
}
function LC(e) {
var t = e.parentNode;
return /^(LI|DT|DD)$/.test(t.nodeName) ? t : e
}
function VC(e, t, n) {
for (var r = e[n ? "firstChild" : "lastChild"]; r && !Qt.isElement(r); )
r = r[n ? "nextSibling" : "previousSibling"];
return r === t
}
function IC(e) {
e.innerHTML = '
'
}
function FC(e, t) {
return e.nodeName === t || e.previousSibling && e.previousSibling.nodeName === t
}
function UC(e, t) {
return t && e.isBlock(t) && !/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName) && !/^(fixed|absolute)/i.test(t.style.position) && "true" !== e.getContentEditable(t)
}
function jC(e, t, n) {
return !1 === Qt.isText(t) ? n : e ? 1 === n && t.data.charAt(n - 1) === mu.ZWSP ? 0 : n : n === t.data.length - 1 && t.data.charAt(n) === mu.ZWSP ? t.data.length : n
}
function qC(e, t) {
var n, r, o = e.getRoot();
for (n = t; n !== o && "false" !== e.getContentEditable(n); )
"true" === e.getContentEditable(n) && (r = n),
n = n.parentNode;
return n !== o ? r : o
}
function $C(e, t) {
var n = as(e);
n && n.toLowerCase() === t.tagName.toLowerCase() && e.dom.setAttribs(t, us(e))
}
function WC(e, t, n) {
var r = e.create("span", {}, " ");
n.parentNode.insertBefore(r, n),
t.scrollIntoView(r),
e.remove(r)
}
function KC(e, t, n, r) {
var o = e.createRng();
r ? (o.setStartBefore(n),
o.setEndBefore(n)) : (o.setStartAfter(n),
o.setEndAfter(n)),
t.setRng(o)
}
function XC(e, t) {
var n, r, o = e.selection, i = e.dom, a = o.getRng();
Bm(i, a).each(function(e) {
a.setStart(e.startContainer, e.startOffset),
a.setEnd(e.endContainer, e.endOffset)
});
var u = a.startOffset
, c = a.startContainer;
if (1 === c.nodeType && c.hasChildNodes()) {
var s = u > c.childNodes.length - 1;
c = c.childNodes[Math.min(u, c.childNodes.length - 1)] || c,
u = s && 3 === c.nodeType ? c.nodeValue.length : 0
}
var l = i.getParent(c, i.isBlock)
, f = l ? i.getParent(l.parentNode, i.isBlock) : null
, d = f ? f.nodeName.toUpperCase() : ""
, h = !(!t || !t.ctrlKey);
"LI" !== d || h || (l = f),
c && 3 === c.nodeType && u >= c.nodeValue.length && !function(e, t, n) {
for (var r, o = new Fi(t,n), i = e.getNonEmptyElements(); r = o.next(); )
if (i[r.nodeName.toLowerCase()] || 0 < r.length)
return !0
}(e.schema, c, l) && (n = i.create("br"),
a.insertNode(n),
a.setStartAfter(n),
a.setEndAfter(n),
r = !0),
n = i.create("br"),
Ju(i, a, n),
WC(i, o, n),
KC(i, o, n, r),
e.undoManager.add()
}
function YC(e, t) {
var n = it.fromTag("br");
Te(it.fromDom(t), n),
e.undoManager.add()
}
function GC(e, t) {
Nx(e.getBody(), t) || Ae(it.fromDom(t), it.fromTag("br"));
var n = it.fromTag("br");
Ae(it.fromDom(t), n),
WC(e.dom, e.selection, n.dom()),
KC(e.dom, e.selection, n.dom(), !1),
e.undoManager.add()
}
function ZC(e) {
return e && "A" === e.nodeName && "href"in e
}
function JC(e) {
return e.fold($(!1), ZC, ZC, $(!1))
}
function QC(e, t) {
t.fold(i, d(YC, e), d(GC, e), i)
}
function ew(e, t) {
return Cx(e).filter(function(e) {
return 0 < t.length && me(it.fromDom(e), t)
}).isSome()
}
function tw(e, t) {
return Tx(e)
}
function nw(n) {
return function(e, t) {
return "" === as(e) === n
}
}
function rw(n) {
return function(e, t) {
return xx(e) === n
}
}
function ow(n, r) {
return function(e, t) {
return wx(e) === n.toUpperCase() === r
}
}
function iw(e) {
return ow("pre", e)
}
function aw(n) {
return function(e, t) {
return is(e) === n
}
}
function uw(e, t) {
return kx(e)
}
function cw(e, t) {
return t
}
function sw(e) {
var t = as(e)
, n = bx(e.dom, e.selection.getStart());
return n && e.schema.isValidChild(n.nodeName, t || "P")
}
function lw(e, t) {
return function(n, r) {
return y(e, function(e, t) {
return e && t(n, r)
}, !0) ? R.some(t) : R.none()
}
}
function fw(n, r) {
var e = r.container()
, t = r.offset();
return Qt.isText(e) ? (e.insertData(t, n),
R.some(Wu(e, t + n.length))) : Oc(r).map(function(e) {
var t = it.fromText(n);
return r.isAtEnd() ? Ae(e, t) : Te(e, t),
Wu(t.dom(), n.length)
})
}
function dw(e) {
return Wu.isTextPosition(e) && !e.isAtStart() && !e.isAtEnd()
}
function hw(e, t) {
var n = U(bm(it.fromDom(t.container()), e), ar);
return z(n).getOr(e)
}
function mw(e, t) {
return dw(t) ? Ky(t) : Ky(t) || Ul.prevPosition(hw(e, t).dom(), t).exists(Ky)
}
function gw(e, t) {
return dw(t) ? Wy(t) : Wy(t) || Ul.nextPosition(hw(e, t).dom(), t).exists(Wy)
}
function pw(e) {
return Oc(e).bind(function(e) {
return Na(e, Pt)
}).exists(function(e) {
return function(e) {
return h(["pre", "pre-wrap"], e)
}(Ge(e, "white-space"))
})
}
function vw(e, t) {
return function(e, t) {
return Ul.prevPosition(e.dom(), t).isNone()
}(e, t) || function(e, t) {
return Ul.nextPosition(e.dom(), t).isNone()
}(e, t) || dx(e, t) || hx(e, t) || Wb(e, t) || $b(e, t)
}
function yw(e, t) {
var n = function(e) {
var t = e.container()
, n = e.offset();
return Qt.isText(t) && n < t.data.length ? Wu(t, n + 1) : e
}(t);
return !pw(n) && (hx(e, n) || gx(e, n) || $b(e, n) || gw(e, n))
}
function bw(e, t) {
return function(e, t) {
return !pw(t) && (dx(e, t) || mx(e, t) || Wb(e, t) || mw(e, t))
}(e, t) || yw(e, t)
}
function Cw(e, t) {
return Kl(e.charAt(t))
}
function ww(e) {
var t = e.container();
return Qt.isText(t) && ae(t.data, qr)
}
function xw(e) {
var t = e.data
, n = function(e) {
var n = e.split("");
return X(n, function(e, t) {
return Kl(e) && 0 < t && t < n.length - 1 && cl(n[t - 1]) && cl(n[t + 1]) ? " " : e
}).join("")
}(t);
return n !== t && (e.data = n,
!0)
}
function zw(n, e) {
return R.some(e).filter(ww).bind(function(e) {
var t = e.container();
return function(e, t) {
var n = t.data
, r = Wu(t, 0);
return !(!Cw(n, 0) || bw(e, r)) && (t.data = " " + n.slice(1),
!0)
}(n, t) || xw(t) || function(e, t) {
var n = t.data
, r = Wu(t, n.length - 1);
return !(!Cw(n, n.length - 1) || bw(e, r)) && (t.data = n.slice(0, -1) + " ",
!0)
}(n, t) ? R.some(e) : R.none()
})
}
function Ew(t) {
var e = it.fromDom(t.getBody());
t.selection.isCollapsed() && zw(e, Wu.fromRangeStart(t.selection.getRng())).each(function(e) {
t.selection.setRng(e.toRange())
})
}
function Nw(t, n) {
return function(e) {
return function(e, t) {
return !pw(t) && (vw(e, t) || mw(e, t) || gw(e, t))
}(t, e) ? Dx(n) : Ox(n)
}
}
function Sw(e) {
var t = Vc.fromRangeStart(e.selection.getRng())
, n = it.fromDom(e.getBody());
if (e.selection.isCollapsed()) {
var r = d(ly.isInlineTarget, e)
, o = Vc.fromRangeStart(e.selection.getRng());
return my(r, e.getBody(), o).bind(function(t) {
return function(e) {
return e.fold(function(e) {
return Ul.prevPosition(t.dom(), Vc.before(e))
}, function(e) {
return Ul.firstPositionIn(e)
}, function(e) {
return Ul.lastPositionIn(e)
}, function(e) {
return Ul.nextPosition(t.dom(), Vc.after(e))
})
}
}(n)).bind(Nw(n, t)).exists(function(t) {
return function(e) {
return t.selection.setRng(e.toRange()),
t.nodeChanged(),
!0
}
}(e))
}
return !1
}
function kw(e, t) {
t.hasAttribute("data-mce-caret") && (ja(t),
function(e) {
e.selection.setRng(e.selection.getRng())
}(e),
e.selection.scrollIntoView(t))
}
function Tw(e, t) {
var n = function(e) {
return ka(it.fromDom(e.getBody()), "*[data-mce-caret]").fold($(null), function(e) {
return e.dom()
})
}(e);
if (n)
return "compositionstart" === t.type ? (t.preventDefault(),
t.stopPropagation(),
void kw(e, n)) : void (Va(n) && (kw(e, n),
e.undoManager.add()))
}
function Aw(t) {
!function(e) {
var t = fa(function() {
e.composing || Ew(e)
}, 0);
Px.isIE() && (e.on("keypress", function(e) {
t.throttle()
}),
e.on("remove", function(e) {
t.cancel()
}))
}(t),
t.on("input", function(e) {
!1 === e.isComposing && Ew(t)
})
}
var Mw = d(tb, Wu.isAbove, -1)
, Rw = d(tb, Wu.isBelow, 1)
, _w = d(nb, -1, Mw)
, Dw = d(nb, 1, Rw)
, Ow = Qt.isContentEditableFalse
, Hw = Ja
, Bw = d(fb, function(e) {
return e.bottom
}, function(e, t) {
return e.y < t
})
, Pw = d(fb, function(e) {
return e.top
}, function(e, t) {
return e.y > t
})
, Lw = d(gb, Mw)
, Vw = d(gb, Rw)
, Iw = function(e) {
for (var t = [], n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
var r = Array.prototype.slice.call(arguments, 1);
return function() {
return e.apply(null, r)
}
}
, Fw = function(e, t) {
return g(Ab(e, t), function(e) {
return e.action()
})
}
, Uw = function(t, n) {
t.on("keydown", function(e) {
!1 === e.isDefaultPrevented() && function(e, t, n) {
var r = fe().os;
Fw([{
keyCode: hh.RIGHT,
action: cb(e, !0)
}, {
keyCode: hh.LEFT,
action: cb(e, !1)
}, {
keyCode: hh.UP,
action: sb(e, !1)
}, {
keyCode: hh.DOWN,
action: sb(e, !0)
}, {
keyCode: hh.RIGHT,
action: Cb(e, !0)
}, {
keyCode: hh.LEFT,
action: Cb(e, !1)
}, {
keyCode: hh.UP,
action: wb(e, !1)
}, {
keyCode: hh.DOWN,
action: wb(e, !0)
}, {
keyCode: hh.RIGHT,
action: by.move(e, t, !0)
}, {
keyCode: hh.LEFT,
action: by.move(e, t, !1)
}, {
keyCode: hh.RIGHT,
ctrlKey: !r.isOSX(),
altKey: r.isOSX(),
action: by.moveNextWord(e, t)
}, {
keyCode: hh.LEFT,
ctrlKey: !r.isOSX(),
altKey: r.isOSX(),
action: by.movePrevWord(e, t)
}, {
keyCode: hh.UP,
action: Tb(e, !1)
}, {
keyCode: hh.DOWN,
action: Tb(e, !0)
}], n).each(function(e) {
n.preventDefault()
})
}(t, n, e)
})
}
, jw = function(e, t) {
return Ot(e, t) ? Na(t, function(e) {
return ur(e) || sr(e)
}, function(t) {
return function(e) {
return pe(t, it.fromDom(e.dom().parentNode))
}
}(e)) : R.none()
}
, qw = function(e) {
e.dom.isEmpty(e.getBody()) && (e.setContent(""),
function(e) {
var t = e.getBody()
, n = t.firstChild && e.dom.isBlock(t.firstChild) ? t.firstChild : t;
e.selection.setCursorLocation(n, 0)
}(e))
}
, $w = function(i, a, u) {
return tu(Ul.firstPositionIn(u), Ul.lastPositionIn(u), function(e, t) {
var n = ly.normalizePosition(!0, e)
, r = ly.normalizePosition(!1, t)
, o = ly.normalizePosition(!1, a);
return i ? Ul.nextPosition(u, o).map(function(e) {
return e.isEqual(r) && a.isEqual(n)
}).getOr(!1) : Ul.prevPosition(u, o).map(function(e) {
return e.isEqual(n) && a.isEqual(r)
}).getOr(!1)
}).getOr(!0)
}
, Ww = function(e, t, n) {
return n.collapsed ? _b(e, t, n) : R.none()
}
, Kw = function(e, t, n, r) {
return t ? Vb(e, r, n) : Vb(e, n, r)
}
, Xw = function(t, n) {
var r = it.fromDom(t.getBody())
, e = Ww(r.dom(), n, t.selection.getRng()).bind(function(e) {
return Kw(r, n, e.from().block(), e.to().block())
});
return e.each(function(e) {
t.selection.setRng(e.toRange())
}),
e.isSome()
}
, Yw = function(e, t) {
return !e.selection.isCollapsed() && Ub(e)
}
, Gw = d(qb, !1)
, Zw = d(qb, !0)
, Jw = gd([{
remove: ["element"]
}, {
moveToElement: ["element"]
}, {
moveToPosition: ["position"]
}])
, Qw = function(e, t) {
for (; t && t !== e; ) {
if (Qt.isContentEditableTrue(t) || Qt.isContentEditableFalse(t))
return t;
t = t.parentNode
}
return null
}
, ex = function(e, t) {
return e.selection.isCollapsed() ? Zb(e, t) : Jb(e, t)
}
, tx = function(e) {
var t, n = Qw(e.getBody(), e.selection.getNode());
return Qt.isContentEditableTrue(n) && e.dom.isBlock(n) && e.dom.isEmpty(n) && (t = e.dom.create("br", {
"data-mce-bogus": "1"
}),
e.dom.setHTML(n, ""),
n.appendChild(t),
e.selection.setRng(Vc.before(t).toRange())),
!0
}
, nx = function(e, t) {
return function(e, t) {
var n = e.selection.getRng();
if (!Qt.isText(n.commonAncestorContainer))
return !1;
var r = t ? Pc.Forwards : Pc.Backwards
, o = Xs(e.getBody())
, i = d(Hc, o.next)
, a = d(Hc, o.prev)
, u = t ? i : a
, c = t ? Jy : Qy
, s = Dc(r, e.getBody(), n)
, l = ly.normalizePosition(t, u(s));
if (!l || !Bc(s, l))
return !1;
if (c(l))
return Qb(e, n, s.getNode(), r, t, l);
var f = u(l);
return !!(f && c(f) && Bc(l, f)) && Qb(e, n, s.getNode(), r, t, f)
}(e, t)
}
, rx = function(e, t, n) {
if (e.selection.isCollapsed() && function(e) {
return !1 !== e.settings.inline_boundaries
}(e)) {
var r = Vc.fromRangeStart(e.selection.getRng());
return nC(e, t, n, r)
}
return !1
}
, ox = function(e, t) {
return !!e.selection.isCollapsed() && iC(e, t)
}
, ix = gd([{
removeTable: ["element"]
}, {
emptyCells: ["cells"]
}])
, ax = function(e, t) {
return lC(t, e).isSome()
}
, ux = function(e, t) {
return g(bm(t, e), function(e) {
return "caption" === Oe(e)
})
}
, cx = function(e, t) {
return Jg(t),
e.selection.setCursorLocation(t.dom(), 0),
R.some(!0)
}
, sx = function(e, t) {
var n = it.fromDom(e.selection.getStart(!0))
, r = _m(e);
return e.selection.isCollapsed() && 0 === r.length ? NC(e, t, n) : function(e, t) {
var n = it.fromDom(e.getBody())
, r = e.selection.getRng()
, o = _m(e);
return 0 !== o.length ? vC(e, o) : CC(e, n, r, t)
}(e, n)
}
, lx = function(e, t) {
return !!e.selection.isCollapsed() && function(t, n) {
var e = Vc.fromRangeStart(t.selection.getRng());
return Ul.fromPosition(n, t.getBody(), e).filter(function(e) {
return n ? Xy(e) : Yy(e)
}).bind(function(e) {
return R.from(Tc(n ? 0 : -1, e))
}).map(function(e) {
return t.selection.select(e),
!0
}).getOr(!1)
}(e, t)
}
, fx = function(e) {
return U(X(e.selection.getSelectedBlocks(), it.fromDom), function(e) {
return !AC(e) && !function(e) {
return be(e).map(AC).getOr(!1)
}(e) && function(e) {
return Na(e, function(e) {
return Qt.isContentEditableTrue(e.dom()) || Qt.isContentEditableFalse(e.dom())
}).exists(function(e) {
return Qt.isContentEditableTrue(e.dom())
})
}(e)
})
}
, dx = d(OC, !1)
, hx = d(OC, !0)
, mx = d(DC, !1)
, gx = d(DC, !0)
, px = function(e, t, n) {
if (e.selection.isCollapsed() && TC(e)) {
var r = e.dom
, o = e.selection.getRng()
, i = Vc.fromRangeStart(o)
, a = r.getParent(o.startContainer, r.isBlock);
if (null !== a && dx(it.fromDom(a), i))
return MC(e, "outdent"),
!0
}
return !1
}
, vx = function(t, n) {
t.on("keydown", function(e) {
!1 === e.isDefaultPrevented() && function(e, t, n) {
Fw([{
keyCode: hh.BACKSPACE,
action: Iw(px, e, !1)
}, {
keyCode: hh.BACKSPACE,
action: Iw(ex, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(ex, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(nx, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(nx, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(rx, e, t, !1)
}, {
keyCode: hh.DELETE,
action: Iw(rx, e, t, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(sx, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(sx, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(lx, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(lx, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(Yw, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(Yw, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(Xw, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(Xw, e, !0)
}, {
keyCode: hh.BACKSPACE,
action: Iw(ox, e, !1)
}, {
keyCode: hh.DELETE,
action: Iw(ox, e, !0)
}], n).each(function(e) {
n.preventDefault()
})
}(t, n, e)
}),
t.on("keyup", function(e) {
!1 === e.isDefaultPrevented() && function(e, t) {
Fw([{
keyCode: hh.BACKSPACE,
action: Iw(tx, e)
}, {
keyCode: hh.DELETE,
action: Iw(tx, e)
}], t)
}(t, e)
})
}
, yx = function(e, t) {
var n, r, o = t, i = e.dom, a = e.schema.getMoveCaretBeforeOnEnterElements();
if (t) {
if (/^(LI|DT|DD)$/.test(t.nodeName)) {
var u = function(e) {
for (; e; ) {
if (1 === e.nodeType || 3 === e.nodeType && e.data && /[\r\n\s]/.test(e.data))
return e;
e = e.nextSibling
}
}(t.firstChild);
u && /^(UL|OL|DL)$/.test(u.nodeName) && t.insertBefore(i.doc.createTextNode(qr), t.firstChild)
}
if (r = i.createRng(),
t.normalize(),
t.hasChildNodes()) {
for (var c = new Fi(t,t); n = c.current(); ) {
if (Qt.isText(n)) {
r.setStart(n, 0),
r.setEnd(n, 0);
break
}
if (a[n.nodeName.toLowerCase()]) {
r.setStartBefore(n),
r.setEndBefore(n);
break
}
o = n,
n = c.next()
}
n || (r.setStart(o, 0),
r.setEnd(o, 0))
} else
Qt.isBr(t) ? t.nextSibling && i.isBlock(t.nextSibling) ? (r.setStartBefore(t),
r.setEndBefore(t)) : (r.setStartAfter(t),
r.setEndAfter(t)) : (r.setStart(t, 0),
r.setEnd(t, 0));
e.selection.setRng(r),
gm(e, r)
}
}
, bx = function(e, t) {
var n, r, o = e.getRoot();
for (n = t; n !== o && "false" !== e.getContentEditable(n); )
"true" === e.getContentEditable(n) && (r = n),
n = n.parentNode;
return n !== o ? r : o
}
, Cx = HC
, wx = function(e) {
return HC(e).fold($(""), function(e) {
return e.nodeName.toUpperCase()
})
}
, xx = function(e) {
return HC(e).filter(function(e) {
return sr(it.fromDom(e))
}).isSome()
}
, zx = function(e, t, n, r, o) {
var i = e.dom
, a = e.selection.getRng();
if (n !== e.getBody()) {
!function(e) {
return PC(e) && PC(e.parentNode)
}(n) || (o = "LI");
var u = o ? t(o) : i.create("BR");
if (VC(n, r, !0) && VC(n, r, !1))
BC(n, "LI") ? i.insertAfter(u, LC(n)) : i.replace(u, n);
else if (VC(n, r, !0))
BC(n, "LI") ? (i.insertAfter(u, LC(n)),
u.appendChild(i.doc.createTextNode(" ")),
u.appendChild(n)) : n.parentNode.insertBefore(u, n);
else if (VC(n, r, !1))
i.insertAfter(u, LC(n));
else {
n = LC(n);
var c = a.cloneRange();
c.setStartAfter(r),
c.setEndAfter(n);
var s = c.extractContents();
"LI" === o && function(e, t) {
return e.firstChild && e.firstChild.nodeName === t
}(s, "LI") ? (u = s.firstChild,
i.insertAfter(s, n)) : (i.insertAfter(s, n),
i.insertAfter(u, n))
}
i.remove(r),
yx(e, u)
}
}
, Ex = function(a, e) {
function t(e) {
var t, n, r, o = c, i = b.getTextInlineElements();
if (e || "TABLE" === m || "HR" === m ? (t = y.create(e || p),
$C(a, t)) : t = s.cloneNode(!1),
r = t,
!1 === ls(a))
y.setAttrib(t, "style", null),
y.setAttrib(t, "class", null);
else
do {
if (i[o.nodeName]) {
if (sc(o) || Wl(o))
continue;
n = o.cloneNode(!1),
y.setAttrib(n, "id", ""),
t.hasChildNodes() ? n.appendChild(t.firstChild) : r = n,
t.appendChild(n)
}
} while ((o = o.parentNode) && o !== u);
return IC(r),
t
}
function n(e) {
var t, n, r = jC(e, c, i);
if (Qt.isText(c) && (e ? 0 < r : r < c.nodeValue.length))
return !1;
if (c.parentNode === s && v && !e)
return !0;
if (e && Qt.isElement(c) && c === s.firstChild)
return !0;
if (FC(c, "TABLE") || FC(c, "HR"))
return v && !e || !v && e;
var o = new Fi(c,s);
for (Qt.isText(c) && (e && 0 === r ? o.prev() : e || r !== c.nodeValue.length || o.next()); t = o.current(); ) {
if (Qt.isElement(t)) {
if (!t.getAttribute("data-mce-bogus") && (n = t.nodeName.toLowerCase(),
C[n] && "br" !== n))
return !1
} else if (Qt.isText(t) && !/^[ \t\r\n]*$/.test(t.nodeValue))
return !1;
e ? o.prev() : o.next()
}
return !0
}
function r() {
f = /^(H[1-6]|PRE|FIGURE)$/.test(m) && "HGROUP" !== g ? t(p) : t(),
fs(a) && UC(y, h) && y.isEmpty(s) ? f = y.split(h, s) : y.insertAfter(f, s),
yx(a, f)
}
var o, u, c, i, s, l, f, d, h, m, g, p, v, y = a.dom, b = a.schema, C = b.getNonEmptyElements(), w = a.selection.getRng();
Bm(y, w).each(function(e) {
w.setStart(e.startContainer, e.startOffset),
w.setEnd(e.endContainer, e.endOffset)
}),
c = w.startContainer,
i = w.startOffset,
p = as(a),
l = !(!e || !e.shiftKey);
var x = !(!e || !e.ctrlKey);
Qt.isElement(c) && c.hasChildNodes() && (v = i > c.childNodes.length - 1,
c = c.childNodes[Math.min(i, c.childNodes.length - 1)] || c,
i = v && Qt.isText(c) ? c.nodeValue.length : 0),
(u = qC(y, c)) && ((p && !l || !p && l) && (c = function(e, t, n, r, o) {
var i, a, u, c, s, l, f = t || "P", d = e.dom, h = qC(d, r);
if (!(a = d.getParent(r, d.isBlock)) || !UC(d, a)) {
if (l = (a = a || h) === e.getBody() || function(e) {
return e && /^(TD|TH|CAPTION)$/.test(e.nodeName)
}(a) ? a.nodeName.toLowerCase() : a.parentNode.nodeName.toLowerCase(),
!a.hasChildNodes())
return i = d.create(f),
$C(e, i),
a.appendChild(i),
n.setStart(i, 0),
n.setEnd(i, 0),
i;
for (c = r; c.parentNode !== a; )
c = c.parentNode;
for (; c && !d.isBlock(c); )
c = (u = c).previousSibling;
if (u && e.schema.isValidChild(l, f.toLowerCase())) {
for (i = d.create(f),
$C(e, i),
u.parentNode.insertBefore(i, u),
c = u; c && !d.isBlock(c); )
s = c.nextSibling,
i.appendChild(c),
c = s;
n.setStart(r, o),
n.setEnd(r, o)
}
}
return r
}(a, p, w, c, i)),
s = y.getParent(c, y.isBlock),
h = s ? y.getParent(s.parentNode, y.isBlock) : null,
m = s ? s.nodeName.toUpperCase() : "",
"LI" !== (g = h ? h.nodeName.toUpperCase() : "") || x || (h = (s = h).parentNode,
m = g),
/^(LI|DT|DD)$/.test(m) && y.isEmpty(s) ? zx(a, t, h, s, p) : p && s === a.getBody() || (p = p || "P",
Ba(s) ? (f = ja(s),
y.isEmpty(s) && IC(s),
yx(a, f)) : n() ? r() : n(!0) ? (f = s.parentNode.insertBefore(t(), s),
yx(a, FC(s, "HR") ? f : s)) : ((o = function(e) {
var t = e.cloneRange();
return t.setStart(e.startContainer, jC(!0, e.startContainer, e.startOffset)),
t.setEnd(e.endContainer, jC(!1, e.endContainer, e.endOffset)),
t
}(w).cloneRange()).setEndAfter(s),
function(e) {
F(xa(it.fromDom(e), Lt), function(e) {
var t = e.dom();
t.nodeValue = mu.trim(t.nodeValue)
})
}(d = o.extractContents()),
function(e) {
for (; Qt.isText(e) && (e.nodeValue = e.nodeValue.replace(/^[\r\n]+/, "")),
e = e.firstChild; )
;
}(d),
f = d.firstChild,
y.insertAfter(d, s),
function(e, t, n) {
var r, o = n, i = [];
if (o) {
for (; o = o.firstChild; ) {
if (e.isBlock(o))
return;
Qt.isElement(o) && !t[o.nodeName.toLowerCase()] && i.push(o)
}
for (r = i.length; r--; )
!(o = i[r]).hasChildNodes() || o.firstChild === o.lastChild && "" === o.firstChild.nodeValue ? e.remove(o) : (a = e,
(u = o) && "A" === u.nodeName && a.isEmpty(u) && e.remove(o));
var a, u
}
}(y, C, f),
function(e, t) {
var n;
t.normalize(),
(n = t.lastChild) && !/^(left|right)$/gi.test(e.getStyle(n, "float", !0)) || e.add(t, "br")
}(y, s),
y.isEmpty(s) && IC(s),
f.normalize(),
y.isEmpty(f) ? (y.remove(f),
r()) : yx(a, f)),
y.setAttrib(f, "id", ""),
a.fire("NewBlock", {
newBlock: f
})))
}
, Nx = function(e, t) {
return !!function(e) {
return Qt.isBr(e.getNode())
}(Vc.after(t)) || Ul.nextPosition(e, Vc.after(t)).map(function(e) {
return Qt.isBr(e.getNode())
}).getOr(!1)
}
, Sx = function(e, t) {
var n = function(e) {
var t = d(ly.isInlineTarget, e)
, n = Vc.fromRangeStart(e.selection.getRng());
return my(t, e.getBody(), n).filter(JC)
}(e);
n.isSome() ? n.each(d(QC, e)) : XC(e, t)
}
, kx = function(e) {
return ew(e, cs(e))
}
, Tx = function(e) {
return ew(e, ss(e))
}
, Ax = gd([{
br: []
}, {
block: []
}, {
none: []
}])
, Mx = function(e, t) {
return fy([lw([tw], Ax.none()), lw([ow("summary", !0)], Ax.br()), lw([iw(!0), aw(!1), cw], Ax.br()), lw([iw(!0), aw(!1)], Ax.block()), lw([iw(!0), aw(!0), cw], Ax.block()), lw([iw(!0), aw(!0)], Ax.br()), lw([rw(!0), cw], Ax.br()), lw([rw(!0)], Ax.block()), lw([nw(!0), cw, sw], Ax.block()), lw([nw(!0)], Ax.br()), lw([uw], Ax.br()), lw([nw(!1), cw], Ax.br()), lw([sw], Ax.block())], [e, !(!t || !t.shiftKey)]).getOr(Ax.none())
}
, Rx = function(e, t) {
Mx(e, t).fold(function() {
Sx(e, t)
}, function() {
Ex(e, t)
}, i)
}
, _x = function(t) {
t.on("keydown", function(e) {
e.keyCode === hh.ENTER && function(e, t) {
t.isDefaultPrevented() || (t.preventDefault(),
function(e) {
e.typing && (e.typing = !1,
e.add())
}(e.undoManager),
e.undoManager.transact(function() {
!1 === e.selection.isCollapsed() && e.execCommand("Delete"),
Rx(e, t)
}))
}(t, e)
})
}
, Dx = d(fw, qr)
, Ox = d(fw, " ")
, Hx = function(t) {
t.on("keydown", function(e) {
!1 === e.isDefaultPrevented() && function(e, t) {
Fw([{
keyCode: hh.SPACEBAR,
action: Iw(Sw, e)
}], t).each(function(e) {
t.preventDefault()
})
}(t, e)
})
}
, Bx = function(e) {
e.on("keyup compositionstart", d(Tw, e))
}
, Px = fe().browser
, Lx = function(t) {
t.on("keydown", function(e) {
!1 === e.isDefaultPrevented() && function(e, t) {
Fw([{
keyCode: hh.END,
action: lb(e, !0)
}, {
keyCode: hh.HOME,
action: lb(e, !1)
}], t).each(function(e) {
t.preventDefault()
})
}(t, e)
})
}
, Vx = function(e) {
var t = by.setupSelectedState(e);
Bx(e),
Uw(e, t),
vx(e, t),
_x(e),
Hx(e),
Aw(e),
Lx(e)
}
, Ix = (Fx.prototype.nodeChanged = function(e) {
var t, n, r, o = this.editor.selection;
this.editor.initialized && o && !this.editor.settings.disable_nodechange && !this.editor.readonly && (r = this.editor.getBody(),
(t = o.getStart(!0) || r).ownerDocument === this.editor.getDoc() && this.editor.dom.isChildOf(t, r) || (t = r),
n = [],
this.editor.dom.getParent(t, function(e) {
if (e === r)
return !0;
n.push(e)
}),
(e = e || {}).element = t,
e.parents = n,
this.editor.fire("NodeChange", e))
}
,
Fx.prototype.isSameElementPath = function(e) {
var t, n;
if ((n = this.editor.$(e).parentsUntil(this.editor.getBody()).add(e)).length === this.lastPath.length) {
for (t = n.length; 0 <= t && n[t] === this.lastPath[t]; t--)
;
if (-1 === t)
return this.lastPath = n,
!0
}
return this.lastPath = n,
!1
}
,
Fx);
function Fx(r) {
var o;
this.lastPath = [],
this.editor = r;
var t = this;
"onselectionchange"in r.getDoc() || r.on("NodeChange click mouseup keyup focus", function(e) {
var t, n;
n = {
startContainer: (t = r.selection.getRng()).startContainer,
startOffset: t.startOffset,
endContainer: t.endContainer,
endOffset: t.endOffset
},
"nodechange" !== e.type && Hm(n, o) || r.fire("SelectionChange"),
o = n
}),
r.on("contextmenu", function() {
r.fire("SelectionChange")
}),
r.on("SelectionChange", function() {
var e = r.selection.getStart(!0);
!e || !Wn.range && r.selection.isCollapsed() || Ph(r) && !t.isSameElementPath(e) && r.dom.isChildOf(e, r.getBody()) && r.nodeChanged({
selectionChange: !0
})
}),
r.on("mouseup", function(e) {
!e.isDefaultPrevented() && Ph(r) && ("IMG" === r.selection.getNode().nodeName ? Pn.setEditorTimeout(r, function() {
r.nodeChanged()
}) : r.nodeChanged())
})
}
function Ux(e) {
!function(t) {
t.on("click", function(e) {
t.dom.getParent(e.target, "details") && e.preventDefault()
})
}(e),
function(e) {
e.parser.addNodeFilter("details", function(e) {
F(e, function(e) {
e.attr("data-mce-open", e.attr("open")),
e.attr("open", "open")
})
}),
e.serializer.addNodeFilter("details", function(e) {
F(e, function(e) {
var t = e.attr("data-mce-open");
e.attr("open", K(t) ? t : null),
e.attr("data-mce-open", null)
})
})
}(e)
}
function jx(e) {
return Qt.isElement(e) && ur(it.fromDom(e))
}
function qx(t) {
t.on("click", function(e) {
3 <= e.detail && function(e) {
var t = e.selection.getRng()
, n = Wu.fromRangeStart(t)
, r = Wu.fromRangeEnd(t);
if (Wu.isElementPosition(n)) {
var o = n.container();
jx(o) && Ul.firstPositionIn(o).each(function(e) {
return t.setStart(e.container(), e.offset())
})
}
if (Wu.isElementPosition(r)) {
o = n.container();
jx(o) && Ul.lastPositionIn(o).each(function(e) {
return t.setEnd(e.container(), e.offset())
})
}
e.selection.setRng(Bp(t))
}(t)
})
}
function $x(e) {
var t, n, r, o;
return o = e.getBoundingClientRect(),
n = (t = e.ownerDocument).documentElement,
r = t.defaultView,
{
top: o.top + r.pageYOffset - n.clientTop,
left: o.left + r.pageXOffset - n.clientLeft
}
}
function Wx(e) {
e && e.parentNode && e.parentNode.removeChild(e)
}
function Kx(i, a) {
return function(e) {
if (function(e) {
return 0 === e.button
}(e)) {
var t = g(a.dom.getParents(e.target), _u(Nz, Sz)).getOr(null);
if (function(e, t) {
return Nz(t) && t !== e
}(a.getBody(), t)) {
var n = a.dom.getPos(t)
, r = a.getBody()
, o = a.getDoc().documentElement;
i.element = t,
i.screenX = e.screenX,
i.screenY = e.screenY,
i.maxX = (a.inline ? r.scrollWidth : o.offsetWidth) - 2,
i.maxY = (a.inline ? r.scrollHeight : o.offsetHeight) - 2,
i.relX = e.pageX - n.x,
i.relY = e.pageY - n.y,
i.width = t.offsetWidth,
i.height = t.offsetHeight,
i.ghost = function(e, t, n, r) {
var o = t.cloneNode(!0);
e.dom.setStyles(o, {
width: n,
height: r
}),
e.dom.setAttrib(o, "data-mce-selected", null);
var i = e.dom.create("div", {
"class": "mce-drag-container",
"data-mce-bogus": "all",
unselectable: "on",
contenteditable: "false"
});
return e.dom.setStyles(i, {
position: "absolute",
opacity: .5,
overflow: "hidden",
border: 0,
padding: 0,
margin: 0,
width: n,
height: r
}),
e.dom.setStyles(o, {
margin: 0,
boxSizing: "border-box"
}),
i.appendChild(o),
i
}(a, t, i.width, i.height)
}
}
}
}
function Xx(r, o) {
return function(e) {
if (r.dragging && function(e, t, n) {
return t !== n && !e.dom.isChildOf(t, n) && !Nz(t)
}(o, function(e) {
var t = e.getSel().getRangeAt(0).startContainer;
return 3 === t.nodeType ? t.parentNode : t
}(o.selection), r.element)) {
var t = function(e) {
var t = e.cloneNode(!0);
return t.removeAttribute("data-mce-selected"),
t
}(r.element)
, n = o.fire("drop", {
targetClone: t,
clientX: e.clientX,
clientY: e.clientY
});
n.isDefaultPrevented() || (t = n.targetClone,
o.undoManager.transact(function() {
Wx(r.element),
o.insertContent(o.dom.getOuterHTML(t)),
o._selectionOverrides.hideFakeCaret()
}))
}
kz(r)
}
}
function Yx(e) {
var t, n, r, o, i, a, u = {};
t = Qi.DOM,
a = j.document,
n = Kx(u, e),
r = function(r, o) {
var i = Pn.throttle(function(e, t) {
o._selectionOverrides.hideFakeCaret(),
o.selection.placeCaretAt(e, t)
}, 0);
return function(e) {
var t = Math.max(Math.abs(e.screenX - r.screenX), Math.abs(e.screenY - r.screenY));
if (function(e) {
return e.element
}(r) && !r.dragging && 10 < t) {
if (o.fire("dragstart", {
target: r.element
}).isDefaultPrevented())
return;
r.dragging = !0,
o.focus()
}
if (r.dragging) {
var n = function(e, t) {
return {
pageX: t.pageX - e.relX,
pageY: t.pageY + 5
}
}(r, Ez(o, e));
!function(e, t) {
e.parentNode !== t && t.appendChild(e)
}(r.ghost, o.getBody()),
function(e, t, n, r, o, i) {
var a = 0
, u = 0;
e.style.left = t.pageX + "px",
e.style.top = t.pageY + "px",
t.pageX + n > o && (a = t.pageX + n - o),
t.pageY + r > i && (u = t.pageY + r - i),
e.style.width = n - a + "px",
e.style.height = r - u + "px"
}(r.ghost, n, r.width, r.height, r.maxX, r.maxY),
i(e.clientX, e.clientY)
}
}
}(u, e),
o = Xx(u, e),
i = function(e, t) {
return function() {
e.dragging && t.fire("dragend"),
kz(e)
}
}(u, e),
e.on("mousedown", n),
e.on("mousemove", r),
e.on("mouseup", o),
t.bind(a, "mousemove", r),
t.bind(a, "mouseup", i),
e.on("remove", function() {
t.unbind(a, "mousemove", r),
t.unbind(a, "mouseup", i)
})
}
function Gx(e, t) {
for (var n = e.getBody(); t && t !== n; ) {
if (Mz(t) || Rz(t))
return t;
t = t.parentNode
}
return null
}
function Zx(g) {
function a(e) {
e && g.selection.setRng(e)
}
function r() {
return g.selection.getRng()
}
function p(e, t, n, r) {
return void 0 === r && (r = !0),
g.fire("ShowCaret", {
target: t,
direction: e,
before: n
}).isDefaultPrevented() ? null : (r && g.selection.scrollIntoView(t, -1 === e),
o.show(n, t))
}
function t(e) {
return La(e) || vu(e) || yu(e)
}
var v, y = g.getBody(), o = bc(g, y, function(e) {
return g.dom.isBlock(e)
}, function() {
return Dd(g)
}), b = "sel-" + g.dom.uniqueId(), C = function(e) {
return t(e.startContainer) || t(e.endContainer)
}, u = function(e) {
var t = g.schema.getShortEndedElements()
, n = g.dom.createRng()
, r = e.startContainer
, o = e.startOffset
, i = e.endContainer
, a = e.endOffset;
return ee(t, r.nodeName.toLowerCase()) ? 0 === o ? n.setStartBefore(r) : n.setStartAfter(r) : n.setStart(r, o),
ee(t, i.nodeName.toLowerCase()) ? 0 === a ? n.setEndBefore(i) : n.setEndAfter(i) : n.setEnd(i, a),
n
}, c = function(e, t) {
var n, r, o, i, a, u, c, s, l, f, d = g.$, h = g.dom;
if (!e)
return null;
if (e.collapsed) {
if (!C(e))
if (!1 === t) {
if (s = Dc(-1, y, e),
wc(s.getNode(!0)))
return p(-1, s.getNode(!0), !1, !1);
if (wc(s.getNode()))
return p(-1, s.getNode(), !s.isAtEnd(), !1)
} else {
if (s = Dc(1, y, e),
wc(s.getNode()))
return p(1, s.getNode(), !s.isAtEnd(), !1);
if (wc(s.getNode(!0)))
return p(1, s.getNode(!0), !1, !1)
}
return null
}
if (i = e.startContainer,
a = e.startOffset,
u = e.endOffset,
3 === i.nodeType && 0 === a && Rz(i.parentNode) && (i = i.parentNode,
a = h.nodeIndex(i),
i = i.parentNode),
1 !== i.nodeType)
return null;
if (u === a + 1 && i === e.endContainer && (n = i.childNodes[a]),
!Rz(n))
return null;
if (l = f = n.cloneNode(!0),
(c = g.fire("ObjectSelected", {
target: n,
targetClone: l
})).isDefaultPrevented())
return null;
r = ka(it.fromDom(g.getBody()), "#" + b).fold(function() {
return d([])
}, function(e) {
return d([e.dom()])
}),
l = c.targetClone,
0 === r.length && (r = d('').attr("id", b)).appendTo(g.getBody()),
e = g.dom.createRng(),
l === f && Wn.ie ? (r.empty().append('\xa0
').append(l),
e.setStartAfter(r[0].firstChild.firstChild),
e.setEndAfter(l)) : (r.empty().append(qr).append(l).append(qr),
e.setStart(r[0].firstChild, 1),
e.setEnd(r[0].lastChild, 0)),
r.css({
top: h.getPos(n, g.getBody()).y
}),
r[0].focus(),
(o = g.selection.getSel()).removeAllRanges(),
o.addRange(e);
var m = it.fromDom(n);
return F(Ca(it.fromDom(g.getBody()), "*[data-mce-selected]"), function(e) {
pe(m, e) || Ye(e, "data-mce-selected")
}),
g.dom.getAttrib(n, "data-mce-selected") || n.setAttribute("data-mce-selected", "1"),
v = n,
w(),
e
}, s = function() {
v && (v.removeAttribute("data-mce-selected"),
ka(it.fromDom(g.getBody()), "#" + b).each(Bt),
v = null),
ka(it.fromDom(g.getBody()), "#" + b).each(Bt),
v = null
}, w = function() {
o.hide()
};
return Wn.ceFalse && function() {
g.on("mouseup", function(e) {
var t = r();
t.collapsed && Gd(g, e.clientX, e.clientY) && a(Ry(g, t, !1))
}),
g.on("click", function(e) {
var t;
(t = Gx(g, e.target)) && (Rz(t) && (e.preventDefault(),
g.focus()),
Mz(t) && g.dom.isChildOf(t, g.selection.getNode()) && s())
}),
g.on("blur NewBlock", function() {
s()
}),
g.on("ResizeWindow FullscreenStateChanged", function() {
return o.reposition()
});
function i(e, t) {
var n = g.dom.getParent(e, g.dom.isBlock)
, r = g.dom.getParent(t, g.dom.isBlock);
return !(!n || !g.dom.isChildOf(n, r) || !1 !== Rz(Gx(g, n))) || n && !function(e, t) {
return g.dom.getParent(e, g.dom.isBlock) === g.dom.getParent(t, g.dom.isBlock)
}(n, r) && function(e) {
var t = Xs(e);
if (!e.firstChild)
return !1;
var n = Vc.before(e.firstChild)
, r = t.next(n);
return r && !Jy(r) && !Qy(r)
}(n)
}
var n;
(n = g).on("tap", function(e) {
var t = Gx(n, e.target);
Rz(t) && (e.preventDefault(),
c(My(n, t)))
}, !0),
g.on("mousedown", function(e) {
var t, n = e.target;
if ((n === y || "HTML" === n.nodeName || g.dom.isChildOf(n, y)) && !1 !== Gd(g, e.clientX, e.clientY))
if (t = Gx(g, n))
Rz(t) ? (e.preventDefault(),
c(My(g, t))) : (s(),
Mz(t) && e.shiftKey || dh(e.clientX, e.clientY, g.selection.getRng()) || (w(),
g.selection.placeCaretAt(e.clientX, e.clientY)));
else if (!1 === wc(n)) {
s(),
w();
var r = Ty(y, e.clientX, e.clientY);
if (r && !i(e.target, r.node)) {
e.preventDefault();
var o = p(1, r.node, r.before, !1);
g.getBody().focus(),
a(o)
}
}
}),
g.on("keypress", function(e) {
hh.modifierPressed(e) || (e.keyCode,
Rz(g.selection.getNode()) && e.preventDefault())
}),
g.on("GetSelectionRange", function(e) {
var t = e.range;
if (v) {
if (!v.parentNode)
return void (v = null);
(t = t.cloneRange()).selectNode(v),
e.range = t
}
}),
g.on("SetSelectionRange", function(e) {
e.range = u(e.range);
var t = c(e.range, e.forward);
t && (e.range = t)
});
g.on("AfterSetSelectionRange", function(e) {
var t = e.range;
C(t) || function(e) {
return "mcepastebin" === e.id
}(t.startContainer.parentNode) || w(),
function(e) {
return g.dom.hasClass(e, "mce-offscreen-selection")
}(t.startContainer.parentNode) || s()
}),
g.on("copy", function(e) {
var t = e.clipboardData;
if (!e.isDefaultPrevented() && e.clipboardData && !Wn.ie) {
var n = function() {
var e = g.dom.get(b);
return e ? e.getElementsByTagName("*")[0] : e
}();
n && (e.preventDefault(),
t.clearData(),
t.setData("text/html", n.outerHTML),
t.setData("text/plain", n.outerText))
}
}),
Tz(g),
Az(g)
}(),
{
showCaret: p,
showBlockCaretContainer: function(e) {
e.hasAttribute("data-mce-caret") && (ja(e),
a(r()),
g.selection.scrollIntoView(e))
},
hideFakeCaret: w,
destroy: function() {
o.destroy(),
v = null
}
}
}
function Jx(a) {
function e(e, t) {
try {
a.getDoc().execCommand(e, !1, t)
} catch (n) {}
}
function u(e) {
return e.isDefaultPrevented()
}
function t() {
a.shortcuts.add("meta+a", null, "SelectAll")
}
function n() {
a.on("keydown", function(e) {
if (!u(e) && e.keyCode === i && l.isCollapsed() && 0 === l.getRng().startOffset) {
var t = l.getNode().previousSibling;
if (t && t.nodeName && "table" === t.nodeName.toLowerCase())
return e.preventDefault(),
!1
}
})
}
function r() {
a.inline || (a.contentStyles.push("body {min-height: 150px}"),
a.on("click", function(e) {
var t;
if ("HTML" === e.target.nodeName) {
if (11 < Wn.ie)
return void a.getBody().focus();
t = a.selection.getRng(),
a.getBody().focus(),
a.selection.setRng(t),
a.selection.normalize(),
a.nodeChanged()
}
}))
}
var o = Zn.each
, i = hh.BACKSPACE
, c = hh.DELETE
, s = a.dom
, l = a.selection
, f = a.settings
, d = a.parser
, h = Wn.gecko
, m = Wn.ie
, g = Wn.webkit
, p = "data:text/mce-internal,"
, v = m ? "Text" : "URL";
function y(e) {
var t = s.create("body")
, n = e.cloneContents();
return t.appendChild(n),
l.serializer.serialize(t, {
format: "html"
})
}
function b() {
var e = s.getAttribs(l.getStart().cloneNode(!1));
return function() {
var t = l.getStart();
t !== a.getBody() && (s.setAttrib(t, "style", null),
o(e, function(e) {
t.setAttributeNode(e.cloneNode(!0))
}))
}
}
function C() {
return !l.isCollapsed() && s.getParent(l.getStart(), s.isBlock) !== s.getParent(l.getEnd(), s.isBlock)
}
return a.on("keydown", function(e) {
var t, n, r, o, i;
if (!u(e) && e.keyCode === hh.BACKSPACE && (n = (t = l.getRng()).startContainer,
r = t.startOffset,
o = s.getRoot(),
i = n,
t.collapsed && 0 === r)) {
for (; i && i.parentNode && i.parentNode.firstChild === i && i.parentNode !== o; )
i = i.parentNode;
"BLOCKQUOTE" === i.tagName && (a.formatter.toggle("blockquote", null, i),
(t = s.createRng()).setStart(n, 0),
t.setEnd(n, 0),
l.setRng(t))
}
}),
a.on("keydown", function(e) {
var t, n, r = e.keyCode;
if (!u(e) && (r === c || r === i)) {
if (t = a.selection.isCollapsed(),
n = a.getBody(),
t && !s.isEmpty(n))
return;
if (!t && !function(e) {
var t = y(e)
, n = s.createRng();
return n.selectNode(a.getBody()),
t === y(n)
}(a.selection.getRng()))
return;
e.preventDefault(),
a.setContent(""),
n.firstChild && s.isBlock(n.firstChild) ? a.selection.setCursorLocation(n.firstChild, 0) : a.selection.setCursorLocation(n, 0),
a.nodeChanged()
}
}),
Wn.windowsPhone || a.on("keyup focusin mouseup", function(e) {
hh.modifierPressed(e) || l.normalize()
}, !0),
g && (a.inline || s.bind(a.getDoc(), "mousedown mouseup", function(e) {
var t;
if (e.target === a.getDoc().documentElement)
if (t = l.getRng(),
a.getBody().focus(),
"mousedown" === e.type) {
if (La(t.startContainer))
return;
l.placeCaretAt(e.clientX, e.clientY)
} else
l.setRng(t)
}),
a.on("click", function(e) {
var t = e.target;
/^(IMG|HR)$/.test(t.nodeName) && "false" !== s.getContentEditableParent(t) && (e.preventDefault(),
a.selection.select(t),
a.nodeChanged()),
"A" === t.nodeName && s.hasClass(t, "mce-item-anchor") && (e.preventDefault(),
l.select(t))
}),
f.forced_root_block && a.on("init", function() {
e("DefaultParagraphSeparator", as(a))
}),
a.on("init", function() {
a.dom.bind(a.getBody(), "submit", function(e) {
e.preventDefault()
})
}),
n(),
d.addNodeFilter("br", function(e) {
for (var t = e.length; t--; )
"Apple-interchange-newline" === e[t].attr("class") && e[t].remove()
}),
Wn.iOS ? (a.inline || a.on("keydown", function() {
j.document.activeElement === j.document.body && a.getWin().focus()
}),
r(),
a.on("click", function(e) {
var t = e.target;
do {
if ("A" === t.tagName)
return void e.preventDefault()
} while (t = t.parentNode)
}),
a.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")) : t()),
11 <= Wn.ie && (r(),
n()),
Wn.ie && (t(),
e("AutoUrlDetect", !1),
a.on("dragstart", function(e) {
!function(e) {
var t, n;
e.dataTransfer && (a.selection.isCollapsed() && "IMG" === e.target.tagName && l.select(e.target),
0 < (t = a.selection.getContent()).length && (n = p + escape(a.id) + "," + escape(t),
e.dataTransfer.setData(v, n)))
}(e)
}),
a.on("drop", function(e) {
if (!u(e)) {
var t = function(e) {
var t;
return e.dataTransfer && (t = e.dataTransfer.getData(v)) && 0 <= t.indexOf(p) ? (t = t.substr(p.length).split(","),
{
id: unescape(t[0]),
html: unescape(t[1])
}) : null
}(e);
if (t && t.id !== a.id) {
e.preventDefault();
var n = pm(e.x, e.y, a.getDoc());
l.setRng(n),
function(e, t) {
a.queryCommandSupported("mceInsertClipboardContent") ? a.execCommand("mceInsertClipboardContent", !1, {
content: e,
internal: t
}) : a.execCommand("mceInsertContent", !1, e)
}(t.html, !0)
}
}
})),
h && (a.on("keydown", function(e) {
if (!u(e) && e.keyCode === i) {
if (!a.getBody().getElementsByTagName("hr").length)
return;
if (l.isCollapsed() && 0 === l.getRng().startOffset) {
var t = l.getNode()
, n = t.previousSibling;
if ("HR" === t.nodeName)
return s.remove(t),
void e.preventDefault();
n && n.nodeName && "hr" === n.nodeName.toLowerCase() && (s.remove(n),
e.preventDefault())
}
}
}),
j.Range.prototype.getClientRects || a.on("mousedown", function(e) {
if (!u(e) && "HTML" === e.target.nodeName) {
var t = a.getBody();
t.blur(),
Pn.setEditorTimeout(a, function() {
t.focus()
})
}
}),
a.on("keypress", function(e) {
var t;
if (!u(e) && (8 === e.keyCode || 46 === e.keyCode) && C())
return t = b(),
a.getDoc().execCommand("delete", !1, null),
t(),
e.preventDefault(),
!1
}),
s.bind(a.getDoc(), "cut", function(e) {
var t;
!u(e) && C() && (t = b(),
Pn.setEditorTimeout(a, function() {
t()
}))
}),
f.readonly || a.on("BeforeExecCommand mousedown", function() {
e("StyleWithCSS", !1),
e("enableInlineTableEditing", !1),
f.object_resizing || e("enableObjectResizing", !1)
}),
a.on("SetContent ExecCommand", function(e) {
"setcontent" !== e.type && "mceInsertLink" !== e.command || o(s.select("a"), function(e) {
var t = e.parentNode
, n = s.getRoot();
if (t.lastChild === e) {
for (; t && !s.isBlock(t); ) {
if (t.parentNode.lastChild !== t || t === n)
return;
t = t.parentNode
}
s.add(t, "br", {
"data-mce-bogus": 1
})
}
})
}),
a.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),
Wn.mac && a.on("keydown", function(e) {
!hh.metaKeyPressed(e) || e.shiftKey || 37 !== e.keyCode && 39 !== e.keyCode || (e.preventDefault(),
a.selection.getSel().modify("move", 37 === e.keyCode ? "backward" : "forward", "lineboundary"))
}),
n()),
{
refreshContentEditable: function() {},
isHidden: function() {
var e;
return !(!h || a.removed) && (!(e = a.selection.getSel()) || !e.rangeCount || 0 === e.rangeCount)
}
}
}
function Qx(e) {
e.bindPendingEventDelegates(),
e.initialized = !0,
function(e) {
e.fire("Init")
}(e),
e.focus(!0),
function(r) {
var e = r.dom.getRoot();
r.inline || Ph(r) && r.selection.getStart(!0) !== e || Ul.firstPositionIn(e).each(function(e) {
var t = e.getNode()
, n = Qt.isTable(t) ? Ul.firstPositionIn(t).getOr(e) : e;
r.selection.setRng(n.toRange())
})
}(e),
e.nodeChanged({
initial: !0
}),
e.execCallback("init_instance_callback", e),
function(t) {
t.settings.auto_focus && Pn.setEditorTimeout(t, function() {
var e;
(e = !0 === t.settings.auto_focus ? t : t.editorManager.get(t.settings.auto_focus)).destroyed || e.focus()
}, 100)
}(e)
}
function ez(e, t) {
var n = e.editorManager.translate("Rich Text Area. Press ALT-0 for help.")
, r = function(e, t, n, r) {
var o = it.fromTag("iframe");
return Ke(o, r),
Ke(o, {
id: e + "_ifr",
frameBorder: "0",
allowTransparency: "true",
title: t
}),
va(o, "tox-edit-area__iframe"),
o
}(e.id, n, t.height, Qc(e)).dom();
r.onload = function() {
r.onload = null,
e.fire("load")
}
;
var o = function(e, t) {
if (j.document.domain !== j.window.location.hostname && Wn.browser.isIE()) {
var n = Gg("mce");
e[n] = function() {
Dz(e)
}
;
var r = 'javascript:(function(){document.open();document.domain="' + j.document.domain + '";var ed = window.parent.tinymce.get("' + e.id + '");document.write(ed.iframeHTML);document.close();ed.' + n + "(true);})()";
return Oz.setAttrib(t, "src", r),
!0
}
return !1
}(e, r);
return e.contentAreaContainer = t.iframeContainer,
e.iframeElement = r,
e.iframeHTML = function(e) {
var t, n, r;
return r = es(e) + "",
ts(e) !== e.documentBaseUrl && (r += ''),
r += '',
t = ns(e),
n = rs(e),
os(e) && (r += ''),
r += '
'
}(e),
Oz.add(t.iframeContainer, r),
o
}
function tz(e) {
return e.replace(/^\-/, "")
}
function nz(e) {
return {
editorContainer: e,
iframeContainer: e
}
}
function rz(e) {
var t = e.getElement();
return e.inline ? nz(null) : function(e) {
var t = Bz.create("div");
return Bz.insertAfter(t, e),
nz(t)
}(t)
}
function oz(e) {
return "-" === e.charAt(0)
}
function iz(t, n) {
(function(e) {
return R.from(gs(e)).filter(function(e) {
return 0 < e.length
}).map(function(e) {
return {
url: e,
name: R.none()
}
})
}
)(n).orThunk(function() {
return function(t) {
return R.from(ms(t)).filter(function(e) {
return 0 < e.length && !$d.has(e)
}).map(function(e) {
return {
url: t.editorManager.baseURL + "/icons/" + e + "/icons.js",
name: R.some(e)
}
})
}(n)
}).each(function(e) {
t.add(e.url, i, undefined, function() {
ch.iconsLoadError(n, e.url, e.name.getOrUndefined())
})
})
}
function az(e, t) {
var n = ra.ScriptLoader;
!function(e, t, n, r) {
var o = t.settings
, i = o.theme;
if (K(i)) {
if (!oz(i) && !eh.urls.hasOwnProperty(i)) {
var a = o.theme_url;
a ? eh.load(i, t.documentBaseURI.toAbsolute(a)) : eh.load(i, "themes/" + i + "/theme" + n + ".js")
}
e.loadQueue(function() {
eh.waitFor(i, r)
})
} else
r()
}(n, e, t, function() {
!function(e, t) {
var n = Ss(t)
, r = ks(t);
if (!1 === sa.hasCode(n) && "en" !== n) {
var o = "" !== r ? r : t.editorManager.baseURL + "/langs/" + n + ".js";
e.add(o, i, undefined, function() {
ch.languageLoadError(t, o, n)
})
}
}(n, e),
iz(n, e),
function(r, n, o) {
D(n.plugins) && (n.plugins = n.plugins.join(" ")),
Zn.each(n.external_plugins, function(e, t) {
Qd.load(t, e, i, undefined, function() {
ch.pluginLoadError(r, e, t)
}),
n.plugins += " " + t
}),
Zn.each(n.plugins.split(/[ ,]/), function(e) {
if ((e = Zn.trim(e)) && !Qd.urls[e])
if (oz(e)) {
e = e.substr(1, e.length);
var t = Qd.dependencies(e);
Zn.each(t, function(e) {
var t = {
prefix: "plugins/",
resource: e,
suffix: "/plugin" + o + ".js"
}
, n = Qd.createUrl(t, e);
Qd.load(n.resource, n, i, undefined, function() {
ch.pluginLoadError(r, n.prefix + n.resource + n.suffix, n.resource)
})
})
} else {
var n = {
prefix: "plugins/",
resource: e,
suffix: "/plugin" + o + ".js"
};
Qd.load(e, n, i, undefined, function() {
ch.pluginLoadError(r, n.prefix + n.resource + n.suffix, e)
})
}
})
}(e, e.settings, t),
n.loadQueue(function() {
e.removed || Lz(e)
}, e, function() {
e.removed || Lz(e)
})
})
}
function uz(e, t) {
return e.getBlockElements()[t.name] && function(e) {
return e.firstChild && e.firstChild === e.lastChild
}(t) && function(e) {
return "br" === e.name || e.value === qr
}(t.firstChild)
}
function cz(e) {
return Zn.grep(e.childNodes, function(e) {
return "LI" === e.nodeName
})
}
function sz(e) {
return e && e.firstChild && e.firstChild === e.lastChild && function(e) {
return e.data === qr || Qt.isBr(e)
}(e.firstChild)
}
function lz(e) {
return 0 < e.length && function(e) {
return !e.firstChild || sz(e)
}(e[e.length - 1]) ? e.slice(0, -1) : e
}
function fz(e, t) {
var n = e.getParent(t, e.isBlock);
return n && "LI" === n.nodeName ? n : null
}
function dz(e, t) {
var n = Vc.after(e)
, r = Xs(t).prev(n);
return r ? r.toRange() : null
}
function hz(t, e, n) {
var r = t.parentNode;
return Zn.each(e, function(e) {
r.insertBefore(e, t)
}),
function(e, t) {
var n = Vc.before(e)
, r = Xs(t).next(n);
return r ? r.toRange() : null
}(t, n)
}
function mz(e, t) {
var n = e.selection.getRng()
, r = n.startContainer
, o = n.startOffset;
n.collapsed && function(e, t) {
return Qt.isText(e) && e.nodeValue[t - 1] === qr
}(r, o) && Qt.isText(r) && (r.insertData(o - 1, " "),
r.deleteData(o, 1),
n.setStart(r, o),
n.setEnd(r, o),
e.selection.setRng(n)),
e.selection.setContent(t)
}
function gz(e, t, n) {
var r, o, i, a, u, c, s, l, f, d, h, m = e.selection, g = e.dom;
if (/^ | $/.test(t) && (t = function(e, t) {
var n, r;
n = e.startContainer,
r = e.startOffset;
function o(e) {
return n[e] && 3 === n[e].nodeType
}
return 3 === n.nodeType && (0 < r ? t = t.replace(/^ /, " ") : o("previousSibling") || (t = t.replace(/^ /, " ")),
r < n.length ? t = t.replace(/ (
|)$/, " ") : o("nextSibling") || (t = t.replace(/( | )(
|)$/, " "))),
t
}(m.getRng(), t)),
r = e.parser,
h = n.merge,
o = wf({
validate: e.settings.validate
}, e.schema),
d = '',
c = {
content: t,
format: "html",
selection: !0,
paste: n.paste
},
(c = e.fire("BeforeSetContent", c)).isDefaultPrevented())
e.fire("SetContent", {
content: c.content,
format: "html",
selection: !0,
paste: n.paste
});
else {
-1 === (t = c.content).indexOf("{$caret}") && (t += "{$caret}"),
t = t.replace(/\{\$caret\}/, d);
var p = (l = m.getRng()).startContainer || (l.parentElement ? l.parentElement() : null)
, v = e.getBody();
p === v && m.isCollapsed() && g.isBlock(v.firstChild) && function(e, t) {
return t && !e.schema.getShortEndedElements()[t.nodeName]
}(e, v.firstChild) && g.isEmpty(v.firstChild) && ((l = g.createRng()).setStart(v.firstChild, 0),
l.setEnd(v.firstChild, 0),
m.setRng(l)),
m.isCollapsed() || (e.selection.setRng(Bp(e.selection.getRng())),
e.getDoc().execCommand("Delete", !1, null),
t = function(e, t) {
var n, r;
return n = e.startContainer,
r = e.startOffset,
3 === n.nodeType && e.collapsed && (n.data[r] === qr ? (n.deleteData(r, 1),
/[\u00a0| ]$/.test(t) || (t += " ")) : n.data[r - 1] === qr && (n.deleteData(r - 1, 1),
/[\u00a0| ]$/.test(t) || (t = " " + t))),
t
}(e.selection.getRng(), t));
var y = {
context: (i = m.getNode()).nodeName.toLowerCase(),
data: n.data,
insert: !0
};
if (u = r.parse(t, y),
!0 === n.paste && Fz(e.schema, u) && jz(g, i))
return l = Uz(o, g, e.selection.getRng(), u),
e.selection.setRng(l),
void e.fire("SetContent", c);
if (function(e) {
for (var t = e; t = t.walk(); )
1 === t.type && t.attr("data-mce-fragment", "1")
}(u),
"mce_marker" === (f = u.lastChild).attr("id"))
for (f = (s = f).prev; f; f = f.walk(!0))
if (3 === f.type || !g.isBlock(f.name)) {
e.schema.isValidChild(f.parent.name, "span") && f.parent.insert(s, f, "br" === f.name);
break
}
if (e._selectionOverrides.showBlockCaretContainer(i),
y.invalid) {
for (mz(e, d),
i = m.getNode(),
a = e.getBody(),
9 === i.nodeType ? i = f = a : f = i; f !== a; )
f = (i = f).parentNode;
t = i === a ? a.innerHTML : g.getOuterHTML(i),
t = o.serialize(r.parse(t.replace(//i, function() {
return o.serialize(u)
}))),
i === a ? g.setHTML(a, t) : g.setOuterHTML(i, t)
} else
!function(e, t, n) {
if ("all" === n.getAttribute("data-mce-bogus"))
n.parentNode.insertBefore(e.dom.createFragment(t), n);
else {
var r = n.firstChild
, o = n.lastChild;
!r || r === o && "BR" === r.nodeName ? e.dom.setHTML(n, t) : mz(e, t)
}
}(e, t = o.serialize(u), i);
!function(e, t) {
var n = e.schema.getTextInlineElements()
, r = e.dom;
if (t) {
var o = e.getBody()
, i = new dp(r);
Zn.each(r.select("*[data-mce-fragment]"), function(e) {
for (var t = e.parentNode; t && t !== o; t = t.parentNode)
n[e.nodeName.toLowerCase()] && i.compare(t, e) && r.remove(e, !0)
})
}
}(e, h),
function(n, e) {
var t, r, o, i, a, u = n.dom, c = n.selection;
if (e) {
if (n.selection.scrollIntoView(e),
t = function(e) {
for (var t = n.getBody(); e && e !== t; e = e.parentNode)
if ("false" === n.dom.getContentEditable(e))
return e;
return null
}(e))
return u.remove(e),
c.select(t);
var s = u.createRng();
(i = e.previousSibling) && 3 === i.nodeType ? (s.setStart(i, i.nodeValue.length),
Wn.ie || (a = e.nextSibling) && 3 === a.nodeType && (i.appendData(a.data),
a.parentNode.removeChild(a))) : (s.setStartBefore(e),
s.setEndBefore(e));
r = u.getParent(e, u.isBlock),
u.remove(e),
r && u.isEmpty(r) && (n.$(r).empty(),
s.setStart(r, 0),
s.setEnd(r, 0),
qz(r) || function(e) {
return !!e.getAttribute("data-mce-fragment")
}(r) || !(o = function(e) {
var t = Vc.fromRangeStart(e);
if (t = Xs(n.getBody()).next(t))
return t.toRange()
}(s)) ? u.add(r, u.create("br", {
"data-mce-bogus": "1"
})) : (s = o,
u.remove(r))),
c.setRng(s)
}
}(e, g.get("mce_marker")),
function(e) {
Zn.each(e.getElementsByTagName("*"), function(e) {
e.removeAttribute("data-mce-fragment")
})
}(e.getBody()),
function(e, t) {
R.from(e.getParent(t, "td,th")).map(it.fromDom).each(Qg)
}(e.dom, e.selection.getStart()),
e.fire("SetContent", c),
e.addVisual()
}
}
function pz(e, t) {
e.getDoc().execCommand(t, !1, null)
}
function vz(e, t, n) {
return t(e).orThunk(function() {
return n(e) ? R.none() : function(e, t, n) {
for (var r = e.dom(), o = B(n) ? n : $(!1); r.parentNode; ) {
r = r.parentNode;
var i = it.fromDom(r)
, a = t(i);
if (a.isSome())
return a;
if (o(i))
break
}
return R.none()
}(e, t, n)
})
}
function yz(e, t, n) {
function r(t) {
return Ze(t, e).orThunk(function() {
return "font" === Oe(t) ? A(Xz, e).bind(function(e) {
return function(e, t) {
return R.from(Xe(e, t))
}(t, e)
}) : R.none()
})
}
return vz(it.fromDom(n), function(e) {
return r(e)
}, function(e) {
return pe(it.fromDom(t), e)
})
}
function bz(n) {
return function(t, e) {
return R.from(e).map(it.fromDom).filter(Pt).bind(function(e) {
return yz(n, t, e.dom()).or(function(e, t) {
return R.from(Qi.DOM.getStyle(t, e, !0))
}(n, e.dom()))
}).getOr("")
}
}
function Cz(e) {
return Ul.firstPositionIn(e.getBody()).map(function(e) {
var t = e.container();
return Qt.isText(t) ? t.parentNode : t
})
}
function wz(t) {
return R.from(t.selection.getRng()).bind(function(e) {
return function(e, t) {
return e.startContainer === t && 0 === e.startOffset
}(e, t.getBody()) ? R.none() : R.from(t.selection.getStart(!0))
})
}
function xz(e, t) {
if (/^[0-9\.]+$/.test(t)) {
var n = parseInt(t, 10);
if (1 <= n && n <= 7) {
var r = ds(e)
, o = hs(e);
return o ? o[n - 1] || t : r[n - 1] || t
}
return t
}
return t
}
function zz(e, t) {
var n = xz(e, t);
e.formatter.toggle("fontname", {
value: function(e) {
var t = e.split(/\s*,\s*/);
return X(t, function(e) {
return -1 === e.indexOf(" ") || ue(e, '"') || ue(e, "'") ? e : "'" + e + "'"
}).join(",")
}(n)
}),
e.nodeChanged()
}
var Ez = function(e, t) {
return function(e, t, n) {
return {
pageX: n.left - e.left + t.left,
pageY: n.top - e.top + t.top
}
}(function(e) {
return e.inline ? $x(e.getBody()) : {
left: 0,
top: 0
}
}(e), function(e) {
var t = e.getBody();
return e.inline ? {
left: t.scrollLeft,
top: t.scrollTop
} : {
left: 0,
top: 0
}
}(e), function(e, t) {
if (t.target.ownerDocument === e.getDoc())
return {
left: t.pageX,
top: t.pageY
};
var n = $x(e.getContentAreaContainer())
, r = function(e) {
var t = e.getBody()
, n = e.getDoc().documentElement
, r = {
left: t.scrollLeft,
top: t.scrollTop
}
, o = {
left: t.scrollLeft || n.scrollLeft,
top: t.scrollTop || n.scrollTop
};
return e.inline ? r : o
}(e);
return {
left: t.pageX - n.left + r.left,
top: t.pageY - n.top + r.top
}
}(e, t))
}
, Nz = Qt.isContentEditableFalse
, Sz = Qt.isContentEditableTrue
, kz = function(e) {
e.dragging = !1,
e.element = null,
Wx(e.ghost)
}
, Tz = function(e) {
Yx(e),
function(n) {
n.on("drop", function(e) {
var t = "undefined" != typeof e.clientX ? n.getDoc().elementFromPoint(e.clientX, e.clientY) : null;
(Nz(t) || Nz(n.dom.getContentEditableParent(t))) && e.preventDefault()
})
}(e)
}
, Az = function(t) {
var e = fa(function() {
if (!t.removed && t.getBody().contains(j.document.activeElement) && t.selection.getRng().collapsed) {
var e = _y(t, t.selection.getRng(), !1);
t.selection.setRng(e)
}
}, 0);
t.on("focus", function() {
e.throttle()
}),
t.on("blur", function() {
e.cancel()
})
}
, Mz = Qt.isContentEditableTrue
, Rz = Qt.isContentEditableFalse
, _z = Qi.DOM
, Dz = function(t, e) {
var n, r, o = t.settings, i = t.getElement(), a = t.getDoc();
o.inline || (t.getElement().style.visibility = t.orgVisibility),
e || t.inline || (a.open(),
a.write(t.iframeHTML),
a.close()),
t.inline && (t.on("remove", function() {
var e = this.getBody();
_z.removeClass(e, "mce-content-body"),
_z.removeClass(e, "mce-edit-focus"),
_z.setAttrib(e, "contentEditable", null)
}),
_z.addClass(i, "mce-content-body"),
t.contentDocument = a = j.document,
t.contentWindow = j.window,
t.bodyElement = i,
t.contentAreaContainer = i,
o.root_name = i.nodeName.toLowerCase()),
(n = t.getBody()).disabled = !0,
t.readonly = o.readonly,
t.readonly || (t.inline && "static" === _z.getStyle(n, "position", !0) && (n.style.position = "relative"),
n.contentEditable = t.getParam("content_editable_state", !0)),
n.disabled = !1,
t.editorUpload = hg(t),
t.schema = Pr(o),
t.dom = Qi(a, {
keep_values: !0,
url_converter: t.convertURL,
url_converter_scope: t,
hex_colors: o.force_hex_style_colors,
update_styles: !0,
root_element: t.inline ? t.getBody() : null,
collect: function() {
return t.inline
},
schema: t.schema,
contentCssCors: Es(t),
referrerPolicy: Ns(t),
onSetAttrib: function(e) {
t.fire("SetAttrib", e)
}
}),
t.parser = function(u) {
var e = $m(u.settings, u.schema);
return e.addAttributeFilter("src,href,style,tabindex", function(e, t) {
for (var n, r, o, i = e.length, a = u.dom; i--; )
if (r = (n = e[i]).attr(t),
o = "data-mce-" + t,
!n.attr(o)) {
if (0 === r.indexOf("data:") || 0 === r.indexOf("blob:"))
continue;
"style" === t ? ((r = a.serializeStyle(a.parseStyle(r), n.name)).length || (r = null),
n.attr(o, r),
n.attr(t, r)) : "tabindex" === t ? (n.attr(o, r),
n.attr(t, null)) : n.attr(o, u.convertURL(r, t, n.name))
}
}),
e.addNodeFilter("script", function(e) {
for (var t, n, r = e.length; r--; )
0 !== (n = (t = e[r]).attr("type") || "no/type").indexOf("mce-") && t.attr("type", "mce-" + n)
}),
u.settings.preserve_cdata && e.addNodeFilter("#cdata", function(e) {
for (var t, n = e.length; n--; )
(t = e[n]).type = 8,
t.name = "#comment",
t.value = "[CDATA[" + u.dom.encode(t.value) + "]]"
}),
e.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", function(e) {
for (var t, n = e.length, r = u.schema.getNonEmptyElements(); n--; )
(t = e[n]).isEmpty(r) && 0 === t.getAll("br").length && (t.append(new hf("br",1)).shortEnded = !0)
}),
e
}(t),
t.serializer = Ym(o, t),
t.selection = Im(t.dom, t.getWin(), t.serializer, t),
t.annotator = uf(t),
t.formatter = Wp(t),
t.undoManager = nv(t),
t._nodeChangeDispatcher = new Ix(t),
t._selectionOverrides = Zx(t),
ry(t),
Ux(t),
qx(t),
Vx(t),
oy(t),
iv(t),
function(e) {
e.fire("PreInit")
}(t),
o.browser_spellcheck || o.gecko_spellcheck || (a.body.spellcheck = !1,
_z.setAttrib(n, "spellcheck", "false")),
t.quirks = Jx(t),
function(e) {
e.fire("PostRender")
}(t);
var u = Rs(t);
u !== undefined && (n.dir = u),
o.protect && t.on("BeforeSetContent", function(t) {
Zn.each(o.protect, function(e) {
t.content = t.content.replace(e, function(e) {
return "\x3c!--mce:protected " + escape(e) + "--\x3e"
})
})
}),
t.on("SetContent", function() {
t.addVisual(t.getBody())
}),
t.load({
initial: !0,
format: "html"
}),
t.startContent = t.getContent({
format: "raw"
}),
t.on("compositionstart compositionend", function(e) {
t.composing = "compositionstart" === e.type
}),
0 < t.contentStyles.length && (r = "",
Zn.each(t.contentStyles, function(e) {
r += e + "\r\n"
}),
t.dom.addStyle(r)),
function(e) {
return e.inline ? _z.styleSheetLoader : e.dom.styleSheetLoader
}(t).loadAll(t.contentCSS, function(e) {
Qx(t)
}, function(e) {
Qx(t)
}),
o.content_style && function(e, t) {
var n = it.fromDom(e.getDoc().head)
, r = it.fromTag("style");
en(r, "type", "text/css"),
Ht(r, it.fromText(t)),
Ht(n, r)
}(t, o.content_style)
}
, Oz = Qi.DOM
, Hz = function(e, t) {
var n = ez(e, t);
t.editorContainer && (Oz.get(t.editorContainer).style.display = e.orgDisplay,
e.hidden = Oz.isHidden(t.editorContainer)),
e.getElement().style.display = "none",
Oz.setAttrib(e.id, "aria-hidden", "true"),
n || Dz(e)
}
, Bz = Qi.DOM
, Pz = function(t, n, e) {
var r = Qd.get(e)
, o = Qd.urls[e] || t.documentBaseUrl.replace(/\/$/, "");
if (e = Zn.trim(e),
r && -1 === Zn.inArray(n, e)) {
if (Zn.each(Qd.dependencies(e), function(e) {
Pz(t, n, e)
}),
t.plugins[e])
return;
try {
var i = new r(t,o,t.$);
(t.plugins[e] = i).init && (i.init(t, o),
n.push(e))
} catch (HN) {
ch.pluginInitError(t, e, HN)
}
}
}
, Lz = function(e) {
e.fire("ScriptsLoaded"),
function(n) {
var e = Zn.trim(n.settings.icons)
, r = n.ui.registry.getAll().icons
, t = te(te({}, {
"accessibility-check": '',
"action-next": '',
"action-prev": '',
"align-center": '',
"align-justify": '',
"align-left": '',
"align-none": '',
"align-right": '',
"arrow-left": '',
"arrow-right": '',
bold: '',
bookmark: '',
"border-width": '',
brightness: '',
browse: '',
cancel: '',
"change-case": '',
"character-count": '',
"checklist-rtl": '',
checklist: '',
checkmark: '',
"chevron-down": '',
"chevron-left": '',
"chevron-right": '',
"chevron-up": '',
close: '',
"code-sample": '',
"color-levels": '',
"color-picker": '',
"color-swatch-remove-color": '',
"color-swatch": '',
"comment-add": '',
comment: '',
contrast: '',
copy: '',
crop: '',
cut: '',
"document-properties": '',
drag: '',
duplicate: '',
"edit-block": '',
"edit-image": '',
"embed-page": '',
embed: '',
emoji: '',
fill: '',
"flip-horizontally": '',
"flip-vertically": '',
"format-painter": '',
format: '',
fullscreen: '',
gallery: '',
gamma: '',
help: '',
"highlight-bg-color": '',
home: '',
"horizontal-rule": '',
"image-options": '',
image: '',
indent: '',
info: '',
"insert-character": '',
"insert-time": '',
invert: '',
italic: '',
line: '',
link: '',
"list-bull-circle": '',
"list-bull-default": '',
"list-bull-square": '',
"list-num-default-rtl": '',
"list-num-default": '',
"list-num-lower-alpha-rtl": '',
"list-num-lower-alpha": '',
"list-num-lower-greek-rtl": '',
"list-num-lower-greek": '',
"list-num-lower-roman-rtl": '',
"list-num-lower-roman": '',
"list-num-upper-alpha-rtl": '',
"list-num-upper-alpha": '',
"list-num-upper-roman-rtl": '',
"list-num-upper-roman": '',
lock: '',
ltr: '',
"more-drawer": '',
"new-document": '',
"new-tab": '',
"non-breaking": '',
notice: '',
"ordered-list-rtl": '',
"ordered-list": '',
orientation: '',
outdent: '',
"page-break": '',
paragraph: '',
"paste-text": '',
paste: '',
"permanent-pen": '',
plus: '',
preferences: '',
preview: '',
print: '',
quote: '',
redo: '',
reload: '',
"remove-formatting": '',
remove: '',
"resize-handle": '',
resize: '',
"restore-draft": '',
"rotate-left": '',
"rotate-right": '',
rtl: '',
save: '',
search: '',
"select-all": '',
selected: '',
settings: '',
sharpen: '',
"sort-asc": '',
"sort-dsc": '',
sourcecode: '',
"spell-check": '',
"strike-through": '',
subscript: '',
superscript: '',
"table-cell-properties": '',
"table-cell-select-all": '',
"table-cell-select-inner": '',
"table-delete-column": '',
"table-delete-row": '',
"table-delete-table": '',
"table-insert-column-after": '',
"table-insert-column-before": '',
"table-insert-row-above": '',
"table-insert-row-after": '',
"table-left-header": '',
"table-merge-cells": '',
"table-row-properties": '',
"table-split-cells": '',
"table-top-header": '',
table: '',
template: '',
"temporary-placeholder": '',
"text-color": '',
toc: '',
translate: '',
underline: '',
undo: '',
unlink: '',
unlock: '',
"unordered-list": '',
unselected: '',
upload: '',
user: '',
visualblocks: '',
visualchars: '',
warning: '',
"zoom-in": '',
"zoom-out": ''
}), $d.get(e).icons);
N(t, function(e, t) {
ee(r, t) || n.ui.registry.addIcon(t, e)
})
}(e),
function(e) {
var t = e.settings.theme;
if (K(t)) {
e.settings.theme = tz(t);
var n = eh.get(t);
e.theme = new n(e,eh.urls[t]),
e.theme.init && e.theme.init(e, eh.urls[t] || e.documentBaseUrl.replace(/\/$/, ""), e.$)
} else
e.theme = {}
}(e),
function(t) {
var n = [];
Zn.each(t.settings.plugins.split(/[ ,]/), function(e) {
Pz(t, n, tz(e))
})
}(e);
var t = function(e) {
var t = e.getElement();
return e.orgDisplay = t.style.display,
K(e.settings.theme) ? function(e) {
return e.theme.renderUI()
}(e) : B(e.settings.theme) ? function(e) {
var t = e.getElement()
, n = (0,
e.settings.theme)(e, t);
return n.editorContainer.nodeType && (n.editorContainer.id = n.editorContainer.id || e.id + "_parent"),
n.iframeContainer && n.iframeContainer.nodeType && (n.iframeContainer.id = n.iframeContainer.id || e.id + "_iframecontainer"),
n.height = n.iframeHeight ? n.iframeHeight : t.offsetHeight,
n
}(e) : rz(e)
}(e);
return e.editorContainer = t.editorContainer ? t.editorContainer : null,
ah(e),
e.inline ? Dz(e) : Hz(e, t)
}
, Vz = Qi.DOM
, Iz = function(t) {
var e = t.settings
, n = t.id;
sa.setCode(Ss(t));
var r = function() {
Vz.unbind(j.window, "ready", r),
t.render()
};
if (Gr.Event.domLoaded) {
if (t.getElement() && Wn.contentEditable) {
e.inline ? t.inline = !0 : (t.orgVisibility = t.getElement().style.visibility,
t.getElement().style.visibility = "hidden");
var o = t.getElement().form || Vz.getParent(n, "form");
o && (t.formElement = o,
e.hidden_input && !Qt.isTextareaOrInput(t.getElement()) && (Vz.insertAfter(Vz.create("input", {
type: "hidden",
name: n
}), n),
t.hasHiddenInput = !0),
t.formEventDelegate = function(e) {
t.fire(e.type, e)
}
,
Vz.bind(o, "submit reset", t.formEventDelegate),
t.on("reset", function() {
t.resetContent()
}),
!e.submit_patch || o.submit.nodeType || o.submit.length || o._mceOldSubmit || (o._mceOldSubmit = o.submit,
o.submit = function() {
return t.editorManager.triggerSave(),
t.setDirty(!1),
o._mceOldSubmit(o)
}
)),
t.windowManager = th(t),
t.notificationManager = Jd(t),
"xml" === e.encoding && t.on("GetContent", function(e) {
e.save && (e.content = Vz.encode(e.content))
}),
e.add_form_submit_trigger && t.on("submit", function() {
t.initialized && t.save()
}),
e.add_unload_trigger && (t._beforeUnload = function() {
!t.initialized || t.destroyed || t.isHidden() || t.save({
format: "raw",
no_events: !0,
set_dirty: !1
})
}
,
t.editorManager.on("BeforeUnload", t._beforeUnload)),
t.editorManager.add(t),
az(t, t.suffix)
}
} else
Vz.bind(j.window, "ready", r)
}
, Fz = function(e, t) {
var n = t.firstChild
, r = t.lastChild;
return n && "meta" === n.name && (n = n.next),
r && "mce_marker" === r.attr("id") && (r = r.prev),
function(e, t) {
var n = e.getNonEmptyElements();
return t && (t.isEmpty(n) || uz(e, t))
}(e, r) && (r = r.prev),
!(!n || n !== r) && ("ul" === n.name || "ol" === n.name)
}
, Uz = function(e, o, i, t) {
function n(e) {
var t = Vc.fromRangeStart(i)
, n = Xs(o.getRoot())
, r = 1 === e ? n.prev(t) : n.next(t);
return !r || fz(o, r.getNode()) !== a
}
var r = function(e, t, n) {
var r = t.serialize(n);
return function(e) {
var t = e.firstChild
, n = e.lastChild;
return t && "META" === t.nodeName && t.parentNode.removeChild(t),
n && "mce_marker" === n.id && n.parentNode.removeChild(n),
e
}(e.createFragment(r))
}(o, e, t)
, a = fz(o, i.startContainer)
, u = lz(cz(r.firstChild))
, c = o.getRoot();
return n(1) ? hz(a, u, c) : n(2) ? function(e, t, n, r) {
return r.insertAfter(t.reverse(), e),
dz(t[0], n)
}(a, u, c, o) : function(t, e, n, r) {
var o = function(e, t) {
var n = t.cloneRange()
, r = t.cloneRange();
return n.setStartBefore(e),
r.setEndAfter(e),
[n.cloneContents(), r.cloneContents()]
}(t, r)
, i = t.parentNode;
return i.insertBefore(o[0], t),
Zn.each(e, function(e) {
i.insertBefore(e, t)
}),
i.insertBefore(o[1], t),
i.removeChild(t),
dz(e[e.length - 1], n)
}(a, u, c, i)
}
, jz = function(e, t) {
return !!fz(e, t)
}
, qz = Qt.matchNodeNames(["td", "th"])
, $z = function(e, t) {
var n = function(e) {
var t;
return "string" != typeof e ? (t = Zn.extend({
paste: e.paste,
data: {
paste: e.paste
}
}, e),
{
content: e.content,
details: t
}) : {
content: e,
details: {}
}
}(t);
gz(e, n.content, n.details)
}
, Wz = function(e) {
px(e, !1) || ex(e, !1) || nx(e, !1) || rx(e, !1) || Xw(e, !1) || sx(e) || Yw(e, !1) || ox(e, !1) || (pz(e, "Delete"),
qw(e))
}
, Kz = function(e) {
ex(e, !0) || nx(e, !0) || rx(e, !0) || Xw(e, !0) || sx(e) || Yw(e, !0) || ox(e, !0) || pz(e, "ForwardDelete")
}
, Xz = {
"font-size": "size",
"font-family": "face"
}
, Yz = {
getFontSize: bz("font-size"),
getFontFamily: q(function(e) {
return e.replace(/[\'\"\\]/g, "").replace(/,\s+/g, ",")
}, bz("font-family")),
toPt: function(e, t) {
return /[0-9.]+px$/.test(e) ? function(e, t) {
var n = Math.pow(10, t);
return Math.round(e * n) / n
}(72 * parseInt(e, 10) / 96, t || 0) + "pt" : e
}
}
, Gz = Zn.each
, Zz = Zn.map
, Jz = Zn.inArray
, Qz = (eE.prototype.execCommand = function(t, n, r, e) {
var o, i, a = !1, u = this;
if (!u.editor.removed) {
if (/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(t) || e && e.skip_focus ? zd(u.editor) : u.editor.focus(),
(e = u.editor.fire("BeforeExecCommand", {
command: t,
ui: n,
value: r
})).isDefaultPrevented())
return !1;
if (i = t.toLowerCase(),
o = u.commands.exec[i])
return o(i, n, r),
u.editor.fire("ExecCommand", {
command: t,
ui: n,
value: r
}),
!0;
if (Gz(this.editor.plugins, function(e) {
if (e.execCommand && e.execCommand(t, n, r))
return u.editor.fire("ExecCommand", {
command: t,
ui: n,
value: r
}),
!(a = !0)
}),
a)
return a;
if (u.editor.theme && u.editor.theme.execCommand && u.editor.theme.execCommand(t, n, r))
return u.editor.fire("ExecCommand", {
command: t,
ui: n,
value: r
}),
!0;
try {
a = u.editor.getDoc().execCommand(t, n, r)
} catch (c) {}
return !!a && (u.editor.fire("ExecCommand", {
command: t,
ui: n,
value: r
}),
!0)
}
}
,
eE.prototype.queryCommandState = function(e) {
var t;
if (!this.editor.quirks.isHidden() && !this.editor.removed) {
if (e = e.toLowerCase(),
t = this.commands.state[e])
return t(e);
try {
return this.editor.getDoc().queryCommandState(e)
} catch (n) {}
return !1
}
}
,
eE.prototype.queryCommandValue = function(e) {
var t;
if (!this.editor.quirks.isHidden() && !this.editor.removed) {
if (e = e.toLowerCase(),
t = this.commands.value[e])
return t(e);
try {
return this.editor.getDoc().queryCommandValue(e)
} catch (n) {}
}
}
,
eE.prototype.addCommands = function(e, n) {
var r = this;
n = n || "exec",
Gz(e, function(t, e) {
Gz(e.toLowerCase().split(","), function(e) {
r.commands[n][e] = t
})
})
}
,
eE.prototype.addCommand = function(e, o, i) {
var a = this;
e = e.toLowerCase(),
this.commands.exec[e] = function(e, t, n, r) {
return o.call(i || a.editor, t, n, r)
}
}
,
eE.prototype.queryCommandSupported = function(e) {
if (e = e.toLowerCase(),
this.commands.exec[e])
return !0;
try {
return this.editor.getDoc().queryCommandSupported(e)
} catch (t) {}
return !1
}
,
eE.prototype.addQueryStateHandler = function(e, t, n) {
var r = this;
e = e.toLowerCase(),
this.commands.state[e] = function() {
return t.call(n || r.editor)
}
}
,
eE.prototype.addQueryValueHandler = function(e, t, n) {
var r = this;
e = e.toLowerCase(),
this.commands.value[e] = function() {
return t.call(n || r.editor)
}
}
,
eE.prototype.hasCustomCommand = function(e) {
return e = e.toLowerCase(),
!!this.commands.exec[e]
}
,
eE.prototype.execNativeCommand = function(e, t, n) {
return t === undefined && (t = !1),
n === undefined && (n = null),
this.editor.getDoc().execCommand(e, t, n)
}
,
eE.prototype.isFormatMatch = function(e) {
return this.editor.formatter.match(e)
}
,
eE.prototype.toggleFormat = function(e, t) {
this.editor.formatter.toggle(e, t ? {
value: t
} : undefined),
this.editor.nodeChanged()
}
,
eE.prototype.storeSelection = function(e) {
this.selectionBookmark = this.editor.selection.getBookmark(e)
}
,
eE.prototype.restoreSelection = function() {
this.editor.selection.moveToBookmark(this.selectionBookmark)
}
,
eE.prototype.setupCommands = function(i) {
var a = this;
function e(n) {
return function() {
var e = i.selection.isCollapsed() ? [i.dom.getParent(i.selection.getNode(), i.dom.isBlock)] : i.selection.getSelectedBlocks()
, t = Zz(e, function(e) {
return !!i.formatter.matchNode(e, n)
});
return -1 !== Jz(t, !0)
}
}
this.addCommands({
"mceResetDesignMode,mceBeginUndoLevel": function() {},
"mceEndUndoLevel,mceAddUndoLevel": function() {
i.undoManager.add()
},
"Cut,Copy,Paste": function(e) {
var t, n = i.getDoc();
try {
a.execNativeCommand(e)
} catch (o) {
t = !0
}
if ("paste" !== e || n.queryCommandEnabled(e) || (t = !0),
t || !n.queryCommandSupported(e)) {
var r = i.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");
Wn.mac && (r = r.replace(/Ctrl\+/g, "\u2318+")),
i.notificationManager.open({
text: r,
type: "error"
})
}
},
unlink: function() {
if (i.selection.isCollapsed()) {
var e = i.dom.getParent(i.selection.getStart(), "a");
e && i.dom.remove(e, !0)
} else
i.formatter.remove("link")
},
"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone": function(e) {
var t = e.substring(7);
"full" === t && (t = "justify"),
Gz("left,center,right,justify".split(","), function(e) {
t !== e && i.formatter.remove("align" + e)
}),
"none" !== t && a.toggleFormat("align" + t)
},
"InsertUnorderedList,InsertOrderedList": function(e) {
var t, n;
a.execNativeCommand(e),
(t = i.dom.getParent(i.selection.getNode(), "ol,ul")) && (n = t.parentNode,
/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName) && (a.storeSelection(),
i.dom.split(n, t),
a.restoreSelection()))
},
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function(e) {
a.toggleFormat(e)
},
"ForeColor,HiliteColor": function(e, t, n) {
a.toggleFormat(e, n)
},
FontName: function(e, t, n) {
zz(i, n)
},
FontSize: function(e, t, n) {
!function(e, t) {
e.formatter.toggle("fontsize", {
value: xz(e, t)
}),
e.nodeChanged()
}(i, n)
},
RemoveFormat: function(e) {
i.formatter.remove(e)
},
mceBlockQuote: function() {
a.toggleFormat("blockquote")
},
FormatBlock: function(e, t, n) {
return a.toggleFormat(n || "p")
},
mceCleanup: function() {
var e = i.selection.getBookmark();
i.setContent(i.getContent()),
i.selection.moveToBookmark(e)
},
mceRemoveNode: function(e, t, n) {
var r = n || i.selection.getNode();
r !== i.getBody() && (a.storeSelection(),
i.dom.remove(r, !0),
a.restoreSelection())
},
mceSelectNodeDepth: function(e, t, n) {
var r = 0;
i.dom.getParent(i.selection.getNode(), function(e) {
if (1 === e.nodeType && r++ === n)
return i.selection.select(e),
!1
}, i.getBody())
},
mceSelectNode: function(e, t, n) {
i.selection.select(n)
},
mceInsertContent: function(e, t, n) {
$z(i, n)
},
mceInsertRawHTML: function(e, t, n) {
i.selection.setContent("tiny_mce_marker");
var r = i.getContent();
i.setContent(r.replace(/tiny_mce_marker/g, function() {
return n
}))
},
mceInsertNewLine: function(e, t, n) {
Rx(i, n)
},
mceToggleFormat: function(e, t, n) {
a.toggleFormat(n)
},
mceSetContent: function(e, t, n) {
i.setContent(n)
},
"Indent,Outdent": function(e) {
MC(i, e)
},
mceRepaint: function() {},
InsertHorizontalRule: function() {
i.execCommand("mceInsertContent", !1, "
")
},
mceToggleVisualAid: function() {
i.hasVisual = !i.hasVisual,
i.addVisual()
},
mceReplaceContent: function(e, t, n) {
i.execCommand("mceInsertContent", !1, n.replace(/\{\$selection\}/g, i.selection.getContent({
format: "text"
})))
},
mceInsertLink: function(e, t, n) {
var r;
"string" == typeof n && (n = {
href: n
}),
r = i.dom.getParent(i.selection.getNode(), "a"),
n.href = n.href.replace(/ /g, "%20"),
r && n.href || i.formatter.remove("link"),
n.href && i.formatter.apply("link", n, r)
},
selectAll: function() {
var e = i.dom.getParent(i.selection.getStart(), Qt.isContentEditableTrue);
if (e) {
var t = i.dom.createRng();
t.selectNodeContents(e),
i.selection.setRng(t)
}
},
"delete": function() {
Wz(i)
},
forwardDelete: function() {
Kz(i)
},
mceNewDocument: function() {
i.setContent("")
},
InsertLineBreak: function(e, t, n) {
return Sx(i, n),
!0
}
}),
a.addCommands({
JustifyLeft: e("alignleft"),
JustifyCenter: e("aligncenter"),
JustifyRight: e("alignright"),
JustifyFull: e("alignjustify"),
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function(e) {
return a.isFormatMatch(e)
},
mceBlockQuote: function() {
return a.isFormatMatch("blockquote")
},
Outdent: function() {
return TC(i)
},
"InsertUnorderedList,InsertOrderedList": function(e) {
var t = i.dom.getParent(i.selection.getNode(), "ul,ol");
return t && ("insertunorderedlist" === e && "UL" === t.tagName || "insertorderedlist" === e && "OL" === t.tagName)
}
}, "state"),
a.addCommands({
Undo: function() {
i.undoManager.undo()
},
Redo: function() {
i.undoManager.redo()
}
}),
a.addQueryValueHandler("FontName", function() {
return function(t) {
return wz(t).fold(function() {
return Cz(t).map(function(e) {
return Yz.getFontFamily(t.getBody(), e)
}).getOr("")
}, function(e) {
return Yz.getFontFamily(t.getBody(), e)
})
}(i)
}, this),
a.addQueryValueHandler("FontSize", function() {
return function(t) {
return wz(t).fold(function() {
return Cz(t).map(function(e) {
return Yz.getFontSize(t.getBody(), e)
}).getOr("")
}, function(e) {
return Yz.getFontSize(t.getBody(), e)
})
}(i)
}, this)
}
,
eE);
function eE(e) {
this.commands = {
state: {},
exec: {},
value: {}
},
this.editor = e,
this.setupCommands(e)
}
var tE = Zn.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel", " ")
, nE = (rE.isNative = function(e) {
return !!tE[e.toLowerCase()]
}
,
rE.prototype.fire = function(e, t) {
var n, r, o, i;
if (e = e.toLowerCase(),
(t = t || {}).type = e,
t.target || (t.target = this.scope),
t.preventDefault || (t.preventDefault = function() {
t.isDefaultPrevented = a
}
,
t.stopPropagation = function() {
t.isPropagationStopped = a
}
,
t.stopImmediatePropagation = function() {
t.isImmediatePropagationStopped = a
}
,
t.isDefaultPrevented = s,
t.isPropagationStopped = s,
t.isImmediatePropagationStopped = s),
this.settings.beforeFire && this.settings.beforeFire(t),
n = this.bindings[e])
for (r = 0,
o = n.length; r < o; r++) {
if ((i = n[r]).once && this.off(e, i.func),
t.isImmediatePropagationStopped())
return t.stopPropagation(),
t;
if (!1 === i.func.call(this.scope, t))
return t.preventDefault(),
t
}
return t
}
,
rE.prototype.on = function(e, t, n, r) {
var o, i, a;
if (!1 === t && (t = s),
t) {
var u = {
func: t
};
for (r && Zn.extend(u, r),
a = (i = e.toLowerCase().split(" ")).length; a--; )
e = i[a],
(o = this.bindings[e]) || (o = this.bindings[e] = [],
this.toggleEvent(e, !0)),
n ? o.unshift(u) : o.push(u)
}
return this
}
,
rE.prototype.off = function(e, t) {
var n, r, o, i, a;
if (e)
for (n = (i = e.toLowerCase().split(" ")).length; n--; ) {
if (e = i[n],
r = this.bindings[e],
!e) {
for (o in this.bindings)
this.toggleEvent(o, !1),
delete this.bindings[o];
return this
}
if (r) {
if (t)
for (a = r.length; a--; )
r[a].func === t && (r = r.slice(0, a).concat(r.slice(a + 1)),
this.bindings[e] = r);
else
r.length = 0;
r.length || (this.toggleEvent(e, !1),
delete this.bindings[e])
}
}
else {
for (e in this.bindings)
this.toggleEvent(e, !1);
this.bindings = {}
}
return this
}
,
rE.prototype.once = function(e, t, n) {
return this.on(e, t, n, {
once: !0
})
}
,
rE.prototype.has = function(e) {
return e = e.toLowerCase(),
!(!this.bindings[e] || 0 === this.bindings[e].length)
}
,
rE);
function rE(e) {
this.bindings = {},
this.settings = e || {},
this.scope = this.settings.scope || this,
this.toggleEvent = this.settings.toggleEvent || s
}
function oE(n) {
return n._eventDispatcher || (n._eventDispatcher = new nE({
scope: n,
toggleEvent: function(e, t) {
nE.isNative(e) && n.toggleNativeEvent && n.toggleNativeEvent(e, t)
}
})),
n._eventDispatcher
}
function iE(e, t, n) {
ba(e, t) && !1 === n ? function(e, t) {
ma(e) ? e.dom().classList.remove(t) : pa(e, t);
ya(e)
}(e, t) : n && va(e, t)
}
function aE(e, t, n) {
try {
e.getDoc().execCommand(t, !1, n)
} catch (r) {}
}
function uE(e, t) {
e.dom().contentEditable = t ? "true" : "false"
}
function cE(e, t) {
var n = it.fromDom(e.getBody());
iE(n, "mce-content-readonly", t),
t ? (e.selection.controlSelection.hideResizeRect(),
e._selectionOverrides.hideFakeCaret(),
function(e) {
R.from(e.selection.getNode()).each(function(e) {
e.removeAttribute("data-mce-selected")
})
}(e),
e.readonly = !0,
uE(n, !1),
function(e) {
F(Ca(e, '*[contenteditable="true"]'), function(e) {
en(e, yE, "true"),
uE(e, !1)
})
}(n)) : (e.readonly = !1,
uE(n, !0),
function(e) {
F(Ca(e, "*[" + yE + '="true"]'), function(e) {
Ye(e, yE),
uE(e, !0)
})
}(n),
aE(e, "StyleWithCSS", !1),
aE(e, "enableInlineTableEditing", !1),
aE(e, "enableObjectResizing", !1),
Od(e) && e.focus(),
function(e) {
e.selection.setRng(e.selection.getRng())
}(e),
e.nodeChanged())
}
function sE(e) {
return !0 === e.readonly
}
function lE(t) {
t.parser.addAttributeFilter("contenteditable", function(e) {
sE(t) && F(e, function(e) {
e.attr(yE, e.attr("contenteditable")),
e.attr("contenteditable", "false")
})
}),
t.serializer.addAttributeFilter(yE, function(e) {
sE(t) && F(e, function(e) {
e.attr("contenteditable", e.attr(yE))
})
}),
t.serializer.addTempAttr(yE)
}
function fE(e, t) {
return "selectionchange" === t ? e.getDoc() : !e.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t) ? e.getDoc().documentElement : e.settings.event_root ? (e.eventRoot || (e.eventRoot = bE.select(e.settings.event_root)[0]),
e.eventRoot) : e.getBody()
}
function dE(e, t, n) {
!function(e) {
return !e.hidden && !sE(e)
}(e) ? sE(e) && function(e, t) {
var n = t.target;
!function(e) {
return "click" === e.type
}(t) || hh.metaKeyPressed(t) || !function(e, t) {
return null !== e.dom.getParent(t, "a")
}(e, n) || t.preventDefault()
}(e, n) : e.fire(t, n)
}
function hE(i, a) {
var e, t;
if (i.delegates || (i.delegates = {}),
!i.delegates[a] && !i.removed)
if (e = fE(i, a),
i.settings.event_root) {
if (pE || (pE = {},
i.editorManager.on("removeEditor", function() {
var e;
if (!i.editorManager.activeEditor && pE) {
for (e in pE)
i.dom.unbind(fE(i, e));
pE = null
}
})),
pE[a])
return;
t = function(e) {
for (var t = e.target, n = i.editorManager.get(), r = n.length; r--; ) {
var o = n[r].getBody();
o !== t && !bE.isChildOf(t, o) || dE(n[r], a, e)
}
}
,
pE[a] = t,
bE.bind(e, a, t)
} else
t = function(e) {
dE(i, a, e)
}
,
bE.bind(e, a, t),
i.delegates[a] = t
}
function mE(e, t, n, r) {
var o = n[t.get()]
, i = n[r];
try {
i.activate()
} catch (HN) {
return void j.console.error("problem while activating editor mode " + r + ":", HN)
}
o.deactivate(),
o.editorReadOnly !== i.editorReadOnly && cE(e, i.editorReadOnly),
t.set(r),
function(e, t) {
e.fire("SwitchMode", {
mode: t
})
}(e, r)
}
function gE(t) {
var n = at("design")
, r = at({
design: {
activate: i,
deactivate: i,
editorReadOnly: !1
},
readonly: {
activate: i,
deactivate: i,
editorReadOnly: !0
}
});
return function(e) {
e.serializer ? lE(e) : e.on("PreInit", function() {
lE(e)
})
}(t),
function(t) {
t.on("ShowCaret", function(e) {
sE(t) && e.preventDefault()
}),
t.on("ObjectSelected", function(e) {
sE(t) && e.preventDefault()
})
}(t),
{
isReadOnly: function() {
return sE(t)
},
set: function(e) {
return function(e, t, n, r) {
if (r !== n.get()) {
if (!ee(t, r))
throw new Error("Editor mode '" + r + "' is invalid");
e.initialized ? mE(e, n, t, r) : e.on("init", function() {
return mE(e, n, t, r)
})
}
}(t, r.get(), n, e)
},
get: function() {
return n.get()
},
register: function(e, t) {
r.set(function(e, t, n) {
var r;
if (h(wE, t))
throw new Error("Cannot override default mode " + t);
return te(te({}, e), ((r = {})[t] = te(te({}, n), {
deactivate: function() {
try {
n.deactivate()
} catch (HN) {
j.console.error("problem while deactivating editor mode " + t + ":", HN)
}
}
}),
r))
}(r.get(), e, t))
}
}
}
var pE, vE = {
fire: function(e, t, n) {
if (this.removed && "remove" !== e && "detach" !== e)
return t;
var r = oE(this).fire(e, t);
if (!1 !== n && this.parent)
for (var o = this.parent(); o && !r.isPropagationStopped(); )
o.fire(e, r, !1),
o = o.parent();
return r
},
on: function(e, t, n) {
return oE(this).on(e, t, n)
},
off: function(e, t) {
return oE(this).off(e, t)
},
once: function(e, t) {
return oE(this).once(e, t)
},
hasEventListeners: function(e) {
return oE(this).has(e)
}
}, yE = "data-mce-contenteditable", bE = Qi.DOM, CE = te(te({}, vE), {
bindPendingEventDelegates: function() {
var t = this;
Zn.each(t._pendingNativeEvents, function(e) {
hE(t, e)
})
},
toggleNativeEvent: function(e, t) {
var n = this;
"focus" !== e && "blur" !== e && (t ? n.initialized ? hE(n, e) : n._pendingNativeEvents ? n._pendingNativeEvents.push(e) : n._pendingNativeEvents = [e] : n.initialized && (n.dom.unbind(fE(n, e), e, n.delegates[e]),
delete n.delegates[e]))
},
unbindAllNativeEvents: function() {
var e, t = this, n = t.getBody(), r = t.dom;
if (t.delegates) {
for (e in t.delegates)
t.dom.unbind(fE(t, e), e, t.delegates[e]);
delete t.delegates
}
!t.inline && n && r && (n.onload = null,
r.unbind(t.getWin()),
r.unbind(t.getDoc())),
r && (r.unbind(n),
r.unbind(t.getContainer()))
}
}), wE = ["design", "readonly"], xE = Zn.each, zE = Zn.explode, EE = {
f1: 112,
f2: 113,
f3: 114,
f4: 115,
f5: 116,
f6: 117,
f7: 118,
f8: 119,
f9: 120,
f10: 121,
f11: 122,
f12: 123
}, NE = Zn.makeMap("alt,ctrl,shift,meta,access"), SE = (kE.prototype.add = function(e, n, r, o) {
var t, i = this;
return "string" == typeof (t = r) ? r = function() {
i.editor.execCommand(t, !1, null)
}
: Zn.isArray(t) && (r = function() {
i.editor.execCommand(t[0], t[1], t[2])
}
),
xE(zE(Zn.trim(e)), function(e) {
var t = i.createShortcut(e, n, r, o);
i.shortcuts[t.id] = t
}),
!0
}
,
kE.prototype.remove = function(e) {
var t = this.createShortcut(e);
return !!this.shortcuts[t.id] && (delete this.shortcuts[t.id],
!0)
}
,
kE.prototype.parseShortcut = function(e) {
var t, n, r = {};
for (n in xE(zE(e.toLowerCase(), "+"), function(e) {
e in NE ? r[e] = !0 : /^[0-9]{2,}$/.test(e) ? r.keyCode = parseInt(e, 10) : (r.charCode = e.charCodeAt(0),
r.keyCode = EE[e] || e.toUpperCase().charCodeAt(0))
}),
t = [r.keyCode],
NE)
r[n] ? t.push(n) : r[n] = !1;
return r.id = t.join(","),
r.access && (r.alt = !0,
Wn.mac ? r.ctrl = !0 : r.shift = !0),
r.meta && (Wn.mac ? r.meta = !0 : (r.ctrl = !0,
r.meta = !1)),
r
}
,
kE.prototype.createShortcut = function(e, t, n, r) {
var o;
return (o = Zn.map(zE(e, ">"), this.parseShortcut))[o.length - 1] = Zn.extend(o[o.length - 1], {
func: n,
scope: r || this.editor
}),
Zn.extend(o[0], {
desc: this.editor.translate(t),
subpatterns: o.slice(1)
})
}
,
kE.prototype.hasModifier = function(e) {
return e.altKey || e.ctrlKey || e.metaKey
}
,
kE.prototype.isFunctionKey = function(e) {
return "keydown" === e.type && 112 <= e.keyCode && e.keyCode <= 123
}
,
kE.prototype.matchShortcut = function(e, t) {
return !!t && t.ctrl === e.ctrlKey && t.meta === e.metaKey && t.alt === e.altKey && t.shift === e.shiftKey && !!(e.keyCode === t.keyCode || e.charCode && e.charCode === t.charCode) && (e.preventDefault(),
!0)
}
,
kE.prototype.executeShortcutAction = function(e) {
return e.func ? e.func.call(e.scope) : null
}
,
kE);
function kE(e) {
this.shortcuts = {},
this.pendingPatterns = [],
this.editor = e;
var n = this;
e.on("keyup keypress keydown", function(t) {
!n.hasModifier(t) && !n.isFunctionKey(t) || t.isDefaultPrevented() || (xE(n.shortcuts, function(e) {
if (n.matchShortcut(t, e))
return n.pendingPatterns = e.subpatterns.slice(0),
"keydown" === t.type && n.executeShortcutAction(e),
!0
}),
n.matchShortcut(t, n.pendingPatterns[0]) && (1 === n.pendingPatterns.length && "keydown" === t.type && n.executeShortcutAction(n.pendingPatterns[0]),
n.pendingPatterns.shift()))
})
}
function TE() {
var e = function() {
function e(n, r) {
return function(e, t) {
return n[e.toLowerCase()] = te(te({}, t), {
type: r
})
}
}
var t = {}
, n = {}
, r = {}
, o = {}
, i = {}
, a = {}
, u = {};
return {
addButton: e(t, "button"),
addGroupToolbarButton: e(t, "grouptoolbarbutton"),
addToggleButton: e(t, "togglebutton"),
addMenuButton: e(t, "menubutton"),
addSplitButton: e(t, "splitbutton"),
addMenuItem: e(n, "menuitem"),
addNestedMenuItem: e(n, "nestedmenuitem"),
addToggleMenuItem: e(n, "togglemenuitem"),
addAutocompleter: e(r, "autocompleter"),
addContextMenu: e(i, "contextmenu"),
addContextToolbar: e(a, "contexttoolbar"),
addContextForm: e(a, "contextform"),
addSidebar: e(u, "sidebar"),
addIcon: function(e, t) {
return o[e.toLowerCase()] = t
},
getAll: function() {
return {
buttons: t,
menuItems: n,
icons: o,
popups: r,
contextMenus: i,
contextToolbars: a,
sidebars: u
}
}
}
}();
return {
addAutocompleter: e.addAutocompleter,
addButton: e.addButton,
addContextForm: e.addContextForm,
addContextMenu: e.addContextMenu,
addContextToolbar: e.addContextToolbar,
addIcon: e.addIcon,
addMenuButton: e.addMenuButton,
addMenuItem: e.addMenuItem,
addNestedMenuItem: e.addNestedMenuItem,
addSidebar: e.addSidebar,
addSplitButton: e.addSplitButton,
addToggleButton: e.addToggleButton,
addGroupToolbarButton: e.addGroupToolbarButton,
addToggleMenuItem: e.addToggleMenuItem,
getAll: e.getAll
}
}
var AE = Zn.each
, ME = Zn.trim
, RE = "source protocol authority userInfo user password host port relative path directory file query anchor".split(" ")
, _E = {
ftp: 21,
http: 80,
https: 443,
mailto: 25
}
, DE = (OE.parseDataUri = function(e) {
var t, n = decodeURIComponent(e).split(","), r = /data:([^;]+)/.exec(n[0]);
return r && (t = r[1]),
{
type: t,
data: n[1]
}
}
,
OE.getDocumentBaseUrl = function(e) {
var t;
return t = 0 !== e.protocol.indexOf("http") && "file:" !== e.protocol ? e.href : e.protocol + "//" + e.host + e.pathname,
/^[^:]+:\/\/\/?[^\/]+\//.test(t) && (t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""),
/[\/\\]$/.test(t) || (t += "/")),
t
}
,
OE.prototype.setPath = function(e) {
var t = /^(.*?)\/?(\w+)?$/.exec(e);
this.path = t[0],
this.directory = t[1],
this.file = t[2],
this.source = "",
this.getURI()
}
,
OE.prototype.toRelative = function(e) {
var t;
if ("./" === e)
return e;
var n = new OE(e,{
base_uri: this
});
if ("mce_host" !== n.host && this.host !== n.host && n.host || this.port !== n.port || this.protocol !== n.protocol && "" !== n.protocol)
return n.getURI();
var r = this.getURI()
, o = n.getURI();
return r === o || "/" === r.charAt(r.length - 1) && r.substr(0, r.length - 1) === o ? r : (t = this.toRelPath(this.path, n.path),
n.query && (t += "?" + n.query),
n.anchor && (t += "#" + n.anchor),
t)
}
,
OE.prototype.toAbsolute = function(e, t) {
var n = new OE(e,{
base_uri: this
});
return n.getURI(t && this.isSameOrigin(n))
}
,
OE.prototype.isSameOrigin = function(e) {
if (this.host == e.host && this.protocol == e.protocol) {
if (this.port == e.port)
return !0;
var t = _E[this.protocol];
if (t && (this.port || t) == (e.port || t))
return !0
}
return !1
}
,
OE.prototype.toRelPath = function(e, t) {
var n, r, o, i = 0, a = "", u = e.substring(0, e.lastIndexOf("/")).split("/");
if (n = t.split("/"),
u.length >= n.length)
for (r = 0,
o = u.length; r < o; r++)
if (r >= n.length || u[r] !== n[r]) {
i = r + 1;
break
}
if (u.length < n.length)
for (r = 0,
o = n.length; r < o; r++)
if (r >= u.length || u[r] !== n[r]) {
i = r + 1;
break
}
if (1 === i)
return t;
for (r = 0,
o = u.length - (i - 1); r < o; r++)
a += "../";
for (r = i - 1,
o = n.length; r < o; r++)
a += r !== i - 1 ? "/" + n[r] : n[r];
return a
}
,
OE.prototype.toAbsPath = function(e, t) {
var n, r, o, i = 0, a = [];
r = /\/$/.test(t) ? "/" : "";
var u = e.split("/")
, c = t.split("/");
for (AE(u, function(e) {
e && a.push(e)
}),
u = a,
n = c.length - 1,
a = []; 0 <= n; n--)
0 !== c[n].length && "." !== c[n] && (".." !== c[n] ? 0 < i ? i-- : a.push(c[n]) : i++);
return 0 !== (o = (n = u.length - i) <= 0 ? w(a).join("/") : u.slice(0, n).join("/") + "/" + w(a).join("/")).indexOf("/") && (o = "/" + o),
r && o.lastIndexOf("/") !== o.length - 1 && (o += r),
o
}
,
OE.prototype.getURI = function(e) {
var t;
return void 0 === e && (e = !1),
this.source && !e || (t = "",
e || (this.protocol ? t += this.protocol + "://" : t += "//",
this.userInfo && (t += this.userInfo + "@"),
this.host && (t += this.host),
this.port && (t += ":" + this.port)),
this.path && (t += this.path),
this.query && (t += "?" + this.query),
this.anchor && (t += "#" + this.anchor),
this.source = t),
this.source
}
,
OE);
function OE(e, t) {
e = ME(e),
this.settings = t || {};
var n = this.settings.base_uri
, r = this;
if (/^([\w\-]+):([^\/]{2})/i.test(e) || /^\s*#/.test(e))
r.source = e;
else {
var o = 0 === e.indexOf("//");
if (0 !== e.indexOf("/") || o || (e = (n && n.protocol || "http") + "://mce_host" + e),
!/^[\w\-]*:?\/\//.test(e)) {
var i = this.settings.base_uri ? this.settings.base_uri.path : new OE(j.document.location.href).directory;
if (this.settings.base_uri && "" == this.settings.base_uri.protocol)
e = "//mce_host" + r.toAbsPath(i, e);
else {
var a = /([^#?]*)([#?]?.*)/.exec(e);
e = (n && n.protocol || "http") + "://mce_host" + r.toAbsPath(i, a[1]) + a[2]
}
}
e = e.replace(/@@/g, "(mce_at)");
var u = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);
AE(RE, function(e, t) {
var n = u[t];
n = n && n.replace(/\(mce_at\)/g, "@@"),
r[e] = n
}),
n && (r.protocol || (r.protocol = n.protocol),
r.userInfo || (r.userInfo = n.userInfo),
r.port || "mce_host" !== r.host || (r.port = n.port),
r.host && "mce_host" !== r.host || (r.host = n.host),
r.source = ""),
o && (r.protocol = "")
}
}
var HE = Qi.DOM
, BE = Zn.extend
, PE = Zn.each
, LE = Zn.resolve
, VE = Wn.ie
, IE = (FE.prototype.render = function() {
Iz(this)
}
,
FE.prototype.focus = function(e) {
_d(this, e)
}
,
FE.prototype.hasFocus = function() {
return Dd(this)
}
,
FE.prototype.execCallback = function(e) {
for (var t = [], n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
var r, o = this.settings[e];
if (o)
return this.callbackLookup && (r = this.callbackLookup[e]) && (o = r.func,
r = r.scope),
"string" == typeof o && (r = (r = o.replace(/\.\w+$/, "")) ? LE(r) : 0,
o = LE(o),
this.callbackLookup = this.callbackLookup || {},
this.callbackLookup[e] = {
func: o,
scope: r
}),
o.apply(r || this, Array.prototype.slice.call(arguments, 1))
}
,
FE.prototype.translate = function(e) {
return sa.translate(e)
}
,
FE.prototype.getParam = function(e, t, n) {
return id(this, e, t, n)
}
,
FE.prototype.nodeChanged = function(e) {
this._nodeChangeDispatcher.nodeChanged(e)
}
,
FE.prototype.addCommand = function(e, t, n) {
this.editorCommands.addCommand(e, t, n)
}
,
FE.prototype.addQueryStateHandler = function(e, t, n) {
this.editorCommands.addQueryStateHandler(e, t, n)
}
,
FE.prototype.addQueryValueHandler = function(e, t, n) {
this.editorCommands.addQueryValueHandler(e, t, n)
}
,
FE.prototype.addShortcut = function(e, t, n, r) {
this.shortcuts.add(e, t, n, r)
}
,
FE.prototype.execCommand = function(e, t, n, r) {
return this.editorCommands.execCommand(e, t, n, r)
}
,
FE.prototype.queryCommandState = function(e) {
return this.editorCommands.queryCommandState(e)
}
,
FE.prototype.queryCommandValue = function(e) {
return this.editorCommands.queryCommandValue(e)
}
,
FE.prototype.queryCommandSupported = function(e) {
return this.editorCommands.queryCommandSupported(e)
}
,
FE.prototype.show = function() {
this.hidden && (this.hidden = !1,
this.inline ? this.getBody().contentEditable = "true" : (HE.show(this.getContainer()),
HE.hide(this.id)),
this.load(),
this.fire("show"))
}
,
FE.prototype.hide = function() {
var e = this
, t = e.getDoc();
e.hidden || (VE && t && !e.inline && t.execCommand("SelectAll"),
e.save(),
e.inline ? (e.getBody().contentEditable = "false",
e === e.editorManager.focusedEditor && (e.editorManager.focusedEditor = null)) : (HE.hide(e.getContainer()),
HE.setStyle(e.id, "display", e.orgDisplay)),
e.hidden = !0,
e.fire("hide"))
}
,
FE.prototype.isHidden = function() {
return !!this.hidden
}
,
FE.prototype.setProgressState = function(e, t) {
this.fire("ProgressState", {
state: e,
time: t
})
}
,
FE.prototype.load = function(e) {
var t, n = this.getElement();
if (this.removed)
return "";
if (n) {
(e = e || {}).load = !0;
var r = Qt.isTextareaOrInput(n) ? n.value : n.innerHTML;
return t = this.setContent(r, e),
e.element = n,
e.no_events || this.fire("LoadContent", e),
e.element = n = null,
t
}
}
,
FE.prototype.save = function(e) {
var t, n, r = this, o = r.getElement();
if (o && r.initialized && !r.removed)
return (e = e || {}).save = !0,
e.element = o,
e.content = r.getContent(e),
e.no_events || r.fire("SaveContent", e),
"raw" === e.format && r.fire("RawSaveContent", e),
t = e.content,
Qt.isTextareaOrInput(o) ? o.value = t : (!e.is_removing && r.inline || (o.innerHTML = t),
(n = HE.getParent(r.id, "form")) && PE(n.elements, function(e) {
if (e.name === r.id)
return e.value = t,
!1
})),
e.element = o = null,
!1 !== e.set_dirty && r.setDirty(!1),
t
}
,
FE.prototype.setContent = function(e, t) {
return Xf(this, e, t)
}
,
FE.prototype.getContent = function(e) {
return function(t, n) {
return void 0 === n && (n = {}),
R.from(t.getBody()).fold($("tree" === n.format ? new hf("body",11) : ""), function(e) {
return bf(t, n, e)
})
}(this, e)
}
,
FE.prototype.insertContent = function(e, t) {
t && (e = BE({
content: e
}, t)),
this.execCommand("mceInsertContent", !1, e)
}
,
FE.prototype.resetContent = function(e) {
e === undefined ? Xf(this, this.startContent, {
format: "raw"
}) : Xf(this, e),
this.undoManager.reset(),
this.setDirty(!1),
this.nodeChanged()
}
,
FE.prototype.isDirty = function() {
return !this.isNotDirty
}
,
FE.prototype.setDirty = function(e) {
var t = !this.isNotDirty;
this.isNotDirty = !e,
e && e !== t && this.fire("dirty")
}
,
FE.prototype.getContainer = function() {
return this.container || (this.container = HE.get(this.editorContainer || this.id + "_parent")),
this.container
}
,
FE.prototype.getContentAreaContainer = function() {
return this.contentAreaContainer
}
,
FE.prototype.getElement = function() {
return this.targetElm || (this.targetElm = HE.get(this.id)),
this.targetElm
}
,
FE.prototype.getWin = function() {
var e;
return this.contentWindow || (e = this.iframeElement) && (this.contentWindow = e.contentWindow),
this.contentWindow
}
,
FE.prototype.getDoc = function() {
var e;
return this.contentDocument || (e = this.getWin()) && (this.contentDocument = e.document),
this.contentDocument
}
,
FE.prototype.getBody = function() {
var e = this.getDoc();
return this.bodyElement || (e ? e.body : null)
}
,
FE.prototype.convertURL = function(e, t, n) {
var r = this.settings;
return r.urlconverter_callback ? this.execCallback("urlconverter_callback", e, n, !0, t) : !r.convert_urls || n && "LINK" === n.nodeName || 0 === e.indexOf("file:") || 0 === e.length ? e : r.relative_urls ? this.documentBaseURI.toRelative(e) : e = this.documentBaseURI.toAbsolute(e, r.remove_script_host)
}
,
FE.prototype.addVisual = function(e) {
var n, r = this, o = r.settings, i = r.dom;
e = e || r.getBody(),
r.hasVisual === undefined && (r.hasVisual = o.visual),
PE(i.select("table,a", e), function(e) {
var t;
switch (e.nodeName) {
case "TABLE":
return n = o.visual_table_class || "mce-item-table",
void ((t = i.getAttrib(e, "border")) && "0" !== t || !r.hasVisual ? i.removeClass(e, n) : i.addClass(e, n));
case "A":
return void (i.getAttrib(e, "href") || (t = i.getAttrib(e, "name") || e.id,
n = o.visual_anchor_class || "mce-item-anchor",
t && r.hasVisual ? i.addClass(e, n) : i.removeClass(e, n)))
}
}),
r.fire("VisualAid", {
element: e,
hasVisual: r.hasVisual
})
}
,
FE.prototype.remove = function() {
Gf(this)
}
,
FE.prototype.destroy = function(e) {
Zf(this, e)
}
,
FE.prototype.uploadImages = function(e) {
return this.editorUpload.uploadImages(e)
}
,
FE.prototype._scanForImages = function() {
return this.editorUpload.scanForImages()
}
,
FE.prototype.addButton = function() {
throw new Error("editor.addButton has been removed in tinymce 5x, use editor.ui.registry.addButton or editor.ui.registry.addToggleButton or editor.ui.registry.addSplitButton instead")
}
,
FE.prototype.addSidebar = function() {
throw new Error("editor.addSidebar has been removed in tinymce 5x, use editor.ui.registry.addSidebar instead")
}
,
FE.prototype.addMenuItem = function() {
throw new Error("editor.addMenuItem has been removed in tinymce 5x, use editor.ui.registry.addMenuItem instead")
}
,
FE.prototype.addContextToolbar = function() {
throw new Error("editor.addContextToolbar has been removed in tinymce 5x, use editor.ui.registry.addContextToolbar instead")
}
,
FE);
function FE(e, t, n) {
var r = this;
this.plugins = {},
this.contentCSS = [],
this.contentStyles = [],
this.loadedCSS = {},
this.isNotDirty = !1,
this.editorManager = n,
this.documentBaseUrl = n.documentBaseURL,
BE(this, CE),
this.settings = rd(this, e, this.documentBaseUrl, n.defaultSettings, t),
this.settings.suffix && (n.suffix = this.settings.suffix),
this.suffix = n.suffix,
this.settings.base_url && n._setBaseUrl(this.settings.base_url),
this.baseUri = n.baseURI,
this.settings.referrer_policy && (ra.ScriptLoader._setReferrerPolicy(this.settings.referrer_policy),
Qi.DOM.styleSheetLoader._setReferrerPolicy(this.settings.referrer_policy)),
wa.languageLoad = this.settings.language_load,
wa.baseURL = n.baseURL,
this.id = e,
this.setDirty(!1),
this.documentBaseURI = new DE(this.settings.document_base_url,{
base_uri: this.baseUri
}),
this.baseURI = this.baseUri,
this.inline = !!this.settings.inline,
this.shortcuts = new SE(this),
this.editorCommands = new Qz(this),
this.settings.cache_suffix && (Wn.cacheSuffix = this.settings.cache_suffix.replace(/^[\?\&]+/, "")),
this.ui = {
registry: TE()
};
var o = gE(this);
this.mode = o,
this.setMode = o.set,
n.fire("SetupEditor", {
editor: this
}),
this.execCallback("setup", this),
this.$ = Ii.overrideDefaults(function() {
return {
context: r.inline ? r.getBody() : r.getDoc(),
element: r.getBody()
}
})
}
function UE(t) {
var n = t.type;
YE(nN.get(), function(e) {
switch (n) {
case "scroll":
e.fire("ScrollWindow", t);
break;
case "resize":
e.fire("ResizeWindow", t)
}
})
}
function jE(e) {
e !== JE && (e ? Ii(window).on("resize scroll", UE) : Ii(window).off("resize scroll", UE),
JE = e)
}
function qE(t) {
var e = eN;
delete QE[t.id];
for (var n = 0; n < QE.length; n++)
if (QE[n] === t) {
QE.splice(n, 1);
break
}
return eN = U(eN, function(e) {
return t !== e
}),
nN.activeEditor === t && (nN.activeEditor = 0 < eN.length ? eN[0] : null),
nN.focusedEditor === t && (nN.focusedEditor = null),
e.length !== eN.length
}
var $E, WE, KE = Qi.DOM, XE = Zn.explode, YE = Zn.each, GE = Zn.extend, ZE = 0, JE = !1, QE = [], eN = [], tN = "CSS1Compat" !== j.document.compatMode, nN = te(te({}, vE), {
baseURI: null,
baseURL: null,
defaultSettings: {},
documentBaseURL: null,
suffix: null,
$: Ii,
majorVersion: "5",
minorVersion: "2.0",
releaseDate: "2020-02-13",
editors: QE,
i18n: sa,
activeEditor: null,
focusedEditor: null,
settings: {},
setup: function() {
var e, t, n = "";
t = DE.getDocumentBaseUrl(j.document.location),
/^[^:]+:\/\/\/?[^\/]+\//.test(t) && (t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""),
/[\/\\]$/.test(t) || (t += "/"));
var r = window.tinymce || window.tinyMCEPreInit;
if (r)
e = r.base || r.baseURL,
n = r.suffix;
else {
for (var o = j.document.getElementsByTagName("script"), i = 0; i < o.length; i++) {
var a;
if ("" !== (a = o[i].src || "")) {
var u = a.substring(a.lastIndexOf("/"));
if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)) {
-1 !== u.indexOf(".min") && (n = ".min"),
e = a.substring(0, a.lastIndexOf("/"));
break
}
}
}
if (!e && j.document.currentScript)
-1 !== (a = j.document.currentScript.src).indexOf(".min") && (n = ".min"),
e = a.substring(0, a.lastIndexOf("/"))
}
this.baseURL = new DE(t).toAbsolute(e),
this.documentBaseURL = t,
this.baseURI = new DE(this.baseURL),
this.suffix = n,
Td(this)
},
overrideDefaults: function(e) {
var t, n;
(t = e.base_url) && this._setBaseUrl(t),
n = e.suffix,
e.suffix && (this.suffix = n);
var r = (this.defaultSettings = e).plugin_base_urls;
for (var o in r)
wa.PluginManager.urls[o] = r[o]
},
init: function(r) {
var n, u, c = this;
u = Zn.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu", " ");
function s(e) {
var t = e.id;
return t || (t = (t = e.name) && !KE.get(t) ? e.name : KE.uniqueId(),
e.setAttribute("id", t)),
t
}
function l(e, t) {
return t.constructor === RegExp ? t.test(e.className) : KE.hasClass(e, t)
}
var f = function(e) {
n = e
}
, e = function() {
function n(e, t, n) {
var r = new IE(e,t,c);
a.push(r),
r.on("init", function() {
++i === o.length && f(a)
}),
r.targetElm = r.targetElm || n,
r.render()
}
var o, i = 0, a = [];
KE.unbind(window, "ready", e),
function(e) {
var t = r[e];
if (t)
t.apply(c, Array.prototype.slice.call(arguments, 2))
}("onpageload"),
o = Ii.unique(function(t) {
var e, n = [];
if (Wn.browser.isIE() && Wn.browser.version.major < 11)
return ch.initError("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/"),
[];
if (tN)
return ch.initError("Failed to initialize the editor as the document is not in standards mode. TinyMCE requires standards mode."),
[];
if (t.types)
return YE(t.types, function(e) {
n = n.concat(KE.select(e.selector))
}),
n;
if (t.selector)
return KE.select(t.selector);
if (t.target)
return [t.target];
switch (t.mode) {
case "exact":
0 < (e = t.elements || "").length && YE(XE(e), function(t) {
var e;
(e = KE.get(t)) ? n.push(e) : YE(j.document.forms, function(e) {
YE(e.elements, function(e) {
e.name === t && (t = "mce_editor_" + ZE++,
KE.setAttrib(e, "id", t),
n.push(e))
})
})
});
break;
case "textareas":
case "specific_textareas":
YE(KE.select("textarea"), function(e) {
t.editor_deselector && l(e, t.editor_deselector) || t.editor_selector && !l(e, t.editor_selector) || n.push(e)
})
}
return n
}(r)),
r.types ? YE(r.types, function(t) {
Zn.each(o, function(e) {
return !KE.is(e, t.selector) || (n(s(e), GE({}, r, t), e),
!1)
})
}) : (Zn.each(o, function(e) {
!function(e) {
e && e.initialized && !(e.getContainer() || e.getBody()).parentNode && (qE(e),
e.unbindAllNativeEvents(),
e.destroy(!0),
e.removed = !0,
e = null)
}(c.get(e.id))
}),
0 === (o = Zn.grep(o, function(e) {
return !c.get(e.id)
})).length ? f([]) : YE(o, function(e) {
!function(e, t) {
return e.inline && t.tagName.toLowerCase()in u
}(r, e) ? n(s(e), r, e) : ch.initError("Could not initialize inline editor on invalid inline target element", e)
}))
};
return c.settings = r,
KE.bind(window, "ready", e),
new wn(function(t) {
n ? t(n) : f = function(e) {
t(e)
}
}
)
},
get: function(t) {
return 0 === arguments.length ? eN.slice(0) : K(t) ? g(eN, function(e) {
return e.id === t
}).getOr(null) : P(t) && eN[t] ? eN[t] : null
},
add: function(e) {
var n = this;
return QE[e.id] === e || (null === n.get(e.id) && (function(e) {
return "length" !== e
}(e.id) && (QE[e.id] = e),
QE.push(e),
eN.push(e)),
jE(!0),
n.activeEditor = e,
n.fire("AddEditor", {
editor: e
}),
$E || ($E = function(e) {
var t = n.fire("BeforeUnload");
if (t.returnValue)
return e.preventDefault(),
e.returnValue = t.returnValue,
t.returnValue
}
,
window.addEventListener("beforeunload", $E))),
e
},
createEditor: function(e, t) {
return this.add(new IE(e,t,this))
},
remove: function(e) {
var t, n, r = this;
if (e) {
if (!K(e))
return n = e,
O(r.get(n.id)) ? null : (qE(n) && r.fire("RemoveEditor", {
editor: n
}),
0 === eN.length && window.removeEventListener("beforeunload", $E),
n.remove(),
jE(0 < eN.length),
n);
YE(KE.select(e), function(e) {
(n = r.get(e.id)) && r.remove(n)
})
} else
for (t = eN.length - 1; 0 <= t; t--)
r.remove(eN[t])
},
execCommand: function(e, t, n) {
var r = this.get(n);
switch (e) {
case "mceAddEditor":
return this.get(n) || new IE(n,this.settings,this).render(),
!0;
case "mceRemoveEditor":
return r && r.remove(),
!0;
case "mceToggleEditor":
return r ? r.isHidden() ? r.show() : r.hide() : this.execCommand("mceAddEditor", 0, n),
!0
}
return !!this.activeEditor && this.activeEditor.execCommand(e, t, n)
},
triggerSave: function() {
YE(eN, function(e) {
e.save()
})
},
addI18n: function(e, t) {
sa.add(e, t)
},
translate: function(e) {
return sa.translate(e)
},
setActive: function(e) {
var t = this.activeEditor;
this.activeEditor !== e && (t && t.fire("deactivate", {
relatedTarget: e
}),
e.fire("activate", {
relatedTarget: t
})),
this.activeEditor = e
},
_setBaseUrl: function(e) {
this.baseURL = new DE(this.documentBaseURL).toAbsolute(e.replace(/\/+$/, "")),
this.baseURI = new DE(this.baseURL)
}
});
function rN(n) {
return {
walk: function(e, t) {
return ef(n, e, t)
},
split: xg,
normalize: function(t) {
return Bm(n, t).fold($(!1), function(e) {
return t.setStart(e.startContainer, e.startOffset),
t.setEnd(e.endContainer, e.endOffset),
!0
})
}
}
}
nN.setup(),
(WE = rN = rN || {}).compareRanges = Hm,
WE.getCaretRangeFromPoint = pm,
WE.getSelectedNode = Ja,
WE.getNode = Qa;
function oN(e, t, n) {
var r, o, i, a, u, c;
return r = t.x,
o = t.y,
i = e.w,
a = e.h,
u = t.w,
c = t.h,
"b" === (n = (n || "").split(""))[0] && (o += c),
"r" === n[1] && (r += u),
"c" === n[0] && (o += mN(c / 2)),
"c" === n[1] && (r += mN(u / 2)),
"b" === n[3] && (o -= a),
"r" === n[4] && (r -= i),
"c" === n[3] && (o -= mN(a / 2)),
"c" === n[4] && (r -= mN(i / 2)),
gN(r, o, i, a)
}
function iN() {}
var aN, uN, cN, sN, lN = rN, fN = (aN = {},
uN = {},
{
load: function(r, o) {
var i = 'Script at URL "' + o + '" failed to load'
, a = 'Script at URL "' + o + "\" did not call `tinymce.Resource.add('" + r + "', data)` within 1 second";
if (aN[r] !== undefined)
return aN[r];
var e = new wn(function(e, t) {
var n = function(e, t, n) {
function r(n) {
return function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
o || (o = !0,
null !== i && (j.clearTimeout(i),
i = null),
n.apply(null, e))
}
}
void 0 === n && (n = 1e3);
var o = !1
, i = null
, a = r(e)
, u = r(t);
return {
start: function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
o || null !== i || (i = j.setTimeout(function() {
return u.apply(null, e)
}, n))
},
resolve: a,
reject: u
}
}(e, t);
uN[r] = n.resolve,
ra.ScriptLoader.loadScript(o, function() {
return n.start(a)
}, function() {
return n.reject(i)
})
}
);
return aN[r] = e
},
add: function(e, t) {
uN[e] !== undefined && (uN[e](t),
delete uN[e]),
aN[e] = wn.resolve(t)
}
}), dN = Math.min, hN = Math.max, mN = Math.round, gN = function(e, t, n, r) {
return {
x: e,
y: t,
w: n,
h: r
}
}, pN = {
inflate: function(e, t, n) {
return gN(e.x - t, e.y - n, e.w + 2 * t, e.h + 2 * n)
},
relativePosition: oN,
findBestRelativePosition: function(e, t, n, r) {
var o, i;
for (i = 0; i < r.length; i++)
if ((o = oN(e, t, r[i])).x >= n.x && o.x + o.w <= n.w + n.x && o.y >= n.y && o.y + o.h <= n.h + n.y)
return r[i];
return null
},
intersect: function(e, t) {
var n, r, o, i;
return n = hN(e.x, t.x),
r = hN(e.y, t.y),
o = dN(e.x + e.w, t.x + t.w),
i = dN(e.y + e.h, t.y + t.h),
o - n < 0 || i - r < 0 ? null : gN(n, r, o - n, i - r)
},
clamp: function(e, t, n) {
var r, o, i, a, u, c, s, l, f, d;
return u = e.x,
c = e.y,
s = e.x + e.w,
l = e.y + e.h,
f = t.x + t.w,
d = t.y + t.h,
r = hN(0, t.x - u),
o = hN(0, t.y - c),
i = hN(0, s - f),
a = hN(0, l - d),
u += r,
c += o,
n && (s += r,
l += o,
u -= i,
c -= a),
gN(u, c, (s -= i) - u, (l -= a) - c)
},
create: gN,
fromClientRect: function(e) {
return gN(e.left, e.top, e.width, e.height)
}
}, vN = Zn.each, yN = Zn.extend;
iN.extend = cN = function(n) {
function r() {
var e, t, n;
if (!sN && (this.init && this.init.apply(this, arguments),
t = this.Mixins))
for (e = t.length; e--; )
(n = t[e]).init && n.init.apply(this, arguments)
}
function t() {
return this
}
function e(n, r) {
return function() {
var e, t = this._super;
return this._super = u[n],
e = r.apply(this, arguments),
this._super = t,
e
}
}
var o, i, a, u = this.prototype;
for (i in sN = !0,
o = new this,
sN = !1,
n.Mixins && (vN(n.Mixins, function(e) {
for (var t in e)
"init" !== t && (n[t] = e[t])
}),
u.Mixins && (n.Mixins = u.Mixins.concat(n.Mixins))),
n.Methods && vN(n.Methods.split(","), function(e) {
n[e] = t
}),
n.Properties && vN(n.Properties.split(","), function(e) {
var t = "_" + e;
n[e] = function(e) {
return e !== undefined ? (this[t] = e,
this) : this[t]
}
}),
n.Statics && vN(n.Statics, function(e, t) {
r[t] = e
}),
n.Defaults && u.Defaults && (n.Defaults = yN({}, u.Defaults, n.Defaults)),
n)
"function" == typeof (a = n[i]) && u[i] ? o[i] = e(i, a) : o[i] = a;
return r.prototype = o,
(r.constructor = r).extend = cN,
r
}
;
var bN = Math.min
, CN = Math.max
, wN = Math.round
, xN = {
serialize: function(e) {
var t = JSON.stringify(e);
return K(t) ? t.replace(/[\u0080-\uFFFF]/g, function(e) {
var t = e.charCodeAt(0).toString(16);
return "\\u" + "0000".substring(t.length) + t
}) : t
},
parse: function(e) {
try {
return JSON.parse(e)
} catch (t) {}
}
}
, zN = {
callbacks: {},
count: 0,
send: function(t) {
var n = this
, r = Qi.DOM
, o = t.count !== undefined ? t.count : n.count
, i = "tinymce_jsonp_" + o;
n.callbacks[o] = function(e) {
r.remove(i),
delete n.callbacks[o],
t.callback(e)
}
,
r.add(r.doc.body, "script", {
id: i,
src: t.url,
type: "text/javascript"
}),
n.count++
}
}
, EN = te(te({}, vE), {
send: function(e) {
var t, n = 0, r = function() {
!e.async || 4 === t.readyState || 1e4 < n++ ? (e.success && n < 1e4 && 200 === t.status ? e.success.call(e.success_scope, "" + t.responseText, t, e) : e.error && e.error.call(e.error_scope, 1e4 < n ? "TIMED_OUT" : "GENERAL", t, e),
t = null) : Pn.setTimeout(r, 10)
};
if (e.scope = e.scope || this,
e.success_scope = e.success_scope || e.scope,
e.error_scope = e.error_scope || e.scope,
e.async = !1 !== e.async,
e.data = e.data || "",
EN.fire("beforeInitialize", {
settings: e
}),
t = new j.XMLHttpRequest) {
if (t.overrideMimeType && t.overrideMimeType(e.content_type),
t.open(e.type || (e.data ? "POST" : "GET"), e.url, e.async),
e.crossDomain && (t.withCredentials = !0),
e.content_type && t.setRequestHeader("Content-Type", e.content_type),
e.requestheaders && Zn.each(e.requestheaders, function(e) {
t.setRequestHeader(e.key, e.value)
}),
t.setRequestHeader("X-Requested-With", "XMLHttpRequest"),
(t = EN.fire("beforeSend", {
xhr: t,
settings: e
}).xhr).send(e.data),
!e.async)
return r();
Pn.setTimeout(r, 10)
}
}
})
, NN = Zn.extend
, SN = (kN.sendRPC = function(e) {
return (new kN).send(e)
}
,
kN.prototype.send = function(e) {
var n = e.error
, r = e.success
, o = NN(this.settings, e);
o.success = function(e, t) {
void 0 === (e = xN.parse(e)) && (e = {
error: "JSON Parse error."
}),
e.error ? n.call(o.error_scope || o.scope, e.error, t) : r.call(o.success_scope || o.scope, e.result)
}
,
o.error = function(e, t) {
n && n.call(o.error_scope || o.scope, e, t)
}
,
o.data = xN.serialize({
id: e.id || "c" + this.count++,
method: e.method,
params: e.params
}),
o.content_type = "application/json",
EN.send(o)
}
,
kN);
function kN(e) {
this.settings = NN({}, e),
this.count = 0
}
var TN, AN, MN, RN;
try {
TN = j.window.localStorage
} catch (HN) {
AN = {},
MN = [],
RN = {
getItem: function(e) {
var t = AN[e];
return t || null
},
setItem: function(e, t) {
MN.push(e),
AN[e] = String(t)
},
key: function(e) {
return MN[e]
},
removeItem: function(t) {
MN = MN.filter(function(e) {
return e === t
}),
delete AN[t]
},
clear: function() {
MN = [],
AN = {}
},
length: 0
},
Object.defineProperty(RN, "length", {
get: function() {
return MN.length
},
configurable: !1,
enumerable: !1
}),
TN = RN
}
var _N, DN = {
geom: {
Rect: pN
},
util: {
Promise: wn,
Delay: Pn,
Tools: Zn,
VK: hh,
URI: DE,
Class: iN,
EventDispatcher: nE,
Observable: vE,
I18n: sa,
XHR: EN,
JSON: xN,
JSONRequest: SN,
JSONP: zN,
LocalStorage: TN,
Color: function(e) {
function t(e) {
var t;
return "object" == typeof e ? "r"in e ? (u = e.r,
c = e.g,
s = e.b) : "v"in e && function(e, t, n) {
var r, o, i, a;
if (e = (parseInt(e, 10) || 0) % 360,
t = parseInt(t, 10) / 100,
n = parseInt(n, 10) / 100,
t = CN(0, bN(t, 1)),
n = CN(0, bN(n, 1)),
0 !== t) {
switch (r = e / 60,
i = (o = n * t) * (1 - Math.abs(r % 2 - 1)),
a = n - o,
Math.floor(r)) {
case 0:
u = o,
c = i,
s = 0;
break;
case 1:
u = i,
c = o,
s = 0;
break;
case 2:
u = 0,
c = o,
s = i;
break;
case 3:
u = 0,
c = i,
s = o;
break;
case 4:
u = i,
c = 0,
s = o;
break;
case 5:
u = o,
c = 0,
s = i;
break;
default:
u = c = s = 0
}
u = wN(255 * (u + a)),
c = wN(255 * (c + a)),
s = wN(255 * (s + a))
} else
u = c = s = wN(255 * n)
}(e.h, e.s, e.v) : (t = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e)) ? (u = parseInt(t[1], 10),
c = parseInt(t[2], 10),
s = parseInt(t[3], 10)) : (t = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e)) ? (u = parseInt(t[1], 16),
c = parseInt(t[2], 16),
s = parseInt(t[3], 16)) : (t = /#([0-F])([0-F])([0-F])/gi.exec(e)) && (u = parseInt(t[1] + t[1], 16),
c = parseInt(t[2] + t[2], 16),
s = parseInt(t[3] + t[3], 16)),
u = u < 0 ? 0 : 255 < u ? 255 : u,
c = c < 0 ? 0 : 255 < c ? 255 : c,
s = s < 0 ? 0 : 255 < s ? 255 : s,
n
}
var n = {}
, u = 0
, c = 0
, s = 0;
return e && t(e),
n.toRgb = function() {
return {
r: u,
g: c,
b: s
}
}
,
n.toHsv = function() {
return function(e, t, n) {
var r, o, i, a;
return o = 0,
(i = bN(e /= 255, bN(t /= 255, n /= 255))) === (a = CN(e, CN(t, n))) ? {
h: 0,
s: 0,
v: 100 * (o = i)
} : (r = (a - i) / a,
{
h: wN(60 * ((e === i ? 3 : n === i ? 1 : 5) - (e === i ? t - n : n === i ? e - t : n - e) / ((o = a) - i))),
s: wN(100 * r),
v: wN(100 * o)
})
}(u, c, s)
}
,
n.toHex = function() {
function e(e) {
return 1 < (e = parseInt(e, 10).toString(16)).length ? e : "0" + e
}
return "#" + e(u) + e(c) + e(s)
}
,
n.parse = t,
n
}
},
dom: {
EventUtils: Gr,
Sizzle: Jo,
DomQuery: Ii,
TreeWalker: Fi,
TextSeeker: cc,
DOMUtils: Qi,
ScriptLoader: ra,
RangeUtils: lN,
Serializer: Ym,
ControlSelection: lh,
BookmarkManager: fh,
Selection: Im,
Event: Gr.Event
},
html: {
Styles: $r,
Entities: Sr,
Node: hf,
Schema: Pr,
SaxParser: fd,
DomParser: $m,
Writer: Cf,
Serializer: wf
},
Env: Wn,
AddOnManager: wa,
Annotator: uf,
Formatter: Wp,
UndoManager: nv,
EditorCommands: Qz,
WindowManager: th,
NotificationManager: Jd,
EditorObservable: CE,
Shortcuts: SE,
Editor: IE,
FocusManager: Nd,
EditorManager: nN,
DOM: Qi.DOM,
ScriptLoader: ra.ScriptLoader,
PluginManager: wa.PluginManager,
ThemeManager: wa.ThemeManager,
IconManager: $d,
Resource: fN,
trim: Zn.trim,
isArray: Zn.isArray,
is: Zn.is,
toArray: Zn.toArray,
makeMap: Zn.makeMap,
each: Zn.each,
map: Zn.map,
grep: Zn.grep,
inArray: Zn.inArray,
extend: Zn.extend,
create: Zn.create,
walk: Zn.walk,
createNS: Zn.createNS,
resolve: Zn.resolve,
explode: Zn.explode,
_addCacheSuffix: Zn._addCacheSuffix,
isOpera: Wn.opera,
isWebKit: Wn.webkit,
isIE: Wn.ie,
isGecko: Wn.gecko,
isMac: Wn.mac
}, ON = Zn.extend(nN, DN);
_N = ON,
window.tinymce = _N,
window.tinyMCE = _N,
function(e) {
if ("object" == typeof module)
try {
module.exports = e
} catch (t) {}
}(ON)
}(window);