!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),y=function(){for(var e=[],t=0;tn.maxRow()||sn.maxCol()||(Jt.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=de.fromTag("td"),fn(u,de.fromTag("br")),(o?fn:ln)(i,u)):f=!0)}(m,g,p,d),o=e,f=p,s=P(mt.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),N(s,pn),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||N(mt.firstLayer(o,"th,td"),function(e){Dt(e,"rowspan"),Dt(e,"colspan")}),Dt(o,"width"),Dt(o,"height"),un(o,"width"),un(o,"height"),e},wn=function(e,t){return de.fromDom(e.dom().cloneNode(t))},yn=function(e){return wn(e,!1)},xn=function(e){return wn(e,!0)},Cn=function(e,t){var n,r,o,i,u=(n=e,r=t,o=de.fromTag(r),i=Ot(n),St(o,i),o),c=ft(xn(e));return mn(u,c),u},Sn=function fs(n,r){var o=function(e){return n(e)?S.from(e.dom().nodeValue):S.none()},e=tt.detect().browser,t=e.isIE()&&10===e.version.major?function(e){try{return o(e)}catch(t){return S.none()}}:o;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}}}(wt,"text"),Rn=function(e){return Sn.get(e)},Tn=function(e){return Sn.getOption(e)},Dn=function(e,t){Sn.set(e,t)},On=function(e){return"img"===gt(e)?1:Tn(e).fold(function(){return ft(e).length},function(e){return e.length})},An=["img","br"],En=function(e){return Tn(e).filter(function(e){return 0!==e.trim().length||-1=e.startCol()&&t.column()+t.colspan()-1<=e.finishCol()&&t.row()>=e.startRow()&&t.row()+t.rowspan()-1<=e.finishRow()},ar=function(e,t){var n=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return n<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},lr=function(e,t){for(var n=!0,r=b(cr,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&Jt.getAt(e,o,i).exists(r);return n?S.some(t):S.none()},fr=function(e,t,n){var r=Jt.findItem(e,t,nt),o=Jt.findItem(e,n,nt);return r.bind(function(r){return o.map(function(e){return t=r,n=e,fe.bounds(Math.min(t.row(),n.row()),Math.min(t.column(),n.column()),Math.max(t.row()+t.rowspan()-1,n.row()+n.rowspan()-1),Math.max(t.column()+t.colspan()-1,n.column()+n.colspan()-1));var t,n})})},sr=fr,dr=function(t,e,n){return fr(t,e,n).bind(function(e){return lr(t,e)})},mr=function(r,e,o,i){return Jt.findItem(r,e,nt).bind(function(e){var t=0=t.length-1)return S.none();var e=t[n].fold(function(){var e=U(t.slice(0,n));return ni(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:0})}),r=t[n+1].fold(function(){var e=t.slice(n+1);return ni(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:1})});return e.bind(function(n){return r.map(function(e){var t=e.delta+n.delta;return Math.abs(e.value-n.value)/t})})},hi=function(e,t,n){var r=e();return M(r,t).orThunk(function(){return S.from(r[0]).orThunk(n)}).map(function(e){return e.element()})},vi=function(n){var e=n.grid(),t=gi(0,e.columns()),r=gi(0,e.rows());return k(t,function(t){return hi(function(){return z(r,function(e){return Jt.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return Jt.getAt(n,0,t)})})},bi=function(n){var e=n.grid(),t=gi(0,e.rows()),r=gi(0,e.columns());return k(t,function(t){return hi(function(){return z(r,function(e){return Jt.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return Jt.getAt(n,t,0)})})},wi=function(e,t,n,r,o){var i=de.fromTag("div");return tn(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),St(i,{"data-column":e,role:"presentation"}),i},yi=function(e,t,n,r,o){var i=de.fromTag("div");return tn(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),St(i,{"data-row":e,role:"presentation"}),i},xi=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},Ci={resolve:xi("ephox-snooker").resolve},Si=function(e,t){var n=Rt(e,t);return n===undefined||""===n?[]:n.split(" ")},Ri=function(e){return e.dom().classList!==undefined},Ti=function(e,t){return o=t,i=Si(n=e,r="class").concat([o]),Ct(n,r,i.join(" ")),!0;var n,r,o,i},Di=function(e,t){return o=t,0<(i=P(Si(n=e,r="class"),function(e){return e!==o})).length?Ct(n,r,i.join(" ")):Dt(n,r),!1;var n,r,o,i},Oi=function(e,t){Ri(e)?e.dom().classList.add(t):Ti(e,t)},Ai=function(e){0===(Ri(e)?e.dom().classList:Si(e,"class")).length&&Dt(e,"class")},Ei=function(e,t){return Ri(e)&&e.dom().classList.contains(t)},ki=Ci.resolve("resizer-bar"),Ni=Ci.resolve("resizer-rows"),Pi=Ci.resolve("resizer-cols"),Ii=function(e){var t=Bt(e.parent(),"."+ki);N(t,pn)},Bi=function(n,e,r){var o=n.origin();N(e,function(e,t){e.each(function(e){var t=r(o,e);Oi(t,ki),fn(n.parent(),t)})})},Mi=function(e,t,n,r,o,i){var u,c,a,l,f=ho(t),s=0=t.length||e.column()>ii.cellLength(t[0]))return Ji.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=t.slice(e.row()),o=r[0].cells().slice(e.column()),i=ii.cellLength(n[0]),u=n.length;return Ji.value({rowDelta:C(r.length-u),colDelta:C(o.length-i)})},nu=function(e,t){var n=ii.cellLength(e[0]),r=ii.cellLength(t[0]);return{rowDelta:C(0),colDelta:C(n-r)}},ru=function(e,t,n){var r=t.colDelta()<0?eu:o;return(t.rowDelta()<0?Zi:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},ou=function(e,t,n,r){if(0===e.length)return e;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)ii.mutateCell(e[o],i,fe.elementnew(r(),!1));return e},iu=function(e,t,n,r){for(var o=!0,i=0;i',t.insertBefore(r,t.firstChild)),""===i.align?Pc(e,t):kc(e,t,i.align),e.focus(),e.addVisual()})},ma=function(t,e){var n,r=t.dom,o=Gc(t,wc(t));!1===e?(n=r.getParent(t.selection.getStart(),"table"))?o=Uc(t,n,wc(t)):wc(t)&&Ec.extend(o,{borderstyle:"",bordercolor:"",backgroundcolor:""}):(Ec.extend(o,{cols:"1",rows:"1"}),wc(t)&&Ec.extend(o,{borderstyle:"",bordercolor:"",backgroundcolor:""}));var i=0=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},fl=function(n,r,e,t,o){var i=function(e){var t=n.dom().createRange();return t.setStart(r.dom(),e),t.collapse(!0),t},u=Rn(r).length,c=function(e,t,n,r,o){if(0===o)return 0;if(t===r)return o-1;for(var i=r,u=1;u ("+e.right()+", "+e.bottom()+")"}},Ql=function(e){return Jl.nu({left:e.left,top:e.top,right:e.right,bottom:e.bottom})},Zl=function(e,t){return S.some(e.getRect(t))},ef=function(e,t,n){return bt(t)?Zl(e,t).map(Ql):wt(t)?(r=e,o=t,i=n,0<=i&&in.right();var t,n})});var n,o,i},Cf={point:Jl.getTop,adjuster:function(e,t,n,r,o){var i=Jl.moveUp(o,5);return Math.abs(n.top()-r.top())<1?yf.retry(i):n.bottom()o.bottom()?yf.retry(i):n.top()===o.bottom()?yf.retry(Jl.moveDown(o,1)):xf(e,t,o)?yf.retry(Jl.translate(i,5,0)):yf.none()},move:Jl.moveDown,gather:wf.after},Rf=function(n,r,o,i,u){return 0===u?S.some(i):(a=n,l=i.left(),f=r.point(i),a.elementFromPoint(l,f).filter(function(e){return"table"===gt(e)}).isSome()?(t=i,c=u-1,Rf(n,e=r,o,e.move(t,5),c)):n.situsFromPoint(i.left(),r.point(i)).bind(function(e){return e.start().fold(S.none,function(t,e){return tf(n,t,e).bind(function(e){return r.adjuster(n,t,e,o,i).fold(S.none,function(e){return Rf(n,r,o,e,u-1)})}).orThunk(function(){return S.some(i)})},S.none)}));var e,t,c,a,l,f},Tf=function(t,n,e){var r,o,i,u=t.move(e,5),c=Rf(n,t,e,u,100).getOr(u);return(r=t,o=c,i=n,r.point(o)>i.getInnerHeight()?S.some(r.point(o)-i.getInnerHeight()):r.point(o)<0?S.some(-r.point(o)):S.none()).fold(function(){return n.situsFromPoint(c.left(),t.point(c))},function(e){return n.scrollBy(0,e),n.situsFromPoint(c.left(),t.point(c)-e)})},Df={tryUp:b(Tf,Cf),tryDown:b(Tf,Sf),ieTryUp:function(e,t){return e.situsFromPoint(t.left(),t.top()-5)},ieTryDown:function(e,t){return e.situsFromPoint(t.left(),t.bottom()+5)},getJumpSize:C(5)},Of=Br([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Af=function(e){return zt(e,"tr")},Ef={verify:function(c,e,t,n,r,a,o){return zt(n,"td,th",o).bind(function(u){return zt(e,"td,th",o).map(function(i){return nt(u,i)?nt(n,u)&&On(u)===r?a(i):Of.none("in same cell"):ur.sharedOne(Af,[u,i]).fold(function(){return t=i,n=u,r=(e=c).getRect(t),(o=e.getRect(n)).right>r.left&&o.left