UNPKG

tinymce

Version:

Web based JavaScript HTML WYSIWYG editor control.

1 lines 445 kB
!function(){"use strict";var e=function(e){if(null===e)return"null";if(void 0===e)return"undefined";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},t=function(e){return{eq:e}},n=t((function(e,t){return e===t})),o=function(e){return t((function(t,n){if(t.length!==n.length)return!1;for(var o=t.length,r=0;r<o;r++)if(!e.eq(t[r],n[r]))return!1;return!0}))},r=function(e){return t((function(r,s){var a=Object.keys(r),i=Object.keys(s);if(!function(e,n){return function(e,n){return t((function(t,o){return e.eq(n(t),n(o))}))}(o(e),(function(e){return function(e,t){return Array.prototype.slice.call(e).sort(t)}(e,n)}))}(n).eq(a,i))return!1;for(var l=a.length,d=0;d<l;d++){var c=a[d];if(!e.eq(r[c],s[c]))return!1}return!0}))},s=t((function(t,n){if(t===n)return!0;var a=e(t);return a===e(n)&&(function(e){return-1!==["undefined","boolean","number","string","function","xml","null"].indexOf(e)}(a)?t===n:"array"===a?o(s).eq(t,n):"object"===a&&r(s).eq(t,n))}));const a=Object.getPrototypeOf,i=(e,t,n)=>{var o;return!!n(e,t.prototype)||(null===(o=e.constructor)||void 0===o?void 0:o.name)===t.name},l=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&i(e,String,((e,t)=>t.isPrototypeOf(e)))?"string":t})(t)===e,d=e=>t=>typeof t===e,c=e=>t=>e===t,u=(e,t)=>f(e)&&i(e,t,((e,t)=>a(e)===t)),m=l("string"),f=l("object"),g=e=>u(e,Object),p=l("array"),h=c(null),b=d("boolean"),v=c(void 0),y=e=>null==e,C=e=>!y(e),w=d("function"),E=d("number"),x=(e,t)=>{if(p(e)){for(let n=0,o=e.length;n<o;++n)if(!t(e[n]))return!1;return!0}return!1},_=()=>{},S=(e,t)=>(...n)=>e(t.apply(null,n)),k=(e,t)=>n=>e(t(n)),N=e=>()=>e,R=e=>e,A=(e,t)=>e===t;function T(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}const O=e=>t=>!e(t),B=e=>()=>{throw new Error(e)},P=e=>e(),D=e=>{e()},L=N(!1),M=N(!0);class I{constructor(e,t){this.tag=e,this.value=t}static some(e){return new I(!0,e)}static none(){return I.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?I.some(e(this.value)):I.none()}bind(e){return this.tag?e(this.value):I.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:I.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return C(e)?I.some(e):I.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}I.singletonNone=new I(!1);const F=Array.prototype.slice,U=Array.prototype.indexOf,z=Array.prototype.push,j=(e,t)=>U.call(e,t),H=(e,t)=>j(e,t)>-1,$=(e,t)=>{for(let n=0,o=e.length;n<o;n++)if(t(e[n],n))return!0;return!1},V=(e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r<n;r++){const n=e[r];o[r]=t(n,r)}return o},q=(e,t)=>{for(let n=0,o=e.length;n<o;n++)t(e[n],n)},W=(e,t)=>{for(let n=e.length-1;n>=0;n--)t(e[n],n)},K=(e,t)=>{const n=[],o=[];for(let r=0,s=e.length;r<s;r++){const s=e[r];(t(s,r)?n:o).push(s)}return{pass:n,fail:o}},Y=(e,t)=>{const n=[];for(let o=0,r=e.length;o<r;o++){const r=e[o];t(r,o)&&n.push(r)}return n},X=(e,t,n)=>(W(e,((e,o)=>{n=t(n,e,o)})),n),G=(e,t,n)=>(q(e,((e,o)=>{n=t(n,e,o)})),n),Z=(e,t,n)=>{for(let o=0,r=e.length;o<r;o++){const r=e[o];if(t(r,o))return I.some(r);if(n(r,o))break}return I.none()},Q=(e,t)=>Z(e,t,L),J=(e,t)=>{for(let n=0,o=e.length;n<o;n++)if(t(e[n],n))return I.some(n);return I.none()},ee=e=>{const t=[];for(let n=0,o=e.length;n<o;++n){if(!p(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);z.apply(t,e[n])}return t},te=(e,t)=>ee(V(e,t)),ne=(e,t)=>{for(let n=0,o=e.length;n<o;++n)if(!0!==t(e[n],n))return!1;return!0},oe=e=>{const t=F.call(e,0);return t.reverse(),t},re=(e,t)=>Y(e,(e=>!H(t,e))),se=(e,t)=>{const n={};for(let o=0,r=e.length;o<r;o++){const r=e[o];n[String(r)]=t(r,o)}return n},ae=(e,t)=>{const n=F.call(e,0);return n.sort(t),n},ie=(e,t)=>t>=0&&t<e.length?I.some(e[t]):I.none(),le=e=>ie(e,0),de=e=>ie(e,e.length-1),ce=w(Array.from)?Array.from:e=>F.call(e),ue=(e,t)=>{for(let n=0;n<e.length;n++){const o=t(e[n],n);if(o.isSome())return o}return I.none()},me=(e,t)=>{const n=[],o=w(t)?e=>$(n,(n=>t(n,e))):e=>H(n,e);for(let t=0,r=e.length;t<r;t++){const r=e[t];o(r)||n.push(r)}return n},fe=Object.keys,ge=Object.hasOwnProperty,pe=(e,t)=>{const n=fe(e);for(let o=0,r=n.length;o<r;o++){const r=n[o];t(e[r],r)}},he=(e,t)=>be(e,((e,n)=>({k:n,v:t(e,n)}))),be=(e,t)=>{const n={};return pe(e,((e,o)=>{const r=t(e,o);n[r.k]=r.v})),n},ve=e=>(t,n)=>{e[n]=t},ye=(e,t,n,o)=>{pe(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))},Ce=(e,t)=>{const n={};return ye(e,t,ve(n),_),n},we=(e,t)=>{const n=[];return pe(e,((e,o)=>{n.push(t(e,o))})),n},Ee=e=>we(e,R),xe=(e,t)=>_e(e,t)?I.from(e[t]):I.none(),_e=(e,t)=>ge.call(e,t),Se=(e,t)=>_e(e,t)&&void 0!==e[t]&&null!==e[t],ke=e=>{if(!p(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],n={};return q(e,((o,r)=>{const s=fe(o);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],i=o[a];if(void 0!==n[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!p(i))throw new Error("case arguments must be an array");t.push(a),n[a]=(...n)=>{const o=n.length;if(o!==i.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+i.length+" ("+i+"), got "+o);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,n)},match:e=>{const o=fe(e);if(t.length!==o.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+o.join(","));if(!ne(t,(e=>H(o,e))))throw new Error("Not all branches were specified when using match. Specified: "+o.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,n)},log:e=>{console.log(e,{constructors:t,constructor:a,params:n})}}}})),n},Ne=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},Re=e=>{const t=t=>t(e),n=N(e),o=()=>r,r={tag:!0,inner:e,fold:(t,n)=>n(e),isValue:M,isError:L,map:t=>Te.value(t(e)),mapError:o,bind:t,exists:t,forall:t,getOr:n,or:o,getOrThunk:n,orThunk:o,getOrDie:n,each:t=>{t(e)},toOptional:()=>I.some(e)};return r},Ae=e=>{const t=()=>n,n={tag:!1,inner:e,fold:(t,n)=>t(e),isValue:L,isError:M,map:t,mapError:t=>Te.error(t(e)),bind:t,exists:L,forall:M,getOr:R,or:R,getOrThunk:P,orThunk:P,getOrDie:B(String(e)),each:_,toOptional:I.none};return n},Te={value:Re,error:Ae,fromOption:(e,t)=>e.fold((()=>Ae(t)),Re)},Oe="undefined"!=typeof window?window:Function("return this;")(),Be=()=>window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295;let Pe=0;const De=e=>{const t=(new Date).getTime(),n=Math.floor(1e9*Be());return Pe++,e+"_"+n+Pe+String(t)},Le=e=>(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const n={};for(let o=0;o<t.length;o++){const r=t[o];for(const t in r)_e(r,t)&&(n[t]=e(n[t],r[t]))}return n},Me=Le(((e,t)=>g(e)&&g(t)?Me(e,t):t)),Ie=Le(((e,t)=>t)),Fe=(e,t,n=A)=>e.exists((e=>n(e,t))),Ue=(e,t,n=A)=>ze(e,t,n).getOr(e.isNone()&&t.isNone()),ze=(e,t,n)=>e.isSome()&&t.isSome()?I.some(n(e.getOrDie(),t.getOrDie())):I.none(),je=(e,t)=>e?I.some(t):I.none(),He=(e,t)=>((e,t)=>{let n=null!=t?t:Oe;for(let t=0;t<e.length&&null!=n;++t)n=n[e[t]];return n})(e.split("."),t);ke([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const $e=e=>{const t=Ne(I.none()),n=()=>t.get().each((e=>clearInterval(e)));return{clear:()=>{n(),t.set(I.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:o=>{n(),t.set(I.some(setInterval(o,e)))}}},Ve=()=>{const e=(e=>{const t=Ne(I.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(I.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(I.some(e))}}})(_);return{...e,on:t=>e.get().each(t)}},qe=(e,t,n)=>""===t||e.length>=t.length&&e.substr(n,n+t.length)===t,We=(e,t)=>Ye(e,t)?((e,t)=>e.substring(t))(e,t.length):e,Ke=(e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!v(o)||r+t.length<=o)},Ye=(e,t)=>qe(e,t,0),Xe=(e,t)=>qe(e,t,e.length-t.length),Ge=e=>t=>t.replace(e,""),Ze=Ge(/^\s+|\s+$/g),Qe=Ge(/^\s+/g),Je=Ge(/\s+$/g),et=e=>e.length>0,tt=e=>!et(e),nt=(e,t=10)=>{const n=parseInt(e,t);return isNaN(n)?I.none():I.some(n)},ot=(e,t)=>{let n=null;return{cancel:()=>{h(n)||(clearTimeout(n),n=null)},throttle:(...o)=>{h(n)&&(n=setTimeout((()=>{n=null,e.apply(null,o)}),t))}}},rt=(e,t)=>{let n=null;const o=()=>{h(n)||(clearTimeout(n),n=null)};return{cancel:o,throttle:(...r)=>{o(),n=setTimeout((()=>{n=null,e.apply(null,r)}),t)}}},st=e=>{let t,n=!1;return(...o)=>(n||(n=!0,t=e.apply(null,o)),t)},at="\ufeff",it="\xa0",lt=e=>e===at,dt=e=>{const t={};return q(e,(e=>{t[e]={}})),fe(t)},ct=e=>void 0!==e.length,ut=Array.isArray,mt=(e,t,n)=>{if(!e)return!1;if(n=n||e,ct(e)){for(let o=0,r=e.length;o<r;o++)if(!1===t.call(n,e[o],o,e))return!1}else for(const o in e)if(_e(e,o)&&!1===t.call(n,e[o],o,e))return!1;return!0},ft=(e,t)=>{const n=[];return mt(e,((o,r)=>{n.push(t(o,r,e))})),n},gt=(e,t)=>{const n=[];return mt(e,((o,r)=>{t&&!t(o,r,e)||n.push(o)})),n},pt=(e,t,n,o)=>{let r=v(n)?e[0]:n;for(let n=0;n<e.length;n++)r=t.call(o,r,e[n],n);return r},ht=(e,t,n)=>{for(let o=0,r=e.length;o<r;o++)if(t.call(n,e[o],o,e))return o;return-1},bt=e=>e[e.length-1],vt=()=>yt(0,0),yt=(e,t)=>({major:e,minor:t}),Ct={nu:yt,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?vt():((e,t)=>{const n=((e,t)=>{for(let n=0;n<e.length;n++){const o=e[n];if(o.test(t))return o}})(e,t);if(!n)return{major:0,minor:0};const o=e=>Number(t.replace(n,"$"+e));return yt(o(1),o(2))})(e,n)},unknown:vt},wt=(e,t)=>{const n=String(t).toLowerCase();return Q(e,(e=>e.search(n)))},Et=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,xt=e=>t=>Ke(t,e),_t=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Ke(e,"edge/")&&Ke(e,"chrome")&&Ke(e,"safari")&&Ke(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,Et],search:e=>Ke(e,"chrome")&&!Ke(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Ke(e,"msie")||Ke(e,"trident")},{name:"Opera",versionRegexes:[Et,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:xt("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:xt("firefox")},{name:"Safari",versionRegexes:[Et,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Ke(e,"safari")||Ke(e,"mobile/"))&&Ke(e,"applewebkit")}],St=[{name:"Windows",search:xt("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Ke(e,"iphone")||Ke(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:xt("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:xt("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:xt("linux"),versionRegexes:[]},{name:"Solaris",search:xt("sunos"),versionRegexes:[]},{name:"FreeBSD",search:xt("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:xt("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],kt={browsers:N(_t),oses:N(St)},Nt="Edge",Rt="Chromium",At="Opera",Tt="Firefox",Ot="Safari",Bt=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isEdge:o(Nt),isChromium:o(Rt),isIE:o("IE"),isOpera:o(At),isFirefox:o(Tt),isSafari:o(Ot)}},Pt=()=>Bt({current:void 0,version:Ct.unknown()}),Dt=Bt,Lt=(N(Nt),N(Rt),N("IE"),N(At),N(Tt),N(Ot),"Windows"),Mt="Android",It="Linux",Ft="macOS",Ut="Solaris",zt="FreeBSD",jt="ChromeOS",Ht=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isWindows:o(Lt),isiOS:o("iOS"),isAndroid:o(Mt),isMacOS:o(Ft),isLinux:o(It),isSolaris:o(Ut),isFreeBSD:o(zt),isChromeOS:o(jt)}},$t=()=>Ht({current:void 0,version:Ct.unknown()}),Vt=Ht,qt=(N(Lt),N("iOS"),N(Mt),N(It),N(Ft),N(Ut),N(zt),N(jt),e=>window.matchMedia(e).matches);let Wt=st((()=>((e,t,n)=>{const o=kt.browsers(),r=kt.oses(),s=t.bind((e=>((e,t)=>ue(t.brands,(t=>{const n=t.brand.toLowerCase();return Q(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:Ct.nu(parseInt(t.version,10),0)})))})))(o,e))).orThunk((()=>((e,t)=>wt(e,t).map((e=>{const n=Ct.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e))).fold(Pt,Dt),a=((e,t)=>wt(e,t).map((e=>{const n=Ct.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e).fold($t,Vt),i=((e,t,n,o)=>{const r=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!r,a=e.isiOS()||e.isAndroid(),i=a||o("(pointer:coarse)"),l=r||!s&&a&&o("(min-device-width:768px)"),d=s||a&&!l,c=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),u=!d&&!l&&!c;return{isiPad:N(r),isiPhone:N(s),isTablet:N(l),isPhone:N(d),isTouch:N(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:N(c),isDesktop:N(u)}})(a,s,e,n);return{browser:s,os:a,deviceType:i}})(window.navigator.userAgent,I.from(window.navigator.userAgentData),qt)));const Kt=()=>Wt(),Yt=Object.getPrototypeOf,Xt=e=>{const t=He("ownerDocument.defaultView",e);return f(e)&&((e=>((e,t)=>{const n=((e,t)=>He(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(Yt(e).constructor.name))},Gt=window.navigator.userAgent,Zt=Kt(),Qt=Zt.browser,Jt=Zt.os,en=Zt.deviceType,tn=-1!==Gt.indexOf("Windows Phone"),nn={transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",documentMode:Qt.isIE()?document.documentMode||7:10,cacheSuffix:null,container:null,canHaveCSP:!Qt.isIE(),windowsPhone:tn,browser:{current:Qt.current,version:Qt.version,isChromium:Qt.isChromium,isEdge:Qt.isEdge,isFirefox:Qt.isFirefox,isIE:Qt.isIE,isOpera:Qt.isOpera,isSafari:Qt.isSafari},os:{current:Jt.current,version:Jt.version,isAndroid:Jt.isAndroid,isChromeOS:Jt.isChromeOS,isFreeBSD:Jt.isFreeBSD,isiOS:Jt.isiOS,isLinux:Jt.isLinux,isMacOS:Jt.isMacOS,isSolaris:Jt.isSolaris,isWindows:Jt.isWindows},deviceType:{isDesktop:en.isDesktop,isiPad:en.isiPad,isiPhone:en.isiPhone,isPhone:en.isPhone,isTablet:en.isTablet,isTouch:en.isTouch,isWebView:en.isWebView}},on=/^\s*|\s*$/g,rn=e=>y(e)?"":(""+e).replace(on,""),sn=function(e,t,n,o){o=o||this,e&&(n&&(e=e[n]),mt(e,((e,r)=>!1!==t.call(o,e,r,n)&&(sn(e,t,n,o),!0))))},an={trim:rn,isArray:ut,is:(e,t)=>t?!("array"!==t||!ut(e))||typeof e===t:void 0!==e,toArray:e=>{if(ut(e))return e;{const t=[];for(let n=0,o=e.length;n<o;n++)t[n]=e[n];return t}},makeMap:(e,t,n={})=>{const o=m(e)?e.split(t||","):e||[];let r=o.length;for(;r--;)n[o[r]]={};return n},each:mt,map:ft,grep:gt,inArray:(e,t)=>{if(e)for(let n=0,o=e.length;n<o;n++)if(e[n]===t)return n;return-1},hasOwn:_e,extend:(e,...t)=>{for(let n=0;n<t.length;n++){const o=t[n];for(const t in o)if(_e(o,t)){const n=o[t];void 0!==n&&(e[t]=n)}}return e},walk:sn,resolve:(e,t=window)=>{const n=e.split(".");for(let e=0,o=n.length;e<o&&(t=t[n[e]]);e++);return t},explode:(e,t)=>p(e)?e:""===e?[]:ft(e.split(t||","),rn),_addCacheSuffix:e=>{const t=nn.cacheSuffix;return t&&(e+=(-1===e.indexOf("?")?"?":"&")+t),e}},ln=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},dn=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ln(n.childNodes[0])},cn=(e,t)=>{const n=(t||document).createElement(e);return ln(n)},un=(e,t)=>{const n=(t||document).createTextNode(e);return ln(n)},mn=ln,fn=(e,t,n)=>I.from(e.dom.elementFromPoint(t,n)).map(ln),gn=(e,t,n)=>{const o=e.document.createRange();var r;return r=o,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,n)=>{e.setEnd(t.dom,n)}),(t=>{e.setEndAfter(t.dom)}))})(o,n),o},pn=(e,t,n,o,r)=>{const s=e.document.createRange();return s.setStart(t.dom,n),s.setEnd(o.dom,r),s},hn=ke([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),bn=(e,t,n)=>t(mn(n.startContainer),n.startOffset,mn(n.endContainer),n.endOffset);hn.ltr,hn.rtl;const vn=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},yn=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Cn=(e,t)=>e.dom===t.dom,wn=(e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)},En=(e,t)=>{const n=[],o=e=>(n.push(e),t(e));let r=t(e);do{r=r.bind(o)}while(r.isSome());return n},xn=e=>e.dom.nodeName.toLowerCase(),_n=e=>e.dom.nodeType,Sn=e=>t=>_n(t)===e,kn=e=>Nn(e)&&Xt(e.dom),Nn=Sn(1),Rn=Sn(3),An=Sn(9),Tn=Sn(11),On=e=>t=>Nn(t)&&xn(t)===e,Bn=e=>mn(e.dom.ownerDocument),Pn=e=>An(e)?e:Bn(e),Dn=e=>mn(Pn(e).dom.defaultView),Ln=e=>I.from(e.dom.parentNode).map(mn),Mn=e=>I.from(e.dom.parentElement).map(mn),In=(e,t)=>{const n=w(t)?t:L;let o=e.dom;const r=[];for(;null!==o.parentNode&&void 0!==o.parentNode;){const e=o.parentNode,t=mn(e);if(r.push(t),!0===n(t))break;o=e}return r},Fn=e=>I.from(e.dom.previousSibling).map(mn),Un=e=>I.from(e.dom.nextSibling).map(mn),zn=e=>oe(En(e,Fn)),jn=e=>En(e,Un),Hn=e=>V(e.dom.childNodes,mn),$n=(e,t)=>{const n=e.dom.childNodes;return I.from(n[t]).map(mn)},Vn=e=>$n(e,0),qn=e=>$n(e,e.dom.childNodes.length-1),Wn=e=>e.dom.childNodes.length,Kn=e=>Tn(e)&&C(e.dom.host),Yn=e=>mn(e.dom.getRootNode()),Xn=e=>Kn(e)?e:(e=>{const t=e.dom.head;if(null==t)throw new Error("Head is not available yet");return mn(t)})(Pn(e)),Gn=e=>mn(e.dom.host),Zn=e=>{if(C(e.target)){const t=mn(e.target);if(Nn(t)&&Qn(t)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return le(t)}}return I.from(e.target)},Qn=e=>C(e.dom.shadowRoot),Jn=(e,t,n,o)=>((e,t,n,o,r)=>{const s=((e,t)=>n=>{e(n)&&t((e=>{const t=mn(Zn(e).getOr(e.target)),n=()=>e.stopPropagation(),o=()=>e.preventDefault(),r=S(o,n);return((e,t,n,o,r,s,a)=>({target:e,x:t,y:n,stop:o,prevent:r,kill:s,raw:a}))(t,e.clientX,e.clientY,n,o,r,e)})(n))})(n,o);return e.dom.addEventListener(t,s,r),{unbind:T(eo,e,t,s,r)}})(e,t,n,o,!1),eo=(e,t,n,o)=>{e.dom.removeEventListener(t,n,o)},to=M,no=()=>mn(document),oo=(e,t=!1)=>e.dom.focus({preventScroll:t}),ro=e=>{const t=Yn(e).dom;return e.dom===t.activeElement},so=(e=no())=>I.from(e.dom.activeElement).map(mn),ao=(e,t)=>{Ln(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},io=(e,t)=>{Un(e).fold((()=>{Ln(e).each((e=>{co(e,t)}))}),(e=>{ao(e,t)}))},lo=(e,t)=>{Vn(e).fold((()=>{co(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))},co=(e,t)=>{e.dom.appendChild(t.dom)},uo=(e,t)=>{ao(e,t),co(t,e)},mo=(e,t)=>{q(t,(t=>{co(e,t)}))},fo=(e,t,n)=>{if(!(m(n)||b(n)||E(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},go=(e,t,n)=>{fo(e.dom,t,n)},po=(e,t)=>{const n=e.dom;pe(t,((e,t)=>{fo(n,t,e)}))},ho=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},bo=(e,t)=>I.from(ho(e,t)),vo=(e,t)=>{const n=e.dom;return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},yo=(e,t)=>{e.dom.removeAttribute(t)},Co=e=>G(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),wo=e=>{e.dom.textContent="",q(Hn(e),(e=>{Eo(e)}))},Eo=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},xo=e=>{const t=Hn(e);var n,o;t.length>0&&(n=e,q(o=t,((e,t)=>{const r=0===t?n:o[t-1];io(r,e)}))),Eo(e)},_o=(e,t)=>mn(e.dom.cloneNode(t)),So=e=>_o(e,!1),ko=e=>_o(e,!0),No=e=>V(e,mn),Ro=e=>e.dom.innerHTML,Ao=(e,t)=>{const n=Bn(e).dom,o=mn(n.createDocumentFragment()),r=((e,t)=>{const n=(t||document).createElement("div");return n.innerHTML=e,Hn(mn(n))})(t,n);mo(o,r),wo(e),co(e,o)},To=e=>void 0!==e.style&&w(e.style.getPropertyValue),Oo=e=>{const t=Rn(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=Yn(e);return Kn(t)?I.some(t):I.none()})(mn(t)).fold((()=>n.body.contains(t)),k(Oo,Gn))},Bo=(e,t,n)=>{if(!m(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);To(e)&&e.style.setProperty(t,n)},Po=(e,t,n)=>{const o=e.dom;Bo(o,t,n)},Do=(e,t)=>{const n=e.dom;pe(t,((e,t)=>{Bo(n,t,e)}))},Lo=(e,t)=>{const n=e.dom,o=window.getComputedStyle(n).getPropertyValue(t);return""!==o||Oo(e)?o:Mo(n,t)},Mo=(e,t)=>To(e)?e.style.getPropertyValue(t):"",Io=(e,t)=>{const n=e.dom,o=Mo(n,t);return I.from(o).filter((e=>e.length>0))},Fo=e=>{const t={},n=e.dom;if(To(n))for(let e=0;e<n.style.length;e++){const o=n.style.item(e);t[o]=n.style[o]}return t},Uo=(e,t)=>{((e,t)=>{To(e)&&e.style.removeProperty(t)})(e.dom,t),Fe(bo(e,"style").map(Ze),"")&&yo(e,"style")},zo=(e=>{const t=t=>{const n=(e=>{const t=e.dom;return Oo(e)?t.getBoundingClientRect().height:t.offsetHeight})(t);if(n<=0||null===n){const n=Lo(t,e);return parseFloat(n)||0}return n},n=(e,t)=>G(t,((t,n)=>{const o=Lo(e,n),r=void 0===o?0:parseInt(o,10);return isNaN(r)?t:t+r}),0);return{set:(t,n)=>{if(!E(n)&&!n.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+n);const o=t.dom;To(o)&&(o.style[e]=n+"px")},get:t,getOuter:t,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}})("height"),jo=(e,t)=>({left:e,top:t,translate:(n,o)=>jo(e+n,t+o)}),Ho=jo,$o=(e,t)=>void 0!==e?e:void 0!==t?t:0,Vo=e=>{const t=e.dom,n=t.ownerDocument.body;return n===t?Ho(n.offsetLeft,n.offsetTop):Oo(e)?(e=>{const t=e.getBoundingClientRect();return Ho(t.left,t.top)})(t):Ho(0,0)},qo=e=>{const t=void 0!==e?e.dom:document,n=t.body.scrollLeft||t.documentElement.scrollLeft,o=t.body.scrollTop||t.documentElement.scrollTop;return Ho(n,o)},Wo=(e,t,n)=>{const o=(void 0!==n?n.dom:document).defaultView;o&&o.scrollTo(e,t)},Ko=(e,t)=>{Kt().browser.isSafari()&&w(e.dom.scrollIntoViewIfNeeded)?e.dom.scrollIntoViewIfNeeded(!1):e.dom.scrollIntoView(t)},Yo=(e,t)=>{const n=(t||document).createDocumentFragment();return q(e,(e=>{n.appendChild(e.dom)})),mn(n)},Xo=(e=>{const t=t=>e(t)?I.from(t.dom.nodeValue):I.none();return{get:n=>{if(!e(n))throw new Error("Can only get text value of a text node");return t(n).getOr("")},getOption:t,set:(t,n)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=n}}})(Rn),Go=e=>Xo.get(e),Zo=(e,t)=>Xo.set(e,t),Qo=(e,t)=>{const n=ho(e,t);return void 0===n||""===n?[]:n.split(" ")};var Jo=(e,t,n,o,r)=>e(n,o)?I.some(n):w(r)&&r(n)?I.none():t(n,o,r);const er=(e,t,n)=>{let o=e.dom;const r=w(n)?n:L;for(;o.parentNode;){o=o.parentNode;const e=mn(o);if(t(e))return I.some(e);if(r(e))break}return I.none()},tr=(e,t,n)=>Jo(((e,t)=>t(e)),er,e,t,n),nr=(e,t)=>{const n=e=>{for(let o=0;o<e.childNodes.length;o++){const r=mn(e.childNodes[o]);if(t(r))return I.some(r);const s=n(e.childNodes[o]);if(s.isSome())return s}return I.none()};return n(e.dom)},or=(e,t,n)=>er(e,(e=>vn(e,t)),n),rr=(e,t)=>((e,t)=>{const n=void 0===t?document:t.dom;return yn(n)?I.none():I.from(n.querySelector(e)).map(mn)})(t,e),sr=(e,t,n)=>Jo(((e,t)=>vn(e,t)),or,e,t,n),ar=e=>void 0!==e.dom.classList,ir=e=>Qo(e,"class"),lr=(e,t)=>((e,t,n)=>{const o=Qo(e,t).concat([n]);return go(e,t,o.join(" ")),!0})(e,"class",t),dr=(e,t)=>((e,t,n)=>{const o=Y(Qo(e,t),(e=>e!==n));return o.length>0?go(e,t,o.join(" ")):yo(e,t),!1})(e,"class",t),cr=(e,t)=>{ar(e)?e.dom.classList.add(t):lr(e,t)},ur=e=>{0===(ar(e)?e.dom.classList:ir(e)).length&&yo(e,"class")},mr=(e,t)=>{ar(e)?e.dom.classList.remove(t):dr(e,t),ur(e)},fr=(e,t)=>ar(e)&&e.dom.classList.contains(t),gr=(e,t=!1)=>{return Oo(e)?e.dom.isContentEditable:(n=e,sr(n,"[contenteditable]")).fold(N(t),(e=>"true"===pr(e)));var n},pr=e=>e.dom.contentEditable,hr=(e,t)=>{e.dom.contentEditable=t?"true":"false"},br=(e,t)=>{let n=[];return q(Hn(e),(e=>{t(e)&&(n=n.concat([e])),n=n.concat(br(e,t))})),n},vr=(e,t)=>((e,t)=>{const n=void 0===t?document:t.dom;return yn(n)?[]:V(n.querySelectorAll(e),mn)})(t,e),yr=(e,t,n)=>er(e,t,n).isSome(),Cr=(e,t)=>((e,t)=>{const n=e.dom;return n.parentNode?((e,t)=>Q(e.dom.childNodes,(e=>t(mn(e)))).map(mn))(mn(n.parentNode),(n=>!Cn(e,n)&&t(n))):I.none()})(e,t).isSome(),wr=(e,t)=>nr(e,t).isSome(),Er=e=>w(e)?e:L,xr=(e,t,n)=>{const o=t(e),r=Er(n);return o.orThunk((()=>r(e)?I.none():((e,t,n)=>{let o=e.dom;const r=Er(n);for(;o.parentNode;){o=o.parentNode;const e=mn(o),n=t(e);if(n.isSome())return n;if(r(e))break}return I.none()})(e,t,r)))},_r=["img","br"],Sr=e=>{return(t=e,Xo.getOption(t)).filter((e=>0!==e.trim().length||e.indexOf(it)>-1)).isSome()||H(_r,xn(e))||(e=>kn(e)&&"false"===ho(e,"contenteditable"))(e);var t},kr=(e,t,n,o)=>({start:e,soffset:t,finish:n,foffset:o}),Nr=ke([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Rr={before:Nr.before,on:Nr.on,after:Nr.after,cata:(e,t,n,o)=>e.fold(t,n,o),getStart:e=>e.fold(R,R,R)},Ar=ke([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),Tr={domRange:Ar.domRange,relative:Ar.relative,exact:Ar.exact,exactFromRange:e=>Ar.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>mn(e.startContainer),relative:(e,t)=>Rr.getStart(e),exact:(e,t,n,o)=>e}))(e);return Dn(t)},range:kr},Or=(e,t)=>{const n=xn(e);return"input"===n?Rr.after(e):H(["br","img"],n)?0===t?Rr.before(e):Rr.after(e):Rr.on(e,t)},Br=(e,t)=>{const n=e.fold(Rr.before,Or,Rr.after),o=t.fold(Rr.before,Or,Rr.after);return Tr.relative(n,o)},Pr=(e,t,n,o)=>{const r=Or(e,t),s=Or(n,o);return Tr.relative(r,s)},Dr=e=>{const t=Tr.getWin(e).dom,n=(e,n,o,r)=>pn(t,e,n,o,r),o=(e=>e.match({domRange:e=>{const t=mn(e.startContainer),n=mn(e.endContainer);return Pr(t,e.startOffset,n,e.endOffset)},relative:Br,exact:Pr}))(e);return((e,t)=>{const n=((e,t)=>t.match({domRange:e=>({ltr:N(e),rtl:I.none}),relative:(t,n)=>({ltr:st((()=>gn(e,t,n))),rtl:st((()=>I.some(gn(e,n,t))))}),exact:(t,n,o,r)=>({ltr:st((()=>pn(e,t,n,o,r))),rtl:st((()=>I.some(pn(e,o,r,t,n))))})}))(e,t);return((e,t)=>{const n=t.ltr();return n.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>hn.rtl(mn(e.endContainer),e.endOffset,mn(e.startContainer),e.startOffset))).getOrThunk((()=>bn(0,hn.ltr,n))):bn(0,hn.ltr,n)})(0,n)})(t,o).match({ltr:n,rtl:n})},Lr=(e,t,n)=>((e,t,n)=>((e,t,n)=>e.caretPositionFromPoint?((e,t,n)=>{var o;return I.from(null===(o=e.caretPositionFromPoint)||void 0===o?void 0:o.call(e,t,n)).bind((t=>{if(null===t.offsetNode)return I.none();const n=e.createRange();return n.setStart(t.offsetNode,t.offset),n.collapse(),I.some(n)}))})(e,t,n):e.caretRangeFromPoint?((e,t,n)=>{var o;return I.from(null===(o=e.caretRangeFromPoint)||void 0===o?void 0:o.call(e,t,n))})(e,t,n):I.none())(e.document,t,n).map((e=>kr(mn(e.startContainer),e.startOffset,mn(e.endContainer),e.endOffset))))(e,t,n),Mr=(e,t,n,o)=>({x:e,y:t,width:n,height:o,right:e+n,bottom:t+o}),Ir=e=>{const t=void 0===e?window:e,n=t.document,o=qo(mn(n));return(e=>{const t=void 0===e?window:e;return Kt().browser.isFirefox()?I.none():I.from(t.visualViewport)})(t).fold((()=>{const e=t.document.documentElement,n=e.clientWidth,r=e.clientHeight;return Mr(o.left,o.top,n,r)}),(e=>Mr(Math.max(e.pageLeft,o.left),Math.max(e.pageTop,o.top),e.width,e.height)))};class Fr{constructor(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)}current(){return this.node}next(e){return this.node=this.findSibling(this.node,"firstChild","nextSibling",e),this.node}prev(e){return this.node=this.findSibling(this.node,"lastChild","previousSibling",e),this.node}prev2(e){return this.node=this.findPreviousNode(this.node,e),this.node}findSibling(e,t,n,o){if(e){if(!o&&e[t])return e[t];if(e!==this.rootNode){let t=e[n];if(t)return t;for(let o=e.parentNode;o&&o!==this.rootNode;o=o.parentNode)if(t=o[n],t)return t}}}findPreviousNode(e,t){if(e){const n=e.previousSibling;if(this.rootNode&&n===this.rootNode)return;if(n){if(!t)for(let e=n.lastChild;e;e=e.lastChild)if(!e.lastChild)return e;return n}const o=e.parentNode;if(o&&o!==this.rootNode)return o}}}const Ur=/^[ \t\r\n]*$/,zr=e=>Ur.test(e),jr=e=>"\n"===e||"\r"===e,Hr=(e,t=4,n=!0,o=!0)=>{const r=((e,t)=>t<=0?"":new Array(t+1).join(" "))(0,t),s=e.replace(/\t/g,r),a=G(s,((e,t)=>(e=>-1!==" \f\t\v".indexOf(e))(t)||t===it?e.pcIsSpace||""===e.str&&n||e.str.length===s.length-1&&o||((e,t)=>t<e.length&&t>=0&&jr(e[t]))(s,e.str.length+1)?{pcIsSpace:!1,str:e.str+it}:{pcIsSpace:!0,str:e.str+" "}:{pcIsSpace:jr(t),str:e.str+t}),{pcIsSpace:!1,str:""});return a.str},$r=e=>t=>!!t&&t.nodeType===e,Vr=e=>!!e&&!Object.getPrototypeOf(e),qr=$r(1),Wr=e=>qr(e)&&kn(mn(e)),Kr=e=>{const t=e.toLowerCase();return e=>C(e)&&e.nodeName.toLowerCase()===t},Yr=e=>{const t=e.map((e=>e.toLowerCase()));return e=>{if(e&&e.nodeName){const n=e.nodeName.toLowerCase();return H(t,n)}return!1}},Xr=(e,t)=>{const n=t.toLowerCase().split(" ");return t=>{if(qr(t)){const o=t.ownerDocument.defaultView;if(o)for(let r=0;r<n.length;r++){const s=o.getComputedStyle(t,null);if((s?s.getPropertyValue(e):null)===n[r])return!0}}return!1}},Gr=e=>qr(e)&&e.hasAttribute("data-mce-bogus"),Zr=e=>qr(e)&&"TABLE"===e.tagName,Qr=e=>t=>{if(Wr(t)){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1},Jr=Yr(["textarea","input"]),es=$r(3),ts=$r(4),ns=$r(7),os=$r(8),rs=$r(9),ss=$r(11),as=Kr("br"),is=Kr("img"),ls=Kr("a"),ds=Qr("true"),cs=Qr("false"),us=e=>Wr(e)&&e.isContentEditable&&C(e.parentElement)&&!e.parentElement.isContentEditable,ms=Yr(["td","th"]),fs=Yr(["td","th","caption"]),gs=Yr(["video","audio","object","embed"]),ps=Kr("li"),hs=Kr("details"),bs=Kr("summary"),vs={skipBogus:!0,includeZwsp:!1,checkRootAsContent:!1},ys=e=>qr(e)&&e.hasAttribute("data-mce-bookmark");const Cs=(e,t,n,o)=>es(e)&&!((e,t,n)=>zr(e.data)&&!((e,t,n)=>{const o=mn(t),r=mn(e),s=n.getWhitespaceElements();return yr(r,(e=>_e(s,xn(e))),T(Cn,o))})(e,t,n))(e,t,n)&&(!o.includeZwsp||!(e=>{for(const t of e)if(!lt(t))return!1;return!0})(e.data)),ws=(e,t,n,o)=>w(o.isContent)&&o.isContent(t)||((e,t)=>qr(e)&&_e(t.getNonEmptyElements(),e.nodeName))(t,e)||ys(t)||(e=>qr(e)&&"A"===e.nodeName&&!e.hasAttribute("href")&&(e.hasAttribute("name")||e.hasAttribute("id")))(t)||Cs(t,n,e,o)||cs(t)||ds(t)&&(e=>Mn(mn(e)).exists((e=>!gr(e))))(t),Es=(e,t,n)=>{const o={...vs,...n};if(o.checkRootAsContent&&ws(e,t,t,o))return!1;let r=t.firstChild,s=0;if(!r)return!0;const a=new Fr(r,t);do{if(o.skipBogus&&qr(r)){const e=r.getAttribute("data-mce-bogus");if(e){r=a.next("all"===e);continue}}if(os(r))r=a.next(!0);else if(as(r))s++,r=a.next();else{if(ws(e,r,t,o))return!1;r=a.next()}}while(r);return s<=1},xs=(e,t,n)=>Es(e,t.dom,{checkRootAsContent:!0,...n}),_s=(e,t,n)=>ws(e,t,t,{includeZwsp:vs.includeZwsp,...n}),Ss=e=>{const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":"html"},ks=e=>"html"!==Ss(e),Ns=e=>ks(e.nodeName),Rs=e=>Ss(e.nodeName),As=["svg","math"],Ts="data-mce-block",Os=e=>V((e=>Y(fe(e),(e=>!/[A-Z]/.test(e))))(e),(e=>{const t=CSS.escape(e);return`${t}:`+V(As,(e=>`not(${e} ${t})`)).join(":")})).join(","),Bs=(e,t)=>C(t.querySelector(e))?(t.setAttribute(Ts,"true"),"inline-boundary"===t.getAttribute("data-mce-selected")&&t.removeAttribute("data-mce-selected"),!0):(t.removeAttribute(Ts),!1),Ps=(e,t)=>{const n=Os(e.getTransparentElements()),o=Os(e.getBlockElements());return Y(t.querySelectorAll(n),(e=>Bs(o,e)))},Ds=(e,t,n)=>{var o;const r=n?"lastChild":"firstChild";for(let n=t[r];n;n=n[r])if(Es(e,n,{checkRootAsContent:!0}))return void(null===(o=n.parentNode)||void 0===o||o.removeChild(n))},Ls=(e,t,n)=>{const o=e.getBlockElements(),r=mn(t),s=e=>xn(e)in o,a=e=>Cn(e,r);q(No(n),(t=>{er(t,s,a).each((n=>{const o=(t=>Y(Hn(t),(t=>s(t)&&!e.isValidChild(xn(n),xn(t)))))(t);if(o.length>0){const t=Mn(n);q(o,(t=>{er(t,s,a).each((n=>{((e,t,n)=>{const o=document.createRange(),r=t.parentNode;if(r){o.setStartBefore(t),o.setEndBefore(n);const s=o.extractContents();Ds(e,s,!0),o.setStartAfter(n),o.setEndAfter(t);const a=o.extractContents();Ds(e,a,!1),Es(e,s,{checkRootAsContent:!0})||r.insertBefore(s,t),Es(e,n,{checkRootAsContent:!0})||r.insertBefore(n,t),Es(e,a,{checkRootAsContent:!0})||r.insertBefore(a,t),r.removeChild(t)}})(e,n.dom,t.dom)}))})),t.each((t=>Ps(e,t.dom)))}}))}))},Ms=(e,t)=>{const n=Ps(e,t);Ls(e,t,n),((e,t,n)=>{q([...n,...js(e,t)?[t]:[]],(t=>q(vr(mn(t),t.nodeName.toLowerCase()),(t=>{Hs(e,t.dom)&&xo(t)}))))})(e,t,n)},Is=(e,t)=>{if(zs(e,t)){const n=Os(e.getBlockElements());Bs(n,t)}},Fs=e=>e.hasAttribute(Ts),Us=(e,t)=>_e(e.getTransparentElements(),t),zs=(e,t)=>qr(t)&&Us(e,t.nodeName),js=(e,t)=>zs(e,t)&&Fs(t),Hs=(e,t)=>zs(e,t)&&!Fs(t),$s=(e,t)=>1===t.type&&Us(e,t.name)&&m(t.attr(Ts)),Vs=Kt().browser,qs=e=>Q(e,Nn),Ws=(e,t)=>e.children&&H(e.children,t),Ks=(e,t={})=>{let n=0;const o={},r=mn(e),s=Pn(r),a=e=>{co(Xn(r),e)},i=e=>{const t=Xn(r);rr(t,"#"+e).each(Eo)},l=e=>xe(o,e).getOrThunk((()=>({id:"mce-u"+n++,passed:[],failed:[],count:0}))),d=e=>new Promise(((n,r)=>{let i;const d=an._addCacheSuffix(e),c=l(d);o[d]=c,c.count++;const u=(e,t)=>{q(e,D),c.status=t,c.passed=[],c.failed=[],i&&(i.onload=null,i.onerror=null,i=null)},m=()=>u(c.passed,2),f=()=>u(c.failed,3);if(n&&c.passed.push(n),r&&c.failed.push(r),1===c.status)return;if(2===c.status)return void m();if(3===c.status)return void f();c.status=1;const g=cn("link",s.dom);po(g,{rel:"stylesheet",type:"text/css",id:c.id}),t.contentCssCors&&go(g,"crossOrigin","anonymous"),t.referrerPolicy&&go(g,"referrerpolicy",t.referrerPolicy),i=g.dom,i.onload=m,i.onerror=f,a(g),go(g,"href",d)})),c=e=>{const t=an._addCacheSuffix(e);xe(o,t).each((e=>{0==--e.count&&(delete o[t],i(e.id))}))};return{load:d,loadRawCss:(e,t)=>{const n=l(e);o[e]=n,n.count++;const r=cn("style",s.dom);po(r,{rel:"stylesheet",type:"text/css",id:n.id,"data-mce-key":e}),r.dom.innerHTML=t,a(r)},loadAll:e=>Promise.allSettled(V(e,(e=>d(e).then(N(e))))).then((e=>{const t=K(e,(e=>"fulfilled"===e.status));return t.fail.length>0?Promise.reject(V(t.fail,(e=>e.reason))):V(t.pass,(e=>e.value))})),unload:c,unloadRawCss:e=>{xe(o,e).each((t=>{0==--t.count&&(delete o[e],i(t.id))}))},unloadAll:e=>{q(e,(e=>{c(e)}))},_setReferrerPolicy:e=>{t.referrerPolicy=e},_setContentCssCors:e=>{t.contentCssCors=e}}},Ys=(()=>{const e=new WeakMap;return{forElement:(t,n)=>{const o=Yn(t).dom;return I.from(e.get(o)).getOrThunk((()=>{const t=Ks(o,n);return e.set(o,t),t}))}}})(),Xs=(e,t)=>C(e)&&(_s(t,e)||t.isInline(e.nodeName.toLowerCase())),Gs=e=>(e=>"span"===e.nodeName.toLowerCase())(e)&&"bookmark"===e.getAttribute("data-mce-type"),Zs=(e,t,n,o)=>{var r;const s=o||t;if(qr(t)&&Gs(t))return t;const a=t.childNodes;for(let t=a.length-1;t>=0;t--)Zs(e,a[t],n,s);if(qr(t)){const e=t.childNodes;1===e.length&&Gs(e[0])&&(null===(r=t.parentNode)||void 0===r||r.insertBefore(e[0],t))}return(e=>ss(e)||rs(e))(t)||_s(n,t)||(e=>!!qr(e)&&e.childNodes.length>0)(t)||((e,t,n)=>es(e)&&e.data.length>0&&((e,t,n)=>{const o=new Fr(e,t).prev(!1),r=new Fr(e,t).next(!1),s=v(o)||Xs(o,n),a=v(r)||Xs(r,n);return s&&a})(e,t,n))(t,s,n)||e.remove(t),t},Qs=an.makeMap,Js=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ea=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ta=/[<>&\"\']/g,na=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,oa={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"},ra={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},sa={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},aa=(e,t)=>{const n={};if(e){const o=e.split(",");t=t||10;for(let e=0;e<o.length;e+=2){const r=String.fromCharCode(parseInt(o[e],t));if(!ra[r]){const t="&"+o[e+1]+";";n[r]=t,n[t]=r}}return n}},ia=aa("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),la=(e,t)=>e.replace(t?Js:ea,(e=>ra[e]||e)),da=(e,t)=>e.replace(t?Js:ea,(e=>e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":ra[e]||"&#"+e.charCodeAt(0)+";")),ca=(e,t,n)=>{const o=n||ia;return e.replace(t?Js:ea,(e=>ra[e]||o[e]||e))},ua={encodeRaw:la,encodeAllRaw:e=>(""+e).replace(ta,(e=>ra[e]||e)),encodeNumeric:da,encodeNamed:ca,getEncodeFunc:(e,t)=>{const n=aa(t)||ia,o=Qs(e.replace(/\+/g,","));return o.named&&o.numeric?(e,t)=>e.replace(t?Js:ea,(e=>void 0!==ra[e]?ra[e]:void 0!==n[e]?n[e]:e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":"&#"+e.charCodeAt(0)+";")):o.named?t?(e,t)=>ca(e,t,n):ca:o.numeric?da:la},decode:e=>e.replace(na,((e,t)=>t?(t="x"===t.charAt(0).toLowerCase()?parseInt(t.substr(1),16):parseInt(t,10))>65535?(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))):oa[t]||String.fromCharCode(t):sa[e]||ia[e]||(e=>{const t=cn("div").dom;return t.innerHTML=e,t.textContent||t.innerText||e})(e)))},ma=(e,t)=>(e=an.trim(e))?e.split(t||" "):[],fa=e=>new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$"),ga=e=>Object.freeze(["id","accesskey","class","dir","lang","style","tabindex","title","role",..."html4"!==e?["contenteditable","contextmenu","draggable","dropzone","hidden","spellcheck","translate","itemprop","itemscope","itemtype"]:[],..."html5-strict"!==e?["xml:lang"]:[]]),pa=e=>{let t,n;t="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",n="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&&(t+=" article aside details dialog figure main header footer hgroup section nav a ins del canvas map",n+=" audio canvas command data datalist mark meter output picture progress time wbr video ruby bdi keygen svg"),"html5-strict"!==e&&(n=[n,"acronym applet basefont big font strike tt"].join(" "),t=[t,"center dir isindex noframes"].join(" "));const o=[t,n].join(" ");return{blockContent:t,phrasingContent:n,flowContent:o}},ha=e=>{const{blockContent:t,phrasingContent:n,flowContent:o}=pa(e),r=e=>Object.freeze(e.split(" "));return Object.freeze({blockContent:r(t),phrasingContent:r(n),flowContent:r(o)})},ba={html4:st((()=>ha("html4"))),html5:st((()=>ha("html5"))),"html5-strict":st((()=>ha("html5-strict")))},va=(e,t)=>{const{blockContent:n,phrasingContent:o,flowContent:r}=ba[e]();return"blocks"===t?I.some(n):"phrasing"===t?I.some(o):"flow"===t?I.some(r):I.none()},ya=e=>I.from(/^(@?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)$/.exec(e)).map((e=>({preset:"@"===e[1],name:e[2]}))),Ca={},wa=an.makeMap,Ea=an.each,xa=an.extend,_a=an.explode,Sa=(e,t={})=>{const n=wa(e," ",wa(e.toUpperCase()," "));return xa(n,t)},ka=e=>Sa("td th li dt dd figcaption caption details summary",e.getTextBlockElements()),Na=(e,t)=>{if(e){const n={};return m(e)&&(e={"*":e}),Ea(e,((e,o)=>{n[o]=n[o.toUpperCase()]="map"===t?wa(e,/[, ]/):_a(e,/[, ]/)})),n}},Ra=(e={})=>{var t;const n={},o={};let r=[];const s={},a={},i=(t,n,o)=>{const r=e[t];if(r)return wa(r,/[, ]/,wa(r.toUpperCase(),/[, ]/));{let e=Ca[t];return e||(e=Sa(n,o),Ca[t]=e),e}},l=null!==(t=e.schema)&&void 0!==t?t:"html5",d=(e=>{const t=ga(e),{phrasingContent:n,flowContent:o}=pa(e),r={},s=(e,t,n)=>{r[e]={attributes:se(t,N({})),attributesOrder:t,children:se(n,N({}))}},a=(e,n="",o="")=>{const r=ma(o),a=ma(e);let i=a.length;const l=[...t,...ma(n)];for(;i--;)s(a[i],l.slice(),r)},i=(e,t)=>{const n=ma(e),o=ma(t);let s=n.length;for(;s--;){const e=r[n[s]];for(let t=0,n=o.length;t<n;t++)e.attributes[o[t]]={},e.attributesOrder.push(o[t])}};return"html5-strict"!==e&&(q(ma("acronym applet basefont big font strike tt"),(e=>{a(e,"",n)})),q(ma("center dir isindex noframes"),(e=>{a(e,"",o)}))),a("html","manifest","head body"),a("head","","base command link meta noscript script style title"),a("title hr noscript br"),a("base","href target"),a("link","href rel media hreflang type sizes hreflang"),a("meta","name http-equiv content charset"),a("style","media type scoped"),a("script","src async defer type charset"),a("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",o),a("dd div","",o),a("address dt caption","","html4"===e?n:o),a("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","",n),a("blockquote","cite",o),a("ol","reversed start type","li"),a("ul","","li"),a("li","value",o),a("dl","","dt dd"),a("a","href target rel media hreflang type","html4"===e?n:o),a("q","cite",n),a("ins del","cite datetime",o),a("img","src sizes srcset alt usemap ismap width height"),a("iframe","src name width height",o),a("embed","src type width height"),a("object","data type typemustmatch name usemap form width height",[o,"param"].join(" ")),a("param","name value"),a("map","name",[o,"area"].join(" ")),a("area","alt coords shape href target rel media hreflang type"),a("table","border","caption colgroup thead tfoot tbody tr"+("html4"===e?" col":"")),a("colgroup","span","col"),a("col","span"),a("tbody thead tfoot","","tr"),a("tr","","td th"),a("td","colspan rowspan headers",o),a("th","colspan rowspan headers scope abbr",o),a("form","accept-charset action autocomplete enctype method name novalidate target",o),a("fieldset","disabled form name",[o,"legend"].join(" ")),a("label","form for",n),a("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"),a("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"===e?o:n),a("select","disabled form multiple name required size","option optgroup"),a("optgroup","disabled label","option"),a("option","disabled label selected value"),a("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),a("menu","type label",[o,"li"].join(" ")),a("noscript","",o),"html4"!==e&&(a("wbr"),a("ruby","",[n,"rt rp"].join(" ")),a("figcaption","",o),a("mark rt rp bdi","",n),a("summary","",[n,"h1 h2 h3 h4 h5 h6"].join(" ")),a("canvas","width height",o),a("data","value",n),a("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[o,"track source"].join(" ")),a("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[o,"track source"].join(" ")),a("picture","","img source"),a("source","src srcset type media sizes"),a("track","kind src srclang label default"),a("datalist","",[n,"option"].join(" ")),a("article section nav aside main header footer","",o),a("hgroup","","h1 h2 h3 h4 h5 h6"),a("figure","",[o,"figcaption"].join(" ")),a("time","datetime",n),a("dialog","open",o),a("command","type label icon disabled checked radiogroup command"),a("output","for form name",n),a("progress","value max",n),a("meter","value min max low high optimum",n),a("details","open",[o,"summary"].join(" ")),a("keygen","autofocus challenge disabled form keytype name"),s("svg","id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform".split(" "),[])),"html5-strict"!==e&&(i("script","language xml:space"),i("style","xml:space"),i("object","declare classid code codebase codetype archive standby align border hspace vspace"),i("embed","align name hspace vspace"),i("param","valuetype type"),i("a","charset name rev shape coords"),i("br","clear"),i("applet","codebase archive code object alt name width height align hspace vspace"),i("img","name longdesc align border hspace vspace"),i("iframe","longdesc frameborder marginwidth marginheight scrolling align"),i("font basefont","size color face"),i("input","usemap align"),i("select"),i("textarea"),i("h1 h2 h3 h4 h5 h6 div p legend caption","align"),i("ul","type compact"),i("li","type"),i("ol dl menu dir","compact"),i("pre","width xml:space"),i("hr","align noshade size width"),i("isindex","prompt"),i("table","summary width frame rules cellspacing cellpadding align bgcolor"),i("col","width align char charoff valign"),i("colgroup","width align char charoff valign"),i("thead","align char charoff valign"),i("tr","align char charoff valign bgcolor"),i("th","axis align char charoff valign nowrap bgcolor width height"),i("form","accept"),i("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),i("tfoot","align char charoff valign"),i("tbody","align char charoff valign"),i("area","nohref"),i("body","background bgcolor text link vlink alink")),"html4"!==e&&(i("input button select textarea","autofocus"),i("input textarea","placeholder"),i("a","download"),i("link script img","crossorigin"),i("img","loading"),i("iframe","sandbox seamless allow allowfullscreen loading referrerpolicy")),"html4"!==e&&q([r.video,r.audio],(e=>{delete e.children.audio,delete e.children.video})),q(ma("a form meter progress dfn"),(e=>{r[e]&&delete r[e].children[e]})),delete r.caption.children.table,delete r.script,r})(l);!1===e.verify_html&&(e.valid_elements="*[*]");const c=Na(e.valid_styles),u=Na(e.invalid_styles,"map"),g=Na(e.valid_classes,"map"),h=i("whitespace_elements","pre script noscript style textarea video audio iframe object code"),v=i("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),y=i("void_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),C=i("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls allowfullscreen"),w="td th iframe video audio object script code",E=i("non_empty_elements",w+" pre svg textarea summary",y),x=i("move_caret_before_on_enter_elements",w+" table",y),_="h1 h2 h3 h4 h5 h6",S=i("text_block_elements",_+" p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"),k=i("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 html body multicol listing",S),R=i("text_inline_elements","span strong b em i font s strike u var cite dfn code mark q sup sub samp"),A=i("transparent_elements","a ins del canvas map"),T=i("wrap_block_elements","pre "+_);Ea("script noscript iframe noframes noembed title style textarea xmp plaintext".split(" "),(e=>{a[e]=new RegExp("</"+e+"[^>]*>","gi")}));const O=e=>{const t=I.from(n["@"]),o=/[*?+]/;q(((e,t)=>{const n=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)])?$/;return te(ma(t,","),(t=>{const o=n.exec(t);if(o){const t=o[1],n=o[2],r=o[3],s=o[4],a=o[5],i={attributes:{},attributesOrder:[]};if(e.each((e=>((e,t)=>{pe(e.attributes,((e,n)=>{t.attributes[n]=e})),t.attributesOrder.push(...e.attributesOrder)})(e,i)))