1599. Araxis Merge File Comparison Report

Produced by Araxis Merge on 2/1/2017 2:57:58 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

1599.1 Files compared

# Location File Last Modified
1 C:\Araxis_Merge_Comprasion\Pub_un\BTSSS_CIF_122016.zip\BTSSS_CIF_12_20_16\clean\CRM Portal\trunk\BTSSSPortal\js\ckeditor ckeditor.js Tue Dec 20 19:50:42 2016 UTC
2 Wed Feb 1 19:57:58 2017 UTC

1599.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 0 0
Removed 1 1025

1599.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

1599.4 Active regular expressions

No regular expressions were active.

1599.5 Comparison detail

1   /*        
2   This softw are is cov ered by CK Editor Com mercial Li cense. Usa ge without  proper li cense is p rohibited.        
3   Copyright  (c) 2003-2 015, CKSou rce - Fred erico Knab ben. All r ights rese rved.        
4   */        
5   (function( ){window.C KEDITOR&&w indow.CKED ITOR.dom|| (window.CK EDITOR||(w indow.CKED ITOR=funct ion(){var  a=/(^|.*[\ \\/])ckedi tor\.js(?: \?.*|;.*)? $/i,e={tim estamp:"FB OG",versio n:"4.5.3", revision:" 6c70c82",r nd:Math.fl oor(900*Ma th.random( ))+100,_:{ pending:[] ,basePathS rcPattern: a},status: "unloaded" ,basePath: function() {var b=win dow.CKEDIT OR_BASEPAT H||"";if(! b)for(var  c=document .getElemen tsByTagNam e("script" ),e=0;e<c. length;e++ ){var f=c[ e].src.mat ch(a);if(f ){b=f[1];b reak}}-1== b.indexOf( ":/")&&"// "!=b.slice (0,        
6   2)&&(b=0== =b.indexOf ("/")?loca tion.href. match(/^.* ?:\/\/[^\/ ]*/)[0]+b: location.h ref.match( /^[^\?]*\/ (?:)/)[0]+ b);if(!b)t hrow'The C KEditor in stallation  path coul d not be a utomatical ly detecte d. Please  set the gl obal varia ble "CKEDI TOR_BASEPA TH" before  creating  editor ins tances.';r eturn b}() ,getUrl:fu nction(a){ -1==a.inde xOf(":/")& &0!==a.ind exOf("/")& &(a=this.b asePath+a) ;this.time stamp&&"/" !=a.charAt (a.length- 1)&&!/[&?] t=/.test(a )&&(a+=(0< =a.indexOf ("?")?"\x2 6":"?")+"t \x3d"+this .timestamp );return a },        
7   domReady:f unction(){ function a (){try{doc ument.addE ventListen er?(docume nt.removeE ventListen er("DOMCon tentLoaded ",a,!1),b( )):documen t.attachEv ent&&"comp lete"===do cument.rea dyState&&( document.d etachEvent ("onreadys tatechange ",a),b())} catch(f){} }function  b(){for(va r a;a=c.sh ift();)a() }var c=[]; return fun ction(f){f unction b( ){try{docu ment.docum entElement .doScroll( "left")}ca tch(g){set Timeout(b, 1);return} a()}c.push (f);"compl ete"===doc ument.read yState&&se tTimeout(a ,1);if(1== c.length)i f(document .addEventL istener)do cument.add EventListe ner("DOMCo ntentLoade d",        
8   a,!1),wind ow.addEven tListener( "load",a,! 1);else if (document. attachEven t){documen t.attachEv ent("onrea dystatecha nge",a);wi ndow.attac hEvent("on load",a);f =!1;try{f= !window.fr ameElement }catch(h){ }document. documentEl ement.doSc roll&&f&&b ()}}}()},b =window.CK EDITOR_GET URL;if(b){ var c=e.ge tUrl;e.get Url=functi on(a){retu rn b.call( e,a)||c.ca ll(e,a)}}r eturn e}() ),CKEDITOR .event||(C KEDITOR.ev ent=functi on(){},CKE DITOR.even t.implemen tOn=functi on(a){var  e=CKEDITOR .event.pro totype,b;f or(b in e) null==a[b] &&(a[b]=e[ b])},        
9   CKEDITOR.e vent.proto type=funct ion(){func tion a(a){ var d=e(th is);return  d[a]||(d[ a]=new b(a ))}var e=f unction(a) {a=a.getPr ivate&&a.g etPrivate( )||a._||(a ._={});ret urn a.even ts||(a.eve nts={})},b =function( a){this.na me=a;this. listeners= []};b.prot otype={get ListenerIn dex:functi on(a){for( var b=0,e= this.liste ners;b<e.l ength;b++) if(e[b].fn ==a)return  b;return- 1}};return {define:fu nction(b,d ){var e=a. call(this, b);CKEDITO R.tools.ex tend(e,d,! 0)},on:fun ction(b,d, e,m,f){fun ction l(g, a,f,l){g={ name:b,sen der:this,e ditor:g,        
10   data:a,lis tenerData: m,stop:f,c ancel:l,re moveListen er:h};retu rn!1===d.c all(e,g)?! 1:g.data}f unction h( ){n.remove Listener(b ,d)}var g= a.call(thi s,b);if(0> g.getListe nerIndex(d )){g=g.lis teners;e|| (e=this);i sNaN(f)&&( f=10);var  n=this;l.f n=d;l.prio rity=f;for (var r=g.l ength-1;0< =r;r--)if( g[r].prior ity<=f)ret urn g.spli ce(r+1,0,l ),{removeL istener:h} ;g.unshift (l)}return {removeLis tener:h}}, once:funct ion(){var  a=Array.pr ototype.sl ice.call(a rguments), b=a[1];a[1 ]=function (a){a.remo veListener ();return  b.apply(th is,        
11   arguments) };return t his.on.app ly(this,a) },capture: function() {CKEDITOR. event.useC apture=1;v ar a=this. on.apply(t his,argume nts);CKEDI TOR.event. useCapture =0;return  a},fire:fu nction(){v ar a=0,b=f unction(){ a=1},k=0,m =function( ){k=1};ret urn functi on(f,l,h){ var g=e(th is)[f];f=a ;var n=k;a =k=0;if(g) {var r=g.l isteners;i f(r.length )for(var r =r.slice(0 ),t,q=0;q< r.length;q ++){if(g.e rrorProof) try{t=r[q] .call(this ,h,l,b,m)} catch(p){} else t=r[q ].call(thi s,h,l,b,m) ;!1===t?k= 1:"undefin ed"!=typeo f t&&(l=t) ;if(a||k)b reak}}l=        
12   k?!1:"unde fined"==ty peof l?!0: l;a=f;k=n; return l}} (),fireOnc e:function (a,b,k){b= this.fire( a,b,k);del ete e(this )[a];retur n b},remov eListener: function(a ,b){var k= e(this)[a] ;if(k){var  m=k.getLi stenerInde x(b);0<=m& &k.listene rs.splice( m,1)}},rem oveAllList eners:func tion(){var  a=e(this) ,b;for(b i n a)delete  a[b]},has Listeners: function(a ){return(a =e(this)[a ])&&0<a.li steners.le ngth}}}()) ,CKEDITOR. editor||(C KEDITOR.ed itor=funct ion(){CKED ITOR._.pen ding.push( [this,argu ments]);CK EDITOR.eve nt.call(th is)},CKEDI TOR.editor .prototype .fire=        
13   function(a ,e){a in{i nstanceRea dy:1,loade d:1}&&(thi s[a]=!0);r eturn CKED ITOR.event .prototype .fire.call (this,a,e, this)},CKE DITOR.edit or.prototy pe.fireOnc e=function (a,e){a in {instanceR eady:1,loa ded:1}&&(t his[a]=!0) ;return CK EDITOR.eve nt.prototy pe.fireOnc e.call(thi s,a,e,this )},CKEDITO R.event.im plementOn( CKEDITOR.e ditor.prot otype)),CK EDITOR.env ||(CKEDITO R.env=func tion(){var  a=navigat or.userAge nt.toLower Case(),e=a .match(/ed ge[ \/](\d +.?\d*)/), b=-1<a.ind exOf("trid ent/"),b=! (!e&&!b),b ={ie:b,edg e:!!e,webk it:!b&&        
14   -1<a.index Of(" apple webkit/"), air:-1<a.i ndexOf(" a dobeair/") ,mac:-1<a. indexOf("m acintosh") ,quirks:"B ackCompat" ==document .compatMod e&&(!docum ent.docume ntMode||10 >document. documentMo de),mobile :-1<a.inde xOf("mobil e"),iOS:/( ipad|iphon e|ipod)/.t est(a),isC ustomDomai n:function (){if(!thi s.ie)retur n!1;var a= document.d omain,b=wi ndow.locat ion.hostna me;return  a!=b&&a!=" ["+b+"]"}, secure:"ht tps:"==loc ation.prot ocol};b.ge cko="Gecko "==navigat or.product &&!b.webki t&&!b.ie;b .webkit&&( -1<a.index Of("chrome ")?b.chrom e=        
15   !0:b.safar i=!0);var  c=0;b.ie&& (c=e?parse Float(e[1] ):b.quirks ||!documen t.document Mode?parse Float(a.ma tch(/msie  (\d+)/)[1] ):document .documentM ode,b.ie9C ompat=9==c ,b.ie8Comp at=8==c,b. ie7Compat= 7==c,b.ie6 Compat=7>c ||b.quirks );b.gecko& &(e=a.matc h(/rv:([\d \.]+)/))&& (e=e[1].sp lit("."),c =1E4*e[0]+ 100*(e[1]| |0)+1*(e[2 ]||0));b.a ir&&(c=par seFloat(a. match(/ ad obeair\/(\ d+)/)[1])) ;b.webkit& &(c=parseF loat(a.mat ch(/ apple webkit\/(\ d+)/)[1])) ;b.version =c;b.isCom patible=!( b.ie&&7>c) &&!(b.geck o&&4E4>c)& &!(b.webki t&&        
16   534>c);b.h idpi=2<=wi ndow.devic ePixelRati o;b.needsB rFiller=b. gecko||b.w ebkit||b.i e&&10<c;b. needsNbspF iller=b.ie &&11>c;b.c ssClass="c ke_browser _"+(b.ie?" ie":b.geck o?"gecko": b.webkit?" webkit":"u nknown");b .quirks&&( b.cssClass +=" cke_br owser_quir ks");b.ie& &(b.cssCla ss+=" cke_ browser_ie "+(b.quirk s?"6 cke_b rowser_ieq uirks":b.v ersion));b .air&&(b.c ssClass+="  cke_brows er_air");b .iOS&&(b.c ssClass+="  cke_brows er_ios");b .hidpi&&(b .cssClass+ =" cke_hid pi");retur n b}()),"u nloaded"== CKEDITOR.s tatus&&fun ction(){CK EDITOR.eve nt.impleme ntOn(CKEDI TOR);        
17   CKEDITOR.l oadFullCor e=function (){if("bas ic_ready"! =CKEDITOR. status)CKE DITOR.load FullCore._ load=1;els e{delete C KEDITOR.lo adFullCore ;var a=doc ument.crea teElement( "script"); a.type="te xt/javascr ipt";a.src =CKEDITOR. basePath+" ckeditor.j s";documen t.getEleme ntsByTagNa me("head") [0].append Child(a)}} ;CKEDITOR. loadFullCo reTimeout= 0;CKEDITOR .add=funct ion(a){(th is._.pendi ng||(this. _.pending= [])).push( a)};(funct ion(){CKED ITOR.domRe ady(functi on(){var a =CKEDITOR. loadFullCo re,e=CKEDI TOR.loadFu llCoreTime out;a&&(CK EDITOR.sta tus=        
18   "basic_rea dy",a&&a._ load?a():e &&setTimeo ut(functio n(){CKEDIT OR.loadFul lCore&&CKE DITOR.load FullCore() },1E3*e))} )})();CKED ITOR.statu s="basic_l oaded"}(), CKEDITOR.d om={},func tion(){var  a=[],e=CK EDITOR.env .gecko?"-m oz-":CKEDI TOR.env.we bkit?"-web kit-":CKED ITOR.env.i e?"-ms-":" ",b=/&/g,c =/>/g,d=/< /g,k=/"/g, m=/&(lt|gt |amp|quot| nbsp|shy|# \d{1,5});/ g,f={lt:"\ x3c",gt:"\ x3e",amp:" \x26",quot :'"',nbsp: " ",shy:"­ "},l=funct ion(a,g){r eturn"#"== g[0]?Strin g.fromChar Code(parse Int(g.slic e(1),10)): f[g]};CKED ITOR.on("r eset",        
19   function() {a=[]});CK EDITOR.too ls={arrayC ompare:fun ction(a,g) {if(!a&&!g )return!0; if(!a||!g| |a.length! =g.length) return!1;f or(var f=0 ;f<a.lengt h;f++)if(a [f]!=g[f]) return!1;r eturn!0},g etIndex:fu nction(a,g ){for(var  f=0;f<a.le ngth;++f)i f(g(a[f])) return f;r eturn-1},c lone:funct ion(a){var  g;if(a&&a  instanceo f Array){g =[];for(va r f=0;f<a. length;f++ )g[f]=CKED ITOR.tools .clone(a[f ]);return  g}if(null= ==a||"obje ct"!=typeo f a||a ins tanceof St ring||a in stanceof N umber||a i nstanceof  Boolean||a  instanceo f Date||a  instanceof        
20   RegExp||a. nodeType|| a.window== =a)return  a;g=new a. constructo r;for(f in  a)g[f]=CK EDITOR.too ls.clone(a [f]);retur n g},capit alize:func tion(a,g){ return a.c harAt(0).t oUpperCase ()+(g?a.sl ice(1):a.s lice(1).to LowerCase( ))},extend :function( a){var g=a rguments.l ength,f,b; "boolean"= =typeof(f= arguments[ g-1])?g--: "boolean"= =typeof(f= arguments[ g-2])&&(b= arguments[ g-1],g-=2) ;for(var l =1;l<g;l++ ){var c=ar guments[l] ,d;for(d i n c)if(!0= ==f||null= =a[d])if(! b||d in b) a[d]=c[d]} return a}, prototyped Copy:funct ion(a){var  g=        
21   function() {};g.proto type=a;ret urn new g} ,copy:func tion(a){va r g={},f;f or(f in a) g[f]=a[f]; return g}, isArray:fu nction(a){ return"[ob ject Array ]"==Object .prototype .toString. call(a)},i sEmpty:fun ction(a){f or(var g i n a)if(a.h asOwnPrope rty(g))ret urn!1;retu rn!0},cssV endorPrefi x:function (a,g,f){if (f)return  e+a+":"+g+ ";"+a+":"+ g;f={};f[a ]=g;f[e+a] =g;return  f},cssStyl eToDomStyl e:function (){var a=d ocument.cr eateElemen t("div").s tyle,g="un defined"!= typeof a.c ssFloat?"c ssFloat":" undefined" !=typeof a .styleFloa t?        
22   "styleFloa t":"float" ;return fu nction(a){ return"flo at"==a?g:a .replace(/ -./g,funct ion(g){ret urn g.subs tr(1).toUp perCase()} )}}(),buil dStyleHtml :function( a){a=[].co ncat(a);fo r(var g,f= [],b=0;b<a .length;b+ +)if(g=a[b ])/@import |[{}]/.tes t(g)?f.pus h("\x3csty le\x3e"+g+ "\x3c/styl e\x3e"):f. push('\x3c link type\ x3d"text/c ss" rel\x3 dstyleshee t href\x3d "'+g+'"\x3 e');return  f.join("" )},htmlEnc ode:functi on(a){retu rn void 0= ==a||null= ==a?"":Str ing(a).rep lace(b,"\x 26amp;").r eplace(c," \x26gt;"). replace(d, "\x26lt;") },        
23   htmlDecode :function( a){return  a.replace( m,l)},html EncodeAttr :function( a){return  CKEDITOR.t ools.htmlE ncode(a).r eplace(k," \x26quot;" )},htmlDec odeAttr:fu nction(a){ return CKE DITOR.tool s.htmlDeco de(a)},tra nsformPlai nTextToHtm l:function (a,g){var  f=g==CKEDI TOR.ENTER_ BR,b=this. htmlEncode (a.replace (/\r\n/g," \n")),b=b. replace(/\ t/g,"\x26n bsp;\x26nb sp; \x26nb sp;"),l=g= =CKEDITOR. ENTER_P?"p ":"div";if (!f){var c =/\n{2}/g; if(c.test( b))var d=" \x3c"+l+"\ x3e",e="\x 3c/"+l+"\x 3e",b=d+b. replace(c, function() {return e+ d})+        
24   e}b=b.repl ace(/\n/g, "\x3cbr\x3 e");f||(b= b.replace( new RegExp ("\x3cbr\x 3e(?\x3d\x 3c/"+l+"\x 3e)"),func tion(g){re turn CKEDI TOR.tools. repeat(g,2 )}));b=b.r eplace(/^  | $/g,"\x2 6nbsp;");r eturn b=b. replace(/( >|\s) /g,f unction(g, a){return  a+"\x26nbs p;"}).repl ace(/ (?=< )/g,"\x26n bsp;")},ge tNextNumbe r:function (){var a=0 ;return fu nction(){r eturn++a}} (),getNext Id:functio n(){return "cke_"+thi s.getNextN umber()},g etUniqueId :function( ){for(var  a="e",g=0; 8>g;g++)a+ =Math.floo r(65536*(1 +Math.rand om())).toS tring(16). substring( 1);        
25   return a}, override:f unction(a, g){var f=g (a);f.prot otype=a.pr ototype;re turn f},se tTimeout:f unction(a, g,f,b,l){l ||(l=windo w);f||(f=l );return l .setTimeou t(function (){b?a.app ly(f,[].co ncat(b)):a .apply(f)} ,g||0)},tr im:functio n(){var a= /(?:^[ \t\ n\r]+)|(?: [ \t\n\r]+ $)/g;retur n function (g){return  g.replace (a,"")}}() ,ltrim:fun ction(){va r a=/^[ \t \n\r]+/g;r eturn func tion(g){re turn g.rep lace(a,"") }}(),rtrim :function( ){var a=/[  \t\n\r]+$ /g;return  function(g ){return g .replace(a ,"")}}(),i ndexOf:fun ction(a,g) {if("funct ion"==        
26   typeof g)f or(var f=0 ,b=a.lengt h;f<b;f++) {if(g(a[f] ))return f }else{if(a .indexOf)r eturn a.in dexOf(g);f =0;for(b=a .length;f< b;f++)if(a [f]===g)re turn f}ret urn-1},sea rch:functi on(a,g){va r f=CKEDIT OR.tools.i ndexOf(a,g );return 0 <=f?a[f]:n ull},bind: function(a ,g){return  function( ){return a .apply(g,a rguments)} },createCl ass:functi on(a){var  g=a.$,f=a. base,b=a.p rivates||a ._,l=a.pro to;a=a.sta tics;!g&&( g=function (){f&&this .base.appl y(this,arg uments)}); if(b)var c =g,g=funct ion(){var  g=this._|| (this._={} ),a;for(a  in b){var  f=        
27   b[a];g[a]= "function" ==typeof f ?CKEDITOR. tools.bind (f,this):f }c.apply(t his,argume nts)};f&&( g.prototyp e=this.pro totypedCop y(f.protot ype),g.pro totype.con structor=g ,g.base=f, g.baseProt o=f.protot ype,g.prot otype.base =function( ){this.bas e=f.protot ype.base;f .apply(thi s,argument s);this.ba se=argumen ts.callee} );l&&this. extend(g.p rototype,l ,!0);a&&th is.extend( g,a,!0);re turn g},ad dFunction: function(f ,g){return  a.push(fu nction(){r eturn f.ap ply(g||thi s,argument s)})-1},re moveFuncti on:functio n(f){a[f]= null},call Function:f unction(f) {var g=        
28   a[f];retur n g&&g.app ly(window, Array.prot otype.slic e.call(arg uments,1)) },cssLengt h:function (){var a=/ ^-?\d+\.?\ d*px$/,g;r eturn func tion(f){g= CKEDITOR.t ools.trim( f+"")+"px" ;return a. test(g)?g: f||""}}(), convertToP x:function (){var a;r eturn func tion(g){a| |(a=CKEDIT OR.dom.ele ment.creat eFromHtml( '\x3cdiv s tyle\x3d"p osition:ab solute;lef t:-9999px; top:-9999p x;margin:0 px;padding :0px;borde r:0px;"\x3 e\x3c/div\ x3e',CKEDI TOR.docume nt),CKEDIT OR.documen t.getBody( ).append(a ));return/ %$/.test(g )?g:(a.set Style("wid th",        
29   g),a.$.cli entWidth)} }(),repeat :function( a,g){retur n Array(g+ 1).join(a) },tryThese :function( ){for(var  a,g=0,f=ar guments.le ngth;g<f;g ++){var b= arguments[ g];try{a=b ();break}c atch(l){}} return a}, genKey:fun ction(){re turn Array .prototype .slice.cal l(argument s).join("- ")},defer: function(a ){return f unction(){ var g=argu ments,f=th is;window. setTimeout (function( ){a.apply( f,g)},0)}} ,normalize CssText:fu nction(a,g ){var f=[] ,b,l=CKEDI TOR.tools. parseCssTe xt(a,!0,g) ;for(b in  l)f.push(b +":"+l[b]) ;f.sort(); return f.l ength?        
30   f.join(";" )+";":""}, convertRgb ToHex:func tion(a){re turn a.rep lace(/(?:r gb\(\s*(\d +)\s*,\s*( \d+)\s*,\s *(\d+)\s*\ ))/gi,func tion(g,a,f ,b){g=[a,f ,b];for(a= 0;3>a;a++) g[a]=("0"+ parseInt(g [a],10).to String(16) ).slice(-2 );return"# "+g.join(" ")})},pars eCssText:f unction(a, g,f){var b ={};f&&(f= new CKEDIT OR.dom.ele ment("span "),f.setAt tribute("s tyle",a),a =CKEDITOR. tools.conv ertRgbToHe x(f.getAtt ribute("st yle")||"") );if(!a||" ;"==a)retu rn b;a.rep lace(/&quo t;/g,'"'). replace(/\ s*([^:;\s] +)\s*:\s*( [^;]+)\s*( ?=;|$)/g,f unction(a,        
31   f,l){g&&(f =f.toLower Case(),"fo nt-family" ==f&&(l=l. toLowerCas e().replac e(/["']/g, "").replac e(/\s*,\s* /g,",")),l =CKEDITOR. tools.trim (l));b[f]= l});return  b},writeC ssText:fun ction(a,g) {var f,b=[ ];for(f in  a)b.push( f+":"+a[f] );g&&b.sor t();return  b.join(";  ")},objec tCompare:f unction(a, g,f){var b ;if(!a&&!g )return!0; if(!a||!g) return!1;f or(b in a) if(a[b]!=g [b])return !1;if(!f)f or(b in g) if(a[b]!=g [b])return !1;return! 0},objectK eys:functi on(a){var  g=[],f;for (f in a)g. push(f);re turn g},co nvertArray ToObject:f unction(a,        
32   g){var f={ };1==argum ents.lengt h&&(g=!0); for(var b= 0,l=a.leng th;b<l;++b )f[a[b]]=g ;return f} ,fixDomain :function( ){for(var  a;;)try{a= window.par ent.docume nt.domain; break}catc h(g){a=a?a .replace(/ .+?(?:\.|$ )/,""):doc ument.doma in;if(!a)b reak;docum ent.domain =a}return! !a},events Buffer:fun ction(a,g, f){functio n b(){c=(n ew Date).g etTime();l =!1;f?g.ca ll(f):g()} var l,c=0; return{inp ut:functio n(){if(!l) {var g=(ne w Date).ge tTime()-c; g<a?l=setT imeout(b,a -g):b()}}, reset:func tion(){l&& clearTimeo ut(l);l=c= 0}}},enabl eHtml5Elem ents:funct ion(a,        
33   g){for(var  f="abbr a rticle asi de audio b di canvas  data datal ist detail s figcapti on figure  footer hea der hgroup  main mark  meter nav  output pr ogress sec tion summa ry time vi deo".split (" "),b=f. length,l;b --;)l=a.cr eateElemen t(f[b]),g& &a.appendC hild(l)},c heckIfAnyA rrayItemMa tches:func tion(a,g){ for(var f= 0,b=a.leng th;f<b;++f )if(a[f].m atch(g))re turn!0;ret urn!1},che ckIfAnyObj ectPropert yMatches:f unction(a, g){for(var  f in a)if (f.match(g ))return!0 ;return!1} ,transpare ntImageDat a:"data:im age/gif;ba se64,R0lGO DlhAQABAPA BAP///wAAA CH5BAEKAAA ALAAAAAABA AEAAAICRAE AOw\x3d\x3 d"}}(),        
34   CKEDITOR.d td=functio n(){var a= CKEDITOR.t ools.exten d,e=functi on(a,g){fo r(var f=CK EDITOR.too ls.clone(a ),b=1;b<ar guments.le ngth;b++){ g=argument s[b];for(v ar l in g) delete f[l ]}return f },b={},c={ },d={addre ss:1,artic le:1,aside :1,blockqu ote:1,deta ils:1,div: 1,dl:1,fie ldset:1,fi gure:1,foo ter:1,form :1,h1:1,h2 :1,h3:1,h4 :1,h5:1,h6 :1,header: 1,hgroup:1 ,hr:1,main :1,menu:1, nav:1,ol:1 ,p:1,pre:1 ,section:1 ,table:1,u l:1},k={co mmand:1,li nk:1,meta: 1,noscript :1,script: 1,style:1} ,m={},f={" #":1},l={c enter:1,di r:1,nofram es:1};        
35   a(b,{a:1,a bbr:1,area :1,audio:1 ,b:1,bdi:1 ,bdo:1,br: 1,button:1 ,canvas:1, cite:1,cod e:1,comman d:1,datali st:1,del:1 ,dfn:1,em: 1,embed:1, i:1,iframe :1,img:1,i nput:1,ins :1,kbd:1,k eygen:1,la bel:1,map: 1,mark:1,m eter:1,nos cript:1,ob ject:1,out put:1,prog ress:1,q:1 ,ruby:1,s: 1,samp:1,s cript:1,se lect:1,sma ll:1,span: 1,strong:1 ,sub:1,sup :1,textare a:1,time:1 ,u:1,"var" :1,video:1 ,wbr:1},f, {acronym:1 ,applet:1, basefont:1 ,big:1,fon t:1,isinde x:1,strike :1,style:1 ,tt:1});a( c,d,b,l);e ={a:e(b,{a :1,button: 1}),abbr:b ,address:c ,        
36   area:m,art icle:c,asi de:c,audio :a({source :1,track:1 },c),b:b,b ase:m,bdi: b,bdo:b,bl ockquote:c ,body:c,br :m,button: e(b,{a:1,b utton:1}), canvas:b,c aption:c,c ite:b,code :b,col:m,c olgroup:{c ol:1},comm and:m,data list:a({op tion:1},b) ,dd:c,del: b,details: a({summary :1},c),dfn :b,div:c,d l:{dt:1,dd :1},dt:c,e m:b,embed: m,fieldset :a({legend :1},c),fig caption:c, figure:a({ figcaption :1},c),foo ter:c,form :c,h1:b,h2 :b,h3:b,h4 :b,h5:b,h6 :b,head:a( {title:1,b ase:1},k), header:c,h group:{h1: 1,h2:1,h3: 1,h4:1,h5: 1,h6:1},hr :m,html:a( {head:1,        
37   body:1},c, k),i:b,ifr ame:f,img: m,input:m, ins:b,kbd: b,keygen:m ,label:b,l egend:b,li :c,link:m, main:c,map :c,mark:b, menu:a({li :1},c),met a:m,meter: e(b,{meter :1}),nav:c ,noscript: a({link:1, meta:1,sty le:1},b),o bject:a({p aram:1},b) ,ol:{li:1} ,optgroup: {option:1} ,option:f, output:b,p :b,param:m ,pre:b,pro gress:e(b, {progress: 1}),q:b,rp :b,rt:b,ru by:a({rp:1 ,rt:1},b), s:b,samp:b ,script:f, section:c, select:{op tgroup:1,o ption:1},s mall:b,sou rce:m,span :b,strong: b,style:f, sub:b,summ ary:b,sup: b,table:{c aption:1,c olgroup:1, thead:1,        
38   tfoot:1,tb ody:1,tr:1 },tbody:{t r:1},td:c, textarea:f ,tfoot:{tr :1},th:c,t head:{tr:1 },time:e(b ,{time:1}) ,title:f,t r:{th:1,td :1},track: m,u:b,ul:{ li:1},"var ":b,video: a({source: 1,track:1} ,c),wbr:m, acronym:b, applet:a({ param:1},c ),basefont :m,big:b,c enter:c,di alog:m,dir :{li:1},fo nt:b,isind ex:m,nofra mes:c,stri ke:b,tt:b} ;a(e,{$blo ck:a({audi o:1,dd:1,d t:1,figcap tion:1,li: 1,video:1} ,d,l),$blo ckLimit:{a rticle:1,a side:1,aud io:1,body: 1,caption: 1,details: 1,dir:1,di v:1,dl:1,f ieldset:1, figcaption :1,figure: 1,footer:1 ,        
39   form:1,hea der:1,hgro up:1,main: 1,menu:1,n av:1,ol:1, section:1, table:1,td :1,th:1,tr :1,ul:1,vi deo:1},$cd ata:{scrip t:1,style: 1},$editab le:{addres s:1,articl e:1,aside: 1,blockquo te:1,body: 1,details: 1,div:1,fi eldset:1,f igcaption: 1,footer:1 ,form:1,h1 :1,h2:1,h3 :1,h4:1,h5 :1,h6:1,he ader:1,hgr oup:1,main :1,nav:1,p :1,pre:1,s ection:1}, $empty:{ar ea:1,base: 1,basefont :1,br:1,co l:1,comman d:1,dialog :1,embed:1 ,hr:1,img: 1,input:1, isindex:1, keygen:1,l ink:1,meta :1,param:1 ,source:1, track:1,wb r:1},$inli ne:b,$list :{dl:1,ol: 1,        
40   ul:1},$lis tItem:{dd: 1,dt:1,li: 1},$nonBod yContent:a ({body:1,h ead:1,html :1},e.head ),$nonEdit able:{appl et:1,audio :1,button: 1,embed:1, iframe:1,m ap:1,objec t:1,option :1,param:1 ,script:1, textarea:1 ,video:1}, $object:{a pplet:1,au dio:1,butt on:1,hr:1, iframe:1,i mg:1,input :1,object: 1,select:1 ,table:1,t extarea:1, video:1},$ removeEmpt y:{abbr:1, acronym:1, b:1,bdi:1, bdo:1,big: 1,cite:1,c ode:1,del: 1,dfn:1,em :1,font:1, i:1,ins:1, label:1,kb d:1,mark:1 ,meter:1,o utput:1,q: 1,ruby:1,s :1,samp:1, small:1,sp an:1,strik e:1,strong :1,        
41   sub:1,sup: 1,time:1,t t:1,u:1,"v ar":1},$ta bIndex:{a: 1,area:1,b utton:1,in put:1,obje ct:1,selec t:1,textar ea:1},$tab leContent: {caption:1 ,col:1,col group:1,tb ody:1,td:1 ,tfoot:1,t h:1,thead: 1,tr:1},$t ransparent :{a:1,audi o:1,canvas :1,del:1,i ns:1,map:1 ,noscript: 1,object:1 ,video:1}, $intermedi ate:{capti on:1,colgr oup:1,dd:1 ,dt:1,figc aption:1,l egend:1,li :1,optgrou p:1,option :1,rp:1,rt :1,summary :1,tbody:1 ,td:1,tfoo t:1,th:1,t head:1,tr: 1}});retur n e}(),CKE DITOR.dom. event=func tion(a){th is.$=a},CK EDITOR.dom .event.pro totype=        
42   {getKey:fu nction(){r eturn this .$.keyCode ||this.$.w hich},getK eystroke:f unction(){ var a=this .getKey(); if(this.$. ctrlKey||t his.$.meta Key)a+=CKE DITOR.CTRL ;this.$.sh iftKey&&(a +=CKEDITOR .SHIFT);th is.$.altKe y&&(a+=CKE DITOR.ALT) ;return a} ,preventDe fault:func tion(a){va r e=this.$ ;e.prevent Default?e. preventDef ault():e.r eturnValue =!1;a&&thi s.stopProp agation()} ,stopPropa gation:fun ction(){va r a=this.$ ;a.stopPro pagation?a .stopPropa gation():a .cancelBub ble=!0},ge tTarget:fu nction(){v ar a=this. $.target|| this.$.src Element;        
43   return a?n ew CKEDITO R.dom.node (a):null}, getPhase:f unction(){ return thi s.$.eventP hase||2},g etPageOffs et:functio n(){var a= this.getTa rget().get Document() .$;return{ x:this.$.p ageX||this .$.clientX +(a.docume ntElement. scrollLeft ||a.body.s crollLeft) ,y:this.$. pageY||thi s.$.client Y+(a.docum entElement .scrollTop ||a.body.s crollTop)} }},CKEDITO R.CTRL=111 4112,CKEDI TOR.SHIFT= 2228224,CK EDITOR.ALT =4456448,C KEDITOR.EV ENT_PHASE_ CAPTURING= 1,CKEDITOR .EVENT_PHA SE_AT_TARG ET=2,CKEDI TOR.EVENT_ PHASE_BUBB LING=3,CKE DITOR.dom. domObject=        
44   function(a ){a&&(this .$=a)},CKE DITOR.dom. domObject. prototype= function() {var a=fun ction(a,b) {return fu nction(c){ "undefined "!=typeof  CKEDITOR&& a.fire(b,n ew CKEDITO R.dom.even t(c))}};re turn{getPr ivate:func tion(){var  a;(a=this .getCustom Data("_")) ||this.set CustomData ("_",a={}) ;return a} ,on:functi on(e){var  b=this.get CustomData ("_cke_nat iveListene rs");b||(b ={},this.s etCustomDa ta("_cke_n ativeListe ners",b)); b[e]||(b=b [e]=a(this ,e),this.$ .addEventL istener?th is.$.addEv entListene r(e,b,!!CK EDITOR.eve nt.useCapt ure):        
45   this.$.att achEvent&& this.$.att achEvent(" on"+e,b)); return CKE DITOR.even t.prototyp e.on.apply (this,argu ments)},re moveListen er:functio n(a){CKEDI TOR.event. prototype. removeList ener.apply (this,argu ments);if( !this.hasL isteners(a )){var b=t his.getCus tomData("_ cke_native Listeners" ),c=b&&b[a ];c&&(this .$.removeE ventListen er?this.$. removeEven tListener( a,c,!1):th is.$.detac hEvent&&th is.$.detac hEvent("on "+a,c),del ete b[a])} },removeAl lListeners :function( ){var a=th is.getCust omData("_c ke_nativeL isteners") ,b;for(b i n a){var c =        
46   a[b];this. $.detachEv ent?this.$ .detachEve nt("on"+b, c):this.$. removeEven tListener& &this.$.re moveEventL istener(b, c,!1);dele te a[b]}CK EDITOR.eve nt.prototy pe.removeA llListener s.call(thi s)}}}(),fu nction(a){ var e={};C KEDITOR.on ("reset",f unction(){ e={}});a.e quals=func tion(a){tr y{return a &&a.$===th is.$}catch (c){return !1}};a.set CustomData =function( a,c){var d =this.getU niqueId(); (e[d]||(e[ d]={}))[a] =c;return  this};a.ge tCustomDat a=function (a){var c= this.$["da ta-cke-exp ando"];ret urn(c=c&&e [c])&&a in  c?c[a]:nu ll};        
47   a.removeCu stomData=f unction(a) {var c=thi s.$["data- cke-expand o"],c=c&&e [c],d,k;c& &(d=c[a],k =a in c,de lete c[a]) ;return k? d:null};a. clearCusto mData=func tion(){thi s.removeAl lListeners ();var a=t his.$["dat a-cke-expa ndo"];a&&d elete e[a] };a.getUni queId=func tion(){ret urn this.$ ["data-cke -expando"] ||(this.$[ "data-cke- expando"]= CKEDITOR.t ools.getNe xtNumber() )};CKEDITO R.event.im plementOn( a)}(CKEDIT OR.dom.dom Object.pro totype),CK EDITOR.dom .node=func tion(a){re turn a?new  CKEDITOR. dom[a.node Type==CKED ITOR.NODE_ DOCUMENT?        
48   "document" :a.nodeTyp e==CKEDITO R.NODE_ELE MENT?"elem ent":a.nod eType==CKE DITOR.NODE _TEXT?"tex t":a.nodeT ype==CKEDI TOR.NODE_C OMMENT?"co mment":a.n odeType==C KEDITOR.NO DE_DOCUMEN T_FRAGMENT ?"document Fragment": "domObject "](a):this },CKEDITOR .dom.node. prototype= new CKEDIT OR.dom.dom Object,CKE DITOR.NODE _ELEMENT=1 ,CKEDITOR. NODE_DOCUM ENT=9,CKED ITOR.NODE_ TEXT=3,CKE DITOR.NODE _COMMENT=8 ,CKEDITOR. NODE_DOCUM ENT_FRAGME NT=11,CKED ITOR.POSIT ION_IDENTI CAL=0,CKED ITOR.POSIT ION_DISCON NECTED=1,C KEDITOR.PO SITION_FOL LOWING=2,C KEDITOR.PO SITION_PRE CEDING=        
49   4,CKEDITOR .POSITION_ IS_CONTAIN ED=8,CKEDI TOR.POSITI ON_CONTAIN S=16,CKEDI TOR.tools. extend(CKE DITOR.dom. node.proto type,{appe ndTo:funct ion(a,e){a .append(th is,e);retu rn a},clon e:function (a,e){func tion b(c){ c["data-ck e-expando" ]&&(c["dat a-cke-expa ndo"]=!1); if(c.nodeT ype==CKEDI TOR.NODE_E LEMENT||c. nodeType== CKEDITOR.N ODE_DOCUME NT_FRAGMEN T)if(e||c. nodeType!= CKEDITOR.N ODE_ELEMEN T||c.remov eAttribute ("id",!1), a){c=c.chi ldNodes;fo r(var d=0; d<c.length ;d++)b(c[d ])}}functi on c(b){if (b.type==C KEDITOR.NO DE_ELEMENT ||        
50   b.type==CK EDITOR.NOD E_DOCUMENT _FRAGMENT) {if(b.type !=CKEDITOR .NODE_DOCU MENT_FRAGM ENT){var d =b.getName ();":"==d[ 0]&&b.rena meNode(d.s ubstring(1 ))}if(a)fo r(d=0;d<b. getChildCo unt();d++) c(b.getChi ld(d))}}va r d=this.$ .cloneNode (a);b(d);d =new CKEDI TOR.dom.no de(d);CKED ITOR.env.i e&&9>CKEDI TOR.env.ve rsion&&(th is.type==C KEDITOR.NO DE_ELEMENT ||this.typ e==CKEDITO R.NODE_DOC UMENT_FRAG MENT)&&c(d );return d },hasPrevi ous:functi on(){retur n!!this.$. previousSi bling},has Next:funct ion(){retu rn!!this.$ .nextSibli ng},insert After:func tion(a){a. $.parentNo de.insertB efore(this .$,        
51   a.$.nextSi bling);ret urn a},ins ertBefore: function(a ){a.$.pare ntNode.ins ertBefore( this.$,a.$ );return a },insertBe foreMe:fun ction(a){t his.$.pare ntNode.ins ertBefore( a.$,this.$ );return a },getAddre ss:functio n(a){for(v ar e=[],b= this.getDo cument().$ .documentE lement,c=t his.$;c&&c !=b;){var  d=c.parent Node;d&&e. unshift(th is.getInde x.call({$: c},a));c=d }return e} ,getDocume nt:functio n(){return  new CKEDI TOR.dom.do cument(thi s.$.ownerD ocument||t his.$.pare ntNode.own erDocument )},getInde x:function (a){functi on e(a,b){ var f=        
52   b?a.nextSi bling:a.pr eviousSibl ing;return  f&&f.node Type==CKED ITOR.NODE_ TEXT?f.nod eValue?f:e (f,b):null }var b=thi s.$,c=-1,d ;if(!this. $.parentNo de||a&&b.n odeType==C KEDITOR.NO DE_TEXT&&! b.nodeValu e&&!e(b)&& !e(b,!0))r eturn-1;do  if(!a||b= =this.$||b .nodeType! =CKEDITOR. NODE_TEXT| |!d&&b.nod eValue)c++ ,d=b.nodeT ype==CKEDI TOR.NODE_T EXT;while( b=b.previo usSibling) ;return c} ,getNextSo urceNode:f unction(a, e,b){if(b& &!b.call){ var c=b;b= function(a ){return!a .equals(c) }}a=!a&&th is.getFirs t&&this.ge tFirst();v ar d;if(!a ){if(this. type==        
53   CKEDITOR.N ODE_ELEMEN T&&b&&!1== =b(this,!0 ))return n ull;a=this .getNext() }for(;!a&& (d=(d||thi s).getPare nt());){if (b&&!1===b (d,!0))ret urn null;a =d.getNext ()}return! a||b&&!1== =b(a)?null :e&&e!=a.t ype?a.getN extSourceN ode(!1,e,b ):a},getPr eviousSour ceNode:fun ction(a,e, b){if(b&&! b.call){va r c=b;b=fu nction(a){ return!a.e quals(c)}} a=!a&&this .getLast&& this.getLa st();var d ;if(!a){if (this.type ==CKEDITOR .NODE_ELEM ENT&&b&&!1 ===b(this, !0))return  null;a=th is.getPrev ious()}for (;!a&&(d=( d||this).g etParent() );){if(b&& !1===        
54   b(d,!0))re turn null; a=d.getPre vious()}re turn!a||b& &!1===b(a) ?null:e&&a .type!=e?a .getPrevio usSourceNo de(!1,e,b) :a},getPre vious:func tion(a){va r e=this.$ ,b;do b=(e =e.previou sSibling)& &10!=e.nod eType&&new  CKEDITOR. dom.node(e );while(b& &a&&!a(b)) ;return b} ,getNext:f unction(a) {var e=thi s.$,b;do b =(e=e.next Sibling)&& new CKEDIT OR.dom.nod e(e);while (b&&a&&!a( b));return  b},getPar ent:functi on(a){var  e=this.$.p arentNode; return e&& (e.nodeTyp e==CKEDITO R.NODE_ELE MENT||a&&e .nodeType= =CKEDITOR. NODE_DOCUM ENT_FRAGME NT)?        
55   new CKEDIT OR.dom.nod e(e):null} ,getParent s:function (a){var e= this,b=[]; do b[a?"pu sh":"unshi ft"](e);wh ile(e=e.ge tParent()) ;return b} ,getCommon Ancestor:f unction(a) {if(a.equa ls(this))r eturn this ;if(a.cont ains&&a.co ntains(thi s))return  a;var e=th is.contain s?this:thi s.getParen t();do if( e.contains (a))return  e;while(e =e.getPare nt());retu rn null},g etPosition :function( a){var e=t his.$,b=a. $;if(e.com pareDocume ntPosition )return e. compareDoc umentPosit ion(b);if( e==b)retur n CKEDITOR .POSITION_ IDENTICAL; if(this.ty pe==        
56   CKEDITOR.N ODE_ELEMEN T&&a.type= =CKEDITOR. NODE_ELEME NT){if(e.c ontains){i f(e.contai ns(b))retu rn CKEDITO R.POSITION _CONTAINS+ CKEDITOR.P OSITION_PR ECEDING;if (b.contain s(e))retur n CKEDITOR .POSITION_ IS_CONTAIN ED+CKEDITO R.POSITION _FOLLOWING }if("sourc eIndex"in  e)return 0 >e.sourceI ndex||0>b. sourceInde x?CKEDITOR .POSITION_ DISCONNECT ED:e.sourc eIndex<b.s ourceIndex ?CKEDITOR. POSITION_P RECEDING:C KEDITOR.PO SITION_FOL LOWING}e=t his.getAdd ress();a=a .getAddres s();for(va r b=Math.m in(e.lengt h,a.length ),c=0;c<b; c++)if(e[c ]!=        
57   a[c])retur n e[c]<a[c ]?CKEDITOR .POSITION_ PRECEDING: CKEDITOR.P OSITION_FO LLOWING;re turn e.len gth<a.leng th?CKEDITO R.POSITION _CONTAINS+ CKEDITOR.P OSITION_PR ECEDING:CK EDITOR.POS ITION_IS_C ONTAINED+C KEDITOR.PO SITION_FOL LOWING},ge tAscendant :function( a,e){var b =this.$,c, d;e||(b=b. parentNode );"functio n"==typeof  a?(d=!0,c =a):(d=!1, c=function (b){b="str ing"==type of b.nodeN ame?b.node Name.toLow erCase():" ";return"s tring"==ty peof a?b== a:b in a}) ;for(;b;){ if(c(d?new  CKEDITOR. dom.node(b ):b))retur n new CKED ITOR.dom.n ode(b);        
58   try{b=b.pa rentNode}c atch(k){b= null}}retu rn null},h asAscendan t:function (a,e){var  b=this.$;e ||(b=b.par entNode);f or(;b;){if (b.nodeNam e&&b.nodeN ame.toLowe rCase()==a )return!0; b=b.parent Node}retur n!1},move: function(a ,e){a.appe nd(this.re move(),e)} ,remove:fu nction(a){ var e=this .$,b=e.par entNode;if (b){if(a)f or(;a=e.fi rstChild;) b.insertBe fore(e.rem oveChild(a ),e);b.rem oveChild(e )}return t his},repla ce:functio n(a){this. insertBefo re(a);a.re move()},tr im:functio n(){this.l trim();thi s.rtrim()} ,ltrim:fun ction(){fo r(var a;th is.getFirs t&&        
59   (a=this.ge tFirst()); ){if(a.typ e==CKEDITO R.NODE_TEX T){var e=C KEDITOR.to ols.ltrim( a.getText( )),b=a.get Length();i f(e)e.leng th<b&&(a.s plit(b-e.l ength),thi s.$.remove Child(this .$.firstCh ild));else {a.remove( );continue }}break}}, rtrim:func tion(){for (var a;thi s.getLast& &(a=this.g etLast()); ){if(a.typ e==CKEDITO R.NODE_TEX T){var e=C KEDITOR.to ols.rtrim( a.getText( )),b=a.get Length();i f(e)e.leng th<b&&(a.s plit(e.len gth),this. $.lastChil d.parentNo de.removeC hild(this. $.lastChil d));else{a .remove(); continue}} break}CKED ITOR.env.n eedsBrFill er&&        
60   (a=this.$. lastChild) &&1==a.typ e&&"br"==a .nodeName. toLowerCas e()&&a.par entNode.re moveChild( a)},isRead Only:funct ion(a){var  e=this;th is.type!=C KEDITOR.NO DE_ELEMENT &&(e=this. getParent( ));CKEDITO R.env.edge &&e&&e.is( "textarea" )&&(a=!0); if(!a&&e&& "undefined "!=typeof  e.$.isCont entEditabl e)return!( e.$.isCont entEditabl e||e.data( "cke-edita ble"));for (;e;){if(e .data("cke -editable" ))return!1 ;if(e.hasA ttribute(" contentedi table"))re turn"false "==e.getAt tribute("c ontentedit able");e=e .getParent ()}return! 0}}),CKEDI TOR.dom.wi ndow=        
61   function(a ){CKEDITOR .dom.domOb ject.call( this,a)},C KEDITOR.do m.window.p rototype=n ew CKEDITO R.dom.domO bject,CKED ITOR.tools .extend(CK EDITOR.dom .window.pr ototype,{f ocus:funct ion(){this .$.focus() },getViewP aneSize:fu nction(){v ar a=this. $.document ,e="CSS1Co mpat"==a.c ompatMode; return{wid th:(e?a.do cumentElem ent.client Width:a.bo dy.clientW idth)||0,h eight:(e?a .documentE lement.cli entHeight: a.body.cli entHeight) ||0}},getS crollPosit ion:functi on(){var a =this.$;if ("pageXOff set"in a)r eturn{x:a. pageXOffse t||0,y:a.p ageYOffset ||        
62   0};a=a.doc ument;retu rn{x:a.doc umentEleme nt.scrollL eft||a.bod y.scrollLe ft||0,y:a. documentEl ement.scro llTop||a.b ody.scroll Top||0}},g etFrame:fu nction(){v ar a=this. $.frameEle ment;retur n a?new CK EDITOR.dom .element.g et(a):null }}),CKEDIT OR.dom.doc ument=func tion(a){CK EDITOR.dom .domObject .call(this ,a)},CKEDI TOR.dom.do cument.pro totype=new  CKEDITOR. dom.domObj ect,CKEDIT OR.tools.e xtend(CKED ITOR.dom.d ocument.pr ototype,{t ype:CKEDIT OR.NODE_DO CUMENT,app endStyleSh eet:functi on(a){if(t his.$.crea teStyleShe et)this.$. createStyl eSheet(a);        
63   else{var e =new CKEDI TOR.dom.el ement("lin k");e.setA ttributes( {rel:"styl esheet",ty pe:"text/c ss",href:a });this.ge tHead().ap pend(e)}}, appendStyl eText:func tion(a){if (this.$.cr eateStyleS heet){var  e=this.$.c reateStyle Sheet(""); e.cssText= a}else{var  b=new CKE DITOR.dom. element("s tyle",this );b.append (new CKEDI TOR.dom.te xt(a,this) );this.get Head().app end(b)}ret urn e||b.$ .sheet},cr eateElemen t:function (a,e){var  b=new CKED ITOR.dom.e lement(a,t his);e&&(e .attribute s&&b.setAt tributes(e .attribute s),e.style s&&b.setSt yles(e.sty les));        
64   return b}, createText :function( a){return  new CKEDIT OR.dom.tex t(a,this)} ,focus:fun ction(){th is.getWind ow().focus ()},getAct ive:functi on(){var a ;try{a=thi s.$.active Element}ca tch(e){ret urn null}r eturn new  CKEDITOR.d om.element (a)},getBy Id:functio n(a){retur n(a=this.$ .getElemen tById(a))? new CKEDIT OR.dom.ele ment(a):nu ll},getByA ddress:fun ction(a,e) {for(var b =this.$.do cumentElem ent,c=0;b& &c<a.lengt h;c++){var  d=a[c];if (e)for(var  k=-1,m=0; m<b.childN odes.lengt h;m++){var  f=b.child Nodes[m];i f(!0!==e|| 3!=f.nodeT ype||        
65   !f.previou sSibling|| 3!=f.previ ousSibling .nodeType) if(k++,k== d){b=f;bre ak}}else b =b.childNo des[d]}ret urn b?new  CKEDITOR.d om.node(b) :null},get ElementsBy Tag:functi on(a,e){CK EDITOR.env .ie&&8>=do cument.doc umentMode| |!e||(a=e+ ":"+a);ret urn new CK EDITOR.dom .nodeList( this.$.get ElementsBy TagName(a) )},getHead :function( ){var a=th is.$.getEl ementsByTa gName("hea d")[0];ret urn a=a?ne w CKEDITOR .dom.eleme nt(a):this .getDocume ntElement( ).append(n ew CKEDITO R.dom.elem ent("head" ),!0)},get Body:funct ion(){retu rn new CKE DITOR.dom. element(th is.$.body) },        
66   getDocumen tElement:f unction(){ return new  CKEDITOR. dom.elemen t(this.$.d ocumentEle ment)},get Window:fun ction(){re turn new C KEDITOR.do m.window(t his.$.pare ntWindow|| this.$.def aultView)} ,write:fun ction(a){t his.$.open ("text/htm l","replac e");CKEDIT OR.env.ie& &(a=a.repl ace(/(?:^\ s*<!DOCTYP E[^>]*?>)| ^/i,'$\x26 \n\x3cscri pt data-ck e-temp\x3d "1"\x3e('+ CKEDITOR.t ools.fixDo main+")(); \x3c/scrip t\x3e"));t his.$.writ e(a);this. $.close()} ,find:func tion(a){re turn new C KEDITOR.do m.nodeList (this.$.qu erySelecto rAll(a))}, findOne:fu nction(a){ return(a=        
67   this.$.que rySelector (a))?new C KEDITOR.do m.element( a):null},_ getHtml5Sh ivFrag:fun ction(){va r a=this.g etCustomDa ta("html5S hivFrag"); a||(a=this .$.createD ocumentFra gment(),CK EDITOR.too ls.enableH tml5Elemen ts(a,!0),t his.setCus tomData("h tml5ShivFr ag",a));re turn a}}), CKEDITOR.d om.nodeLis t=function (a){this.$ =a},CKEDIT OR.dom.nod eList.prot otype={cou nt:functio n(){return  this.$.le ngth},getI tem:functi on(a){retu rn 0>a||a> =this.$.le ngth?null: (a=this.$[ a])?new CK EDITOR.dom .node(a):n ull}},CKED ITOR.dom.e lement=fun ction(a,        
68   e){"string "==typeof  a&&(a=(e?e .$:documen t).createE lement(a)) ;CKEDITOR. dom.domObj ect.call(t his,a)},CK EDITOR.dom .element.g et=functio n(a){retur n(a="strin g"==typeof  a?documen t.getEleme ntById(a)| |document. getElement sByName(a) [0]:a)&&(a .$?a:new C KEDITOR.do m.element( a))},CKEDI TOR.dom.el ement.prot otype=new  CKEDITOR.d om.node,CK EDITOR.dom .element.c reateFromH tml=functi on(a,e){va r b=new CK EDITOR.dom .element(" div",e);b. setHtml(a) ;return b. getFirst() .remove()} ,CKEDITOR. dom.elemen t.setMarke r=function (a,e,b,c){ var d=        
69   e.getCusto mData("lis t_marker_i d")||e.set CustomData ("list_mar ker_id",CK EDITOR.too ls.getNext Number()). getCustomD ata("list_ marker_id" ),k=e.getC ustomData( "list_mark er_names") ||e.setCus tomData("l ist_marker _names",{} ).getCusto mData("lis t_marker_n ames");a[d ]=e;k[b]=1 ;return e. setCustomD ata(b,c)}, CKEDITOR.d om.element .clearAllM arkers=fun ction(a){f or(var e i n a)CKEDIT OR.dom.ele ment.clear Markers(a, a[e],1)},C KEDITOR.do m.element. clearMarke rs=functio n(a,e,b){v ar c=e.get CustomData ("list_mar ker_names" ),d=e.getC ustomData( "list_mark er_id"),        
70   k;for(k in  c)e.remov eCustomDat a(k);e.rem oveCustomD ata("list_ marker_nam es");b&&(e .removeCus tomData("l ist_marker _id"),dele te a[d])}, function() {function  a(a,b){ret urn-1<(" " +a+" ").re place(k,"  ").indexOf (" "+b+" " )}function  e(a){var  b=!0;a.$.i d||(a.$.id ="cke_tmp_ "+CKEDITOR .tools.get NextNumber (),b=!1);r eturn func tion(){b|| a.removeAt tribute("i d")}}funct ion b(a,b) {return"#" +a.$.id+"  "+b.split( /,\s*/).jo in(", #"+a .$.id+" ") }function  c(a){for(v ar b=0,c=0 ,g=m[a].le ngth;c<g;c ++)b+=pars eInt(this. getCompute dStyle(m[a ][c])||        
71   0,10)||0;r eturn b}va r d=!!docu ment.creat eElement(" span").cla ssList,k=/ [\n\t\r]/g ;CKEDITOR. tools.exte nd(CKEDITO R.dom.elem ent.protot ype,{type: CKEDITOR.N ODE_ELEMEN T,addClass :d?functio n(a){this. $.classLis t.add(a);r eturn this }:function (f){var b= this.$.cla ssName;b&& (a(b,f)||( b+=" "+f)) ;this.$.cl assName=b| |f;return  this},remo veClass:d? function(a ){var b=th is.$;b.cla ssList.rem ove(a);b.c lassName|| b.removeAt tribute("c lass");ret urn this}: function(f ){var b=th is.getAttr ibute("cla ss");b&&a( b,f)&&((b= b.replace( new RegExp ("(?:^|\\s +)"+        
72   f+"(?\x3d\ \s|$)"),"" ).replace( /^\s+/,"") )?this.set Attribute( "class",b) :this.remo veAttribut e("class") );return t his},hasCl ass:functi on(f){retu rn a(this. $.classNam e,f)},appe nd:functio n(a,b){"st ring"==typ eof a&&(a= this.getDo cument().c reateEleme nt(a));b?t his.$.inse rtBefore(a .$,this.$. firstChild ):this.$.a ppendChild (a.$);retu rn a},appe ndHtml:fun ction(a){i f(this.$.c hildNodes. length){va r b=new CK EDITOR.dom .element(" div",this. getDocumen t());b.set Html(a);b. moveChildr en(this)}e lse this.s etHtml(a)} ,appendTex t:function (a){null!=        
73   this.$.tex t&&CKEDITO R.env.ie&& 9>CKEDITOR .env.versi on?this.$. text+=a:th is.append( new CKEDIT OR.dom.tex t(a))},app endBogus:f unction(a) {if(a||CKE DITOR.env. needsBrFil ler){for(a =this.getL ast();a&&a .type==CKE DITOR.NODE _TEXT&&!CK EDITOR.too ls.rtrim(a .getText() );)a=a.get Previous() ;a&&a.is&& a.is("br") ||(a=this. getDocumen t().create Element("b r"),CKEDIT OR.env.gec ko&&a.setA ttribute(" type","_mo z"),this.a ppend(a))} },breakPar ent:functi on(a,b){va r c=new CK EDITOR.dom .range(thi s.getDocum ent());c.s etStartAft er(this);c .setEndAft er(a);        
74   var g=c.ex tractConte nts(!1,b|| !1);c.inse rtNode(thi s.remove() );g.insert AfterNode( this)},con tains:docu ment.compa reDocument Position?f unction(a) {return!!( this.$.com pareDocume ntPosition (a.$)&16)} :function( a){var b=t his.$;retu rn a.type! =CKEDITOR. NODE_ELEME NT?b.conta ins(a.getP arent().$) :b!=a.$&&b .contains( a.$)},focu s:function (){functio n a(){try{ this.$.foc us()}catch (b){}}retu rn functio n(b){b?CKE DITOR.tool s.setTimeo ut(a,100,t his):a.cal l(this)}}( ),getHtml: function() {var a=thi s.$.innerH TML;return  CKEDITOR. env.ie?        
75   a.replace( /<\?[^>]*> /g,""):a}, getOuterHt ml:functio n(){if(thi s.$.outerH TML)return  this.$.ou terHTML.re place(/<\? [^>]*>/,"" );var a=th is.$.owner Document.c reateEleme nt("div"); a.appendCh ild(this.$ .cloneNode (!0));retu rn a.inner HTML},getC lientRect: function() {var a=CKE DITOR.tool s.extend({ },this.$.g etBounding ClientRect ());!a.wid th&&(a.wid th=a.right -a.left);! a.height&& (a.height= a.bottom-a .top);retu rn a},setH tml:CKEDIT OR.env.ie& &9>CKEDITO R.env.vers ion?functi on(a){try{ var b=this .$;if(this .getParent ())return  b.innerHTM L=        
76   a;var c=th is.getDocu ment()._ge tHtml5Shiv Frag();c.a ppendChild (b);b.inne rHTML=a;c. removeChil d(b);retur n a}catch( g){this.$. innerHTML= "";b=new C KEDITOR.do m.element( "body",thi s.getDocum ent());b.$ .innerHTML =a;for(b=b .getChildr en();b.cou nt();)this .append(b. getItem(0) );return a }}:functio n(a){retur n this.$.i nnerHTML=a },setText: function() {var a=doc ument.crea teElement( "p");a.inn erHTML="x" ;a=a.textC ontent;ret urn functi on(b){this .$[a?"text Content":" innerText" ]=b}}(),ge tAttribute :function( ){var a=fu nction(a){ return thi s.$.getAtt ribute(a,        
77   2)};return  CKEDITOR. env.ie&&(C KEDITOR.en v.ie7Compa t||CKEDITO R.env.quir ks)?functi on(a){swit ch(a){case  "class":a ="classNam e";break;c ase "http- equiv":a=" httpEquiv" ;break;cas e "name":r eturn this .$.name;ca se "tabind ex":return  a=this.$. getAttribu te(a,2),0! ==a&&0===t his.$.tabI ndex&&(a=n ull),a;cas e "checked ":return a =this.$.at tributes.g etNamedIte m(a),(a.sp ecified?a. nodeValue: this.$.che cked)?"che cked":null ;case "hsp ace":case  "value":re turn this. $[a];case  "style":re turn this. $.style.cs sText;case  "contente ditable":c ase "conte ntEditable ":return t his.$.attr ibutes.get NamedItem( "contentEd itable").s pecified?        
78   this.$.get Attribute( "contentEd itable"):n ull}return  this.$.ge tAttribute (a,2)}:a}( ),getChild ren:functi on(){retur n new CKED ITOR.dom.n odeList(th is.$.child Nodes)},ge tComputedS tyle:docum ent.defaul tView&&doc ument.defa ultView.ge tComputedS tyle?funct ion(a){var  b=this.ge tWindow(). $.getCompu tedStyle(t his.$,null );return b ?b.getProp ertyValue( a):""}:fun ction(a){r eturn this .$.current Style[CKED ITOR.tools .cssStyleT oDomStyle( a)]},getDt d:function (){var a=C KEDITOR.dt d[this.get Name()];th is.getDtd= function() {return a} ;        
79   return a}, getElement sByTag:CKE DITOR.dom. document.p rototype.g etElements ByTag,getT abIndex:fu nction(){v ar a=this. $.tabIndex ;return 0! ==a||CKEDI TOR.dtd.$t abIndex[th is.getName ()]||0===p arseInt(th is.getAttr ibute("tab index"),10 )?a:-1},ge tText:func tion(){ret urn this.$ .textConte nt||this.$ .innerText ||""},getW indow:func tion(){ret urn this.g etDocument ().getWind ow()},getI d:function (){return  this.$.id| |null},get NameAtt:fu nction(){r eturn this .$.name||n ull},getNa me:functio n(){var a= this.$.nod eName.toLo werCase(); if(CKEDITO R.env.ie&&        
80   8>=documen t.document Mode){var  b=this.$.s copeName;" HTML"!=b&& (a=b.toLow erCase()+" :"+a)}this .getName=f unction(){ return a}; return thi s.getName( )},getValu e:function (){return  this.$.val ue},getFir st:functio n(a){var b =this.$.fi rstChild;( b=b&&new C KEDITOR.do m.node(b)) &&a&&!a(b) &&(b=b.get Next(a));r eturn b},g etLast:fun ction(a){v ar b=this. $.lastChil d;(b=b&&ne w CKEDITOR .dom.node( b))&&a&&!a (b)&&(b=b. getPreviou s(a));retu rn b},getS tyle:funct ion(a){ret urn this.$ .style[CKE DITOR.tool s.cssStyle ToDomStyle (a)]},is:f unction(){ var a=        
81   this.getNa me();if("o bject"==ty peof argum ents[0])re turn!!argu ments[0][a ];for(var  b=0;b<argu ments.leng th;b++)if( arguments[ b]==a)retu rn!0;retur n!1},isEdi table:func tion(a){va r b=this.g etName();r eturn this .isReadOnl y()||"none "==this.ge tComputedS tyle("disp lay")||"hi dden"==thi s.getCompu tedStyle(" visibility ")||CKEDIT OR.dtd.$no nEditable[ b]||CKEDIT OR.dtd.$em pty[b]||th is.is("a") &&(this.da ta("cke-sa ved-name") ||this.has Attribute( "name"))&& !this.getC hildCount( )?!1:!1!== a?(a=CKEDI TOR.dtd[b] ||CKEDITOR .dtd.span, !(!a||        
82   !a["#"])): !0},isIden tical:func tion(a){va r b=this.c lone(0,1); a=a.clone( 0,1);b.rem oveAttribu tes(["_moz _dirty","d ata-cke-ex pando","da ta-cke-sav ed-href"," data-cke-s aved-name" ]);a.remov eAttribute s(["_moz_d irty","dat a-cke-expa ndo","data -cke-saved -href","da ta-cke-sav ed-name"]) ;if(b.$.is EqualNode) return b.$ .style.css Text=CKEDI TOR.tools. normalizeC ssText(b.$ .style.css Text),a.$. style.cssT ext=CKEDIT OR.tools.n ormalizeCs sText(a.$. style.cssT ext),b.$.i sEqualNode (a.$);b=b. getOuterHt ml();a=a.g etOuterHtm l();if(CKE DITOR.env. ie&&        
83   9>CKEDITOR .env.versi on&&this.i s("a")){va r c=this.g etParent() ;c.type==C KEDITOR.NO DE_ELEMENT &&(c=c.clo ne(),c.set Html(b),b= c.getHtml( ),c.setHtm l(a),a=c.g etHtml())} return b== a},isVisib le:functio n(){var a= (this.$.of fsetHeight ||this.$.o ffsetWidth )&&"hidden "!=this.ge tComputedS tyle("visi bility"),b ,c;a&&CKED ITOR.env.w ebkit&&(b= this.getWi ndow(),!b. equals(CKE DITOR.docu ment.getWi ndow())&&( c=b.$.fram eElement)& &(a=(new C KEDITOR.do m.element( c)).isVisi ble()));re turn!!a},i sEmptyInli neRemoveab le:functio n(){if(!CK EDITOR.dtd .$removeEm pty[this.g etName()]) return!1;        
84   for(var a= this.getCh ildren(),b =0,c=a.cou nt();b<c;b ++){var g= a.getItem( b);if(g.ty pe!=CKEDIT OR.NODE_EL EMENT||!g. data("cke- bookmark") )if(g.type ==CKEDITOR .NODE_ELEM ENT&&!g.is EmptyInlin eRemoveabl e()||g.typ e==CKEDITO R.NODE_TEX T&&CKEDITO R.tools.tr im(g.getTe xt()))retu rn!1}retur n!0},hasAt tributes:C KEDITOR.en v.ie&&(CKE DITOR.env. ie7Compat| |CKEDITOR. env.quirks )?function (){for(var  a=this.$. attributes ,b=0;b<a.l ength;b++) {var c=a[b ];switch(c .nodeName) {case "cla ss":if(thi s.getAttri bute("clas s"))return !0;case "d ata-cke-ex pando":con tinue;        
85   default:if (c.specifi ed)return! 0}}return! 1}:functio n(){var a= this.$.att ributes,b= a.length,c ={"data-ck e-expando" :1,_moz_di rty:1};ret urn 0<b&&( 2<b||!c[a[ 0].nodeNam e]||2==b&& !c[a[1].no deName])}, hasAttribu te:functio n(){functi on a(b){va r f=this.$ .attribute s.getNamed Item(b);if ("input"== this.getNa me())switc h(b){case  "class":re turn 0<thi s.$.classN ame.length ;case "che cked":retu rn!!this.$ .checked;c ase "value ":return b =this.getA ttribute(" type"),"ch eckbox"==b ||"radio"= =b?"on"!=t his.$.valu e:!!this.$ .value}ret urn f?        
86   f.specifie d:!1}retur n CKEDITOR .env.ie?8> CKEDITOR.e nv.version ?function( b){return" name"==b?! !this.$.na me:a.call( this,b)}:a :function( a){return! !this.$.at tributes.g etNamedIte m(a)}}(),h ide:functi on(){this. setStyle(" display"," none")},mo veChildren :function( a,b){var c =this.$;a= a.$;if(c!= a){var g;i f(b)for(;g =c.lastChi ld;)a.inse rtBefore(c .removeChi ld(g),a.fi rstChild); else for(; g=c.firstC hild;)a.ap pendChild( c.removeCh ild(g))}}, mergeSibli ngs:functi on(){funct ion a(b,f, g){if(f&&f .type==CKE DITOR.NODE _ELEMENT){ for(var c=        
87   [];f.data( "cke-bookm ark")||f.i sEmptyInli neRemoveab le();)if(c .push(f),f =g?f.getNe xt():f.get Previous() ,!f||f.typ e!=CKEDITO R.NODE_ELE MENT)retur n;if(b.isI dentical(f )){for(var  d=g?b.get Last():b.g etFirst(); c.length;) c.shift(). move(b,!g) ;f.moveChi ldren(b,!g );f.remove ();d&&d.ty pe==CKEDIT OR.NODE_EL EMENT&&d.m ergeSiblin gs()}}}ret urn functi on(b){if(! 1===b||CKE DITOR.dtd. $removeEmp ty[this.ge tName()]|| this.is("a "))a(this, this.getNe xt(),!0),a (this,this .getPrevio us())}}(), show:funct ion(){this .setStyles ({display: "",        
88   visibility :""})},set Attribute: function() {var a=fun ction(a,b) {this.$.se tAttribute (a,b);retu rn this};r eturn CKED ITOR.env.i e&&(CKEDIT OR.env.ie7 Compat||CK EDITOR.env .quirks)?f unction(b, c){"class" ==b?this.$ .className =c:"style" ==b?this.$ .style.css Text=c:"ta bindex"==b ?this.$.ta bIndex=c:" checked"== b?this.$.c hecked=c:" contentedi table"==b? a.call(thi s,"content Editable", c):a.apply (this,argu ments);ret urn this}: CKEDITOR.e nv.ie8Comp at&&CKEDIT OR.env.sec ure?functi on(b,c){if ("src"==b& &c.match(/ ^http:\/\/ /))try{a.a pply(this,        
89   arguments) }catch(g){ }else a.ap ply(this,a rguments); return thi s}:a}(),se tAttribute s:function (a){for(va r b in a)t his.setAtt ribute(b,a [b]);retur n this},se tValue:fun ction(a){t his.$.valu e=a;return  this},rem oveAttribu te:functio n(){var a= function(a ){this.$.r emoveAttri bute(a)};r eturn CKED ITOR.env.i e&&(CKEDIT OR.env.ie7 Compat||CK EDITOR.env .quirks)?f unction(a) {"class"== a?a="class Name":"tab index"==a? a="tabInde x":"conten teditable" ==a&&(a="c ontentEdit able");thi s.$.remove Attribute( a)}:a}(),r emoveAttri butes:func tion(a){if (CKEDITOR. tools.isAr ray(a))for (var b=        
90   0;b<a.leng th;b++)thi s.removeAt tribute(a[ b]);else f or(b in a) a.hasOwnPr operty(b)& &this.remo veAttribut e(b)},remo veStyle:fu nction(a){ var b=this .$.style;i f(b.remove Property|| "border"!= a&&"margin "!=a&&"pad ding"!=a)b .removePro perty?b.re moveProper ty(a):b.re moveAttrib ute(CKEDIT OR.tools.c ssStyleToD omStyle(a) ),this.$.s tyle.cssTe xt||this.r emoveAttri bute("styl e");else{v ar c=["top ","left"," right","bo ttom"],g;" border"==a &&(g=["col or","style ","width"] );for(var  b=[],d=0;d <c.length; d++)if(g)f or(var e=0 ;e<g.lengt h;e++)b.pu sh([a,        
91   c[d],g[e]] .join("-") );else b.p ush([a,c[d ]].join("- "));for(a= 0;a<b.leng th;a++)thi s.removeSt yle(b[a])} },setStyle :function( a,b){this. $.style[CK EDITOR.too ls.cssStyl eToDomStyl e(a)]=b;re turn this} ,setStyles :function( a){for(var  b in a)th is.setStyl e(b,a[b]); return thi s},setOpac ity:functi on(a){CKED ITOR.env.i e&&9>CKEDI TOR.env.ve rsion?(a=M ath.round( 100*a),thi s.setStyle ("filter", 100<=a?"": "progid:DX ImageTrans form.Micro soft.Alpha (opacity\x 3d"+a+")") ):this.set Style("opa city",a)}, unselectab le:functio n(){this.s etStyles(C KEDITOR.to ols.cssVen dorPrefix( "user-sele ct",        
92   "none"));i f(CKEDITOR .env.ie){t his.setAtt ribute("un selectable ","on");fo r(var a,b= this.getEl ementsByTa g("*"),c=0 ,g=b.count ();c<g;c++ )a=b.getIt em(c),a.se tAttribute ("unselect able","on" )}},getPos itionedAnc estor:func tion(){for (var a=thi s;"html"!= a.getName( );){if("st atic"!=a.g etComputed Style("pos ition"))re turn a;a=a .getParent ()}return  null},getD ocumentPos ition:func tion(a){va r b=0,c=0, g=this.get Document() ,d=g.getBo dy(),e="Ba ckCompat"= =g.$.compa tMode;if(d ocument.do cumentElem ent.getBou ndingClien tRect){var  k=        
93   this.$.get BoundingCl ientRect() ,m=g.$.doc umentEleme nt,p=m.cli entTop||d. $.clientTo p||0,u=m.c lientLeft| |d.$.clien tLeft||0,w =!0;CKEDIT OR.env.ie& &(w=g.getD ocumentEle ment().con tains(this ),g=g.getB ody().cont ains(this) ,w=e&&g||! e&&w);w&&( CKEDITOR.e nv.webkit| |CKEDITOR. env.ie&&12 <=CKEDITOR .env.versi on?(b=d.$. scrollLeft ||m.scroll Left,c=d.$ .scrollTop ||m.scroll Top):(c=e? d.$:m,b=c. scrollLeft ,c=c.scrol lTop),b=k. left+b-u,c =k.top+c-p )}else for (p=this,u= null;p&&"b ody"!=p.ge tName()&&" html"!=p.g etName();) {b+=p.$.of fsetLeft-        
94   p.$.scroll Left;c+=p. $.offsetTo p-p.$.scro llTop;p.eq uals(this) ||(b+=p.$. clientLeft ||0,c+=p.$ .clientTop ||0);for(; u&&!u.equa ls(p);)b-= u.$.scroll Left,c-=u. $.scrollTo p,u=u.getP arent();u= p;p=(k=p.$ .offsetPar ent)?new C KEDITOR.do m.element( k):null}a& &(k=this.g etWindow() ,p=a.getWi ndow(),!k. equals(p)& &k.$.frame Element&&( a=(new CKE DITOR.dom. element(k. $.frameEle ment)).get DocumentPo sition(a), b+=a.x,c+= a.y));docu ment.docum entElement .getBoundi ngClientRe ct||!CKEDI TOR.env.ge cko||e||(b +=this.$.c lientLeft? 1:0,c+=thi s.$.client Top?        
95   1:0);retur n{x:b,y:c} },scrollIn toView:fun ction(a){v ar b=this. getParent( );if(b){do  if((b.$.c lientWidth &&b.$.clie ntWidth<b. $.scrollWi dth||b.$.c lientHeigh t&&b.$.cli entHeight< b.$.scroll Height)&&! b.is("body ")&&this.s crollIntoP arent(b,a, 1),b.is("h tml")){var  c=b.getWi ndow();try {var g=c.$ .frameElem ent;g&&(b= new CKEDIT OR.dom.ele ment(g))}c atch(d){}} while(b=b. getParent( ))}},scrol lIntoParen t:function (a,b,c){va r g,d,e,k; function m (b,g){/bod y|html/.te st(a.getNa me())?a.ge tWindow(). $.scrollBy (b,g):(a.$ .scrollLef t+=        
96   b,a.$.scro llTop+=g)} function p (a,b){var  g={x:0,y:0 };if(!a.is (w?"body": "html")){v ar c=a.$.g etBounding ClientRect ();g.x=c.l eft;g.y=c. top}c=a.ge tWindow(); c.equals(b )||(c=p(CK EDITOR.dom .element.g et(c.$.fra meElement) ,b),g.x+=c .x,g.y+=c. y);return  g}function  u(a,b){re turn parse Int(a.getC omputedSty le("margin -"+b)||0,1 0)||0}!a&& (a=this.ge tWindow()) ;e=a.getDo cument();v ar w="Back Compat"==e .$.compatM ode;a inst anceof CKE DITOR.dom. window&&(a =w?e.getBo dy():e.get DocumentEl ement());e =a.getWind ow();d=p(t his,e);var  y=        
97   p(a,e),B=t his.$.offs etHeight;g =this.$.of fsetWidth; var v=a.$. clientHeig ht,z=a.$.c lientWidth ;e=d.x-u(t his,"left" )-y.x||0;k =d.y-u(thi s,"top")-y .y||0;g=d. x+g+u(this ,"right")- (y.x+z)||0 ;d=d.y+B+u (this,"bot tom")-(y.y +v)||0;(0> k||0<d)&&m (0,!0===b? k:!1===b?d :0>k?k:d); c&&(0>e||0 <g)&&m(0>e ?e:g,0)},s etState:fu nction(a,b ,c){b=b||" cke";switc h(a){case  CKEDITOR.T RISTATE_ON :this.addC lass(b+"_o n");this.r emoveClass (b+"_off") ;this.remo veClass(b+ "_disabled ");c&&this .setAttrib ute("aria- pressed",! 0);c&&this .removeAtt ribute("ar ia-disable d");        
98   break;case  CKEDITOR. TRISTATE_D ISABLED:th is.addClas s(b+"_disa bled");thi s.removeCl ass(b+"_of f");this.r emoveClass (b+"_on"); c&&this.se tAttribute ("aria-dis abled",!0) ;c&&this.r emoveAttri bute("aria -pressed") ;break;def ault:this. addClass(b +"_off"),t his.remove Class(b+"_ on"),this. removeClas s(b+"_disa bled"),c&& this.remov eAttribute ("aria-pre ssed"),c&& this.remov eAttribute ("aria-dis abled")}}, getFrameDo cument:fun ction(){va r a=this.$ ;try{a.con tentWindow .document} catch(b){a .src=a.src }return a& &new CKEDI TOR.dom.do cument(a.c ontentWind ow.documen t)},        
99   copyAttrib utes:funct ion(a,b){v ar c=this. $.attribut es;b=b||{} ;for(var g =0;g<c.len gth;g++){v ar d=c[g], e=d.nodeNa me.toLower Case(),k;i f(!(e in b ))if("chec ked"==e&&( k=this.get Attribute( e)))a.setA ttribute(e ,k);else i f(!CKEDITO R.env.ie|| this.hasAt tribute(e) )k=this.ge tAttribute (e),null== =k&&(k=d.n odeValue), a.setAttri bute(e,k)} ""!==this. $.style.cs sText&&(a. $.style.cs sText=this .$.style.c ssText)},r enameNode: function(a ){if(this. getName()! =a){var b= this.getDo cument();a =new CKEDI TOR.dom.el ement(a,b) ;this.copy Attributes (a);        
100   this.moveC hildren(a) ;this.getP arent(!0)& &this.$.pa rentNode.r eplaceChil d(a.$,this .$);a.$["d ata-cke-ex pando"]=th is.$["data -cke-expan do"];this. $=a.$;dele te this.ge tName}},ge tChild:fun ction(){fu nction a(b ,c){var g= b.childNod es;if(0<=c &&c<g.leng th)return  g[c]}retur n function (b){var c= this.$;if( b.slice)fo r(b=b.slic e();0<b.le ngth&&c;)c =a(c,b.shi ft());else  c=a(c,b); return c?n ew CKEDITO R.dom.node (c):null}} (),getChil dCount:fun ction(){re turn this. $.childNod es.length} ,disableCo ntextMenu: function() {this.on(" contextmen u",        
101   function(a ){a.data.g etTarget() .hasClass( "cke_enabl e_context_ menu")||a. data.preve ntDefault( )})},getDi rection:fu nction(a){ return a?t his.getCom putedStyle ("directio n")||this. getDirecti on()||this .getParent ()&&this.g etParent() .getDirect ion(1)||th is.getDocu ment().$.d ir||"ltr": this.getSt yle("direc tion")||th is.getAttr ibute("dir ")},data:f unction(a, b){a="data -"+a;if(vo id 0===b)r eturn this .getAttrib ute(a);!1= ==b?this.r emoveAttri bute(a):th is.setAttr ibute(a,b) ;return nu ll},getEdi tor:functi on(){var a =CKEDITOR. instances,        
102   b,c;for(b  in a)if(c= a[b],c.ele ment.equal s(this)&&c .elementMo de!=CKEDIT OR.ELEMENT _MODE_APPE NDTO)retur n c;return  null},fin d:function (a){var c= e(this);a= new CKEDIT OR.dom.nod eList(this .$.querySe lectorAll( b(this,a)) );c();retu rn a},find One:functi on(a){var  c=e(this); a=this.$.q uerySelect or(b(this, a));c();re turn a?new  CKEDITOR. dom.elemen t(a):null} ,forEach:f unction(a, b,c){if(!( c||b&&this .type!=b)) var g=a(th is);if(!1! ==g){c=thi s.getChild ren();for( var d=0;d< c.count(); d++)g=c.ge tItem(d),g .type==CKE DITOR.NODE _ELEMENT?        
103   g.forEach( a,b):b&&g. type!=b||a (g)}}});va r m={width :["border- left-width ","border- right-widt h","paddin g-left","p adding-rig ht"],heigh t:["border -top-width ","border- bottom-wid th","paddi ng-top","p adding-bot tom"]};CKE DITOR.dom. element.pr ototype.se tSize=func tion(a,b,d ){"number" ==typeof b &&(!d||CKE DITOR.env. ie&&CKEDIT OR.env.qui rks||(b-=c .call(this ,a)),this. setStyle(a ,b+"px"))} ;CKEDITOR. dom.elemen t.prototyp e.getSize= function(a ,b){var d= Math.max(t his.$["off set"+CKEDI TOR.tools. capitalize (a)],this. $["client" +        
104   CKEDITOR.t ools.capit alize(a)]) ||0;b&&(d- =c.call(th is,a));ret urn d}}(), CKEDITOR.d om.documen tFragment= function(a ){a=a||CKE DITOR.docu ment;this. $=a.type== CKEDITOR.N ODE_DOCUME NT?a.$.cre ateDocumen tFragment( ):a},CKEDI TOR.tools. extend(CKE DITOR.dom. documentFr agment.pro totype,CKE DITOR.dom. element.pr ototype,{t ype:CKEDIT OR.NODE_DO CUMENT_FRA GMENT,inse rtAfterNod e:function (a){a=a.$; a.parentNo de.insertB efore(this .$,a.nextS ibling)},g etHtml:fun ction(){va r a=new CK EDITOR.dom .element(" div");this .clone(1,1 ).appendTo (a);        
105   return a.g etHtml().r eplace(/\s *data-cke- expando=". *?"/g,"")} },!0,{appe nd:1,appen dBogus:1,c lone:1,get First:1,ge tHtml:1,ge tLast:1,ge tParent:1, getNext:1, getPreviou s:1,append To:1,moveC hildren:1, insertBefo re:1,inser tAfterNode :1,replace :1,trim:1, type:1,ltr im:1,rtrim :1,getDocu ment:1,get ChildCount :1,getChil d:1,getChi ldren:1}), function() {function  a(a,b){var  g=this.ra nge;if(thi s._.end)re turn null; if(!this._ .start){th is._.start =1;if(g.co llapsed)re turn this. end(),null ;g.optimiz e()}var c, d=g.startC ontainer;c =        
106   g.endConta iner;var f =g.startOf fset,e=g.e ndOffset,h ,n=this.gu ard,k=this .type,l=a? "getPrevio usSourceNo de":"getNe xtSourceNo de";if(!a& &!this._.g uardLTR){v ar m=c.typ e==CKEDITO R.NODE_ELE MENT?c:c.g etParent() ,A=c.type= =CKEDITOR. NODE_ELEME NT?c.getCh ild(e):c.g etNext();t his._.guar dLTR=funct ion(a,b){r eturn(!b|| !m.equals( a))&&(!A|| !a.equals( A))&&(a.ty pe!=CKEDIT OR.NODE_EL EMENT||!b| |!a.equals (g.root))} }if(a&&!th is._.guard RTL){var D =d.type==C KEDITOR.NO DE_ELEMENT ?d:d.getPa rent(),G=d .type==CKE DITOR.NODE _ELEMENT?f ?        
107   d.getChild (f-1):null :d.getPrev ious();thi s._.guardR TL=functio n(a,b){ret urn(!b||!D .equals(a) )&&(!G||!a .equals(G) )&&(a.type !=CKEDITOR .NODE_ELEM ENT||!b||! a.equals(g .root))}}v ar F=a?thi s._.guardR TL:this._. guardLTR;h =n?functio n(a,b){ret urn!1===F( a,b)?!1:n( a,b)}:F;th is.current ?c=this.cu rrent[l](! 1,k,h):(a? c.type==CK EDITOR.NOD E_ELEMENT& &(c=0<e?c. getChild(e -1):!1===h (c,!0)?nul l:c.getPre viousSourc eNode(!0,k ,h)):(c=d, c.type==CK EDITOR.NOD E_ELEMENT& &((c=c.get Child(f))| |(c=!1===h (d,!0)?nul l:d.getNex tSourceNod e(!0,        
108   k,h)))),c& &!1===h(c) &&(c=null) );for(;c&& !this._.en d;){this.c urrent=c;i f(!this.ev aluator||! 1!==this.e valuator(c )){if(!b)r eturn c}el se if(b&&t his.evalua tor)return !1;c=c[l]( !1,k,h)}th is.end();r eturn this .current=n ull}functi on e(b){fo r(var g,c= null;g=a.c all(this,b );)c=g;ret urn c}CKED ITOR.dom.w alker=CKED ITOR.tools .createCla ss({$:func tion(a){th is.range=a ;this._={} },proto:{e nd:functio n(){this._ .end=1},ne xt:functio n(){return  a.call(th is)},previ ous:functi on(){retur n a.call(t his,1)},ch eckForward :function( ){return!1 !==        
109   a.call(thi s,0,1)},ch eckBackwar d:function (){return! 1!==a.call (this,1,1) },lastForw ard:functi on(){retur n e.call(t his)},last Backward:f unction(){ return e.c all(this,1 )},reset:f unction(){ delete thi s.current; this._={}} }});var b= {block:1," list-item" :1,table:1 ,"table-ro w-group":1 ,"table-he ader-group ":1,"table -footer-gr oup":1,"ta ble-row":1 ,"table-co lumn-group ":1,"table -column":1 ,"table-ce ll":1,"tab le-caption ":1},c={ab solute:1,f ixed:1};CK EDITOR.dom .element.p rototype.i sBlockBoun dary=funct ion(a){ret urn"none"! =        
110   this.getCo mputedStyl e("float") ||this.get ComputedSt yle("posit ion")in c| |!b[this.g etComputed Style("dis play")]?!! (this.is(C KEDITOR.dt d.$block)| |a&&this.i s(a)):!0}; CKEDITOR.d om.walker. blockBound ary=functi on(a){retu rn functio n(b){retur n!(b.type= =CKEDITOR. NODE_ELEME NT&&b.isBl ockBoundar y(a))}};CK EDITOR.dom .walker.li stItemBoun dary=funct ion(){retu rn this.bl ockBoundar y({br:1})} ;CKEDITOR. dom.walker .bookmark= function(a ,b){functi on g(a){re turn a&&a. getName&&" span"==a.g etName()&& a.data("ck e-bookmark ")}return  function(c ){var d,        
111   f;d=c&&c.t ype!=CKEDI TOR.NODE_E LEMENT&&(f =c.getPare nt())&&g(f );d=a?d:d| |g(c);retu rn!!(b^d)} };CKEDITOR .dom.walke r.whitespa ces=functi on(a){retu rn functio n(b){var g ;b&&b.type ==CKEDITOR .NODE_TEXT &&(g=!CKED ITOR.tools .trim(b.ge tText())|| CKEDITOR.e nv.webkit& &"​"==b.ge tText());r eturn!!(a^ g)}};CKEDI TOR.dom.wa lker.invis ible=funct ion(a){var  b=CKEDITO R.dom.walk er.whitesp aces(),g=C KEDITOR.en v.webkit?1 :0;return  function(c ){b(c)?c=1 :(c.type== CKEDITOR.N ODE_TEXT&& (c=c.getPa rent()),c= c.$.offset Width<=g); return!!(a ^        
112   c)}};CKEDI TOR.dom.wa lker.nodeT ype=functi on(a,b){re turn funct ion(g){ret urn!!(b^g. type==a)}} ;CKEDITOR. dom.walker .bogus=fun ction(a){f unction b( a){return! k(a)&&!m(a )}return f unction(g) {var c=CKE DITOR.env. needsBrFil ler?g.is&& g.is("br") :g.getText &&d.test(g .getText() );c&&(c=g. getParent( ),g=g.getN ext(b),c=c .isBlockBo undary()&& (!g||g.typ e==CKEDITO R.NODE_ELE MENT&&g.is BlockBound ary()));re turn!!(a^c )}};CKEDIT OR.dom.wal ker.temp=f unction(a) {return fu nction(b){ b.type!=CK EDITOR.NOD E_ELEMENT& &(b=b.getP arent());b =        
113   b&&b.hasAt tribute("d ata-cke-te mp");retur n!!(a^b)}} ;var d=/^[ \t\r\n ]*( ?:&nbsp;|\ xa0)$/,k=C KEDITOR.do m.walker.w hitespaces (),m=CKEDI TOR.dom.wa lker.bookm ark(),f=CK EDITOR.dom .walker.te mp(),l=fun ction(a){r eturn m(a) ||k(a)||a. type==CKED ITOR.NODE_ ELEMENT&&a .is(CKEDIT OR.dtd.$in line)&&!a. is(CKEDITO R.dtd.$emp ty)};CKEDI TOR.dom.wa lker.ignor ed=functio n(a){retur n function (b){b=k(b) ||m(b)||f( b);return! !(a^b)}};v ar h=CKEDI TOR.dom.wa lker.ignor ed();CKEDI TOR.dom.wa lker.empty =function( a){return  function(b ){for(var  g=        
114   0,c=b.getC hildCount( );g<c;++g) if(!h(b.ge tChild(g)) )return!!a ;return!a} };var g=CK EDITOR.dom .walker.em pty(),n=CK EDITOR.dom .walker.va lidEmptyBl ockContain ers=CKEDIT OR.tools.e xtend(func tion(a){va r b={},g;f or(g in a) CKEDITOR.d td[g]["#"] &&(b[g]=1) ;return b} (CKEDITOR. dtd.$block ),{caption :1,td:1,th :1});CKEDI TOR.dom.wa lker.edita ble=functi on(a){retu rn functio n(b){b=h(b )?!1:b.typ e==CKEDITO R.NODE_TEX T||b.type= =CKEDITOR. NODE_ELEME NT&&(b.is( CKEDITOR.d td.$inline )||b.is("h r")||"fals e"==b.getA ttribute(" contentedi table")||        
115   !CKEDITOR. env.needsB rFiller&&b .is(n)&&g( b))?!0:!1; return!!(a ^b)}};CKED ITOR.dom.e lement.pro totype.get Bogus=func tion(){var  a=this;do  a=a.getPr eviousSour ceNode();w hile(l(a)) ;return a& &(CKEDITOR .env.needs BrFiller?a .is&&a.is( "br"):a.ge tText&&d.t est(a.getT ext()))?a: !1}}(),CKE DITOR.dom. range=func tion(a){th is.endOffs et=this.en dContainer =this.star tOffset=th is.startCo ntainer=nu ll;this.co llapsed=!0 ;var e=a i nstanceof  CKEDITOR.d om.documen t;this.doc ument=e?a: a.getDocum ent();this .root=e?a. getBody(): a},functio n(){functi on a(a){a. collapsed=        
116   a.startCon tainer&&a. endContain er&&a.star tContainer .equals(a. endContain er)&&a.sta rtOffset== a.endOffse t}function  e(a,b,c,d ,f){functi on e(a,b,g ,c){var d= g?a.getPre vious():a. getNext(); if(c&&l)re turn d;v|| c?b.append (a.clone(! 0,f),g):(a .remove(), m&&b.appen d(a));retu rn d}funct ion h(){va r a,b,g,c= Math.min(E .length,N. length);fo r(a=0;a<c; a++)if(b=E [a],g=N[a] ,!b.equals (g))return  a;return  a-1}functi on k(){var  b=R-1,c=F &&I&&!z.eq uals(C);b< P-1||b<T-1 ||c?(c?a.m oveToPosit ion(C,CKED ITOR.POSIT ION_BEFORE _START):T= =        
117   b+1&&G?a.m oveToPosit ion(N[b],C KEDITOR.PO SITION_BEF ORE_END):a .moveToPos ition(N[b+ 1],CKEDITO R.POSITION _BEFORE_ST ART),d&&(b =E[b+1])&& b.type==CK EDITOR.NOD E_ELEMENT& &(c=CKEDIT OR.dom.ele ment.creat eFromHtml( '\x3cspan  data-cke-b ookmark\x3 d"1" style \x3d"displ ay:none"\x 3e\x26nbsp ;\x3c/span \x3e',a.do cument),c. insertAfte r(b),b.mer geSiblings (!1),a.mov eToBookmar k({startNo de:c}))):a .collapse( !0)}a.opti mizeBookma rk();var l =0===b,m=1 ==b,v=2==b ;b=v||m;va r z=a.star tContainer ,C=a.endCo ntainer,x= a.startOff set,A=a.en dOffset,        
118   D,G,F,I,H, K;if(v&&C. type==CKED ITOR.NODE_ TEXT&&z.eq uals(C))z= a.document .createTex t(z.substr ing(x,A)), c.append(z );else{C.t ype==CKEDI TOR.NODE_T EXT?v?K=!0 :C=C.split (A):0<C.ge tChildCoun t()?A>=C.g etChildCou nt()?(C=C. getChild(A -1),G=!0): C=C.getChi ld(A):I=G= !0;z.type= =CKEDITOR. NODE_TEXT? v?H=!0:z.s plit(x):0< z.getChild Count()?0= ==x?(z=z.g etChild(x) ,D=!0):z=z .getChild( x-1):F=D=! 0;for(var  E=z.getPar ents(),N=C .getParent s(),R=h(), P=E.length -1,T=N.len gth-1,O=c, Y,M,W,U=-1 ,J=R;J<=P; J++){M=E[J ];W=M.getN ext();for( J!=        
119   P||M.equal s(N[J])&&P <T?b&&(Y=O .append(M. clone(0,f) )):D?e(M,O ,!1,F):H&& O.append(a .document. createText (M.substri ng(x)));W; ){if(W.equ als(N[J])) {U=J;break }W=e(W,O)} O=Y}O=c;fo r(J=R;J<=T ;J++)if(c= N[J],W=c.g etPrevious (),c.equal s(E[J]))b& &(O=O.getC hild(0));e lse{J!=T|| c.equals(E [J])&&T<P? b&&(Y=O.ap pend(c.clo ne(0,f))): G?e(c,O,!1 ,I):K&&O.a ppend(a.do cument.cre ateText(c. substring( 0,A)));if( J>U)for(;W ;)W=e(W,O, !0);O=Y}v| |k()}}func tion b(){v ar a=!1,b= CKEDITOR.d om.walker. whitespace s(),c=CKED ITOR.dom.w alker.book mark(!0),        
120   d=CKEDITOR .dom.walke r.bogus(); return fun ction(f){r eturn c(f) ||b(f)?!0: d(f)&&!a?a =!0:f.type ==CKEDITOR .NODE_TEXT &&(f.hasAs cendant("p re")||CKED ITOR.tools .trim(f.ge tText()).l ength)||f. type==CKED ITOR.NODE_ ELEMENT&&! f.is(k)?!1 :!0}}funct ion c(a){v ar b=CKEDI TOR.dom.wa lker.white spaces(),c =CKEDITOR. dom.walker .bookmark( 1);return  function(d ){return c (d)||b(d)? !0:!a&&m(d )||d.type= =CKEDITOR. NODE_ELEME NT&&d.is(C KEDITOR.dt d.$removeE mpty)}}fun ction d(a) {return fu nction(){v ar b;retur n this[a?" getPreviou sNode":"ge tNextNode" ](function (a){!b&&        
121   h(a)&&(b=a );return l (a)&&!(m(a )&&a.equal s(b))})}}v ar k={abbr :1,acronym :1,b:1,bdo :1,big:1,c ite:1,code :1,del:1,d fn:1,em:1, font:1,i:1 ,ins:1,lab el:1,kbd:1 ,q:1,samp: 1,small:1, span:1,str ike:1,stro ng:1,sub:1 ,sup:1,tt: 1,u:1,"var ":1},m=CKE DITOR.dom. walker.bog us(),f=/^[ \t\r\n ]*( ?:&nbsp;|\ xa0)$/,l=C KEDITOR.do m.walker.e ditable(), h=CKEDITOR .dom.walke r.ignored( !0);CKEDIT OR.dom.ran ge.prototy pe={clone: function() {var a=new  CKEDITOR. dom.range( this.root) ;a._setSta rtContaine r(this.sta rtContaine r);a.start Offset=thi s.startOff set;        
122   a._setEndC ontainer(t his.endCon tainer);a. endOffset= this.endOf fset;a.col lapsed=thi s.collapse d;return a },collapse :function( a){a?(this ._setEndCo ntainer(th is.startCo ntainer),t his.endOff set=this.s tartOffset ):(this._s etStartCon tainer(thi s.endConta iner),this .startOffs et=this.en dOffset);t his.collap sed=!0},cl oneContent s:function (a){var b= new CKEDIT OR.dom.doc umentFragm ent(this.d ocument);t his.collap sed||e(thi s,2,b,!1," undefined" ==typeof a ?!0:a);ret urn b},del eteContent s:function (a){this.c ollapsed|| e(this,0,n ull,        
123   a)},extrac tContents: function(a ,b){var c= new CKEDIT OR.dom.doc umentFragm ent(this.d ocument);t his.collap sed||e(thi s,1,c,a,"u ndefined"= =typeof b? !0:b);retu rn c},crea teBookmark :function( a){var b,c ,d,f,e=thi s.collapse d;b=this.d ocument.cr eateElemen t("span"); b.data("ck e-bookmark ",1);b.set Style("dis play","non e");b.setH tml("\x26n bsp;");a&& (d="cke_bm _"+CKEDITO R.tools.ge tNextNumbe r(),b.setA ttribute(" id",d+(e?" C":"S"))); e||(c=b.cl one(),c.se tHtml("\x2 6nbsp;"),a &&c.setAtt ribute("id ",d+"E"),f =this.clon e(),f.coll apse(),        
124   f.insertNo de(c));f=t his.clone( );f.collap se(!0);f.i nsertNode( b);c?(this .setStartA fter(b),th is.setEndB efore(c)): this.moveT oPosition( b,CKEDITOR .POSITION_ AFTER_END) ;return{st artNode:a? d+(e?"C":" S"):b,endN ode:a?d+"E ":c,serial izable:a,c ollapsed:e }},createB ookmark2:f unction(){ function a (g){var c= g.containe r,d=g.offs et,f;f=c;v ar e=d;f=f .type!=CKE DITOR.NODE _ELEMENT|| 0===e||e== f.getChild Count()?0: f.getChild (e-1).type ==CKEDITOR .NODE_TEXT &&f.getChi ld(e).type ==CKEDITOR .NODE_TEXT ;f&&(c=c.g etChild(d- 1),d=c.get Length());        
125   c.type==CK EDITOR.NOD E_ELEMENT& &1<d&&(d=c .getChild( d-1).getIn dex(!0)+1) ;if(c.type ==CKEDITOR .NODE_TEXT ){f=c;for( e=0;(f=f.g etPrevious ())&&f.typ e==CKEDITO R.NODE_TEX T;)e+=f.ge tLength(); f=e;c.getT ext()?d+=f :(e=c.getP revious(b) ,f?(d=f,c= e?e.getNex t():c.getP arent().ge tFirst()): (c=c.getPa rent(),d=e ?e.getInde x(!0)+1:0) )}g.contai ner=c;g.of fset=d}var  b=CKEDITO R.dom.walk er.nodeTyp e(CKEDITOR .NODE_TEXT ,!0);retur n function (b){var c= this.colla psed,d={co ntainer:th is.startCo ntainer,of fset:this. startOffse t},f={cont ainer:this .endContai ner,        
126   offset:thi s.endOffse t};b&&(a(d ),c||a(f)) ;return{st art:d.cont ainer.getA ddress(b), end:c?null :f.contain er.getAddr ess(b),sta rtOffset:d .offset,en dOffset:f. offset,nor malized:b, collapsed: c,is2:!0}} }(),moveTo Bookmark:f unction(a) {if(a.is2) {var b=thi s.document .getByAddr ess(a.star t,a.normal ized),c=a. startOffse t,d=a.end& &this.docu ment.getBy Address(a. end,a.norm alized);a= a.endOffse t;this.set Start(b,c) ;d?this.se tEnd(d,a): this.colla pse(!0)}el se b=(c=a. serializab le)?this.d ocument.ge tById(a.st artNode):a .startNode ,        
127   a=c?this.d ocument.ge tById(a.en dNode):a.e ndNode,thi s.setStart Before(b), b.remove() ,a?(this.s etEndBefor e(a),a.rem ove()):thi s.collapse (!0)},getB oundaryNod es:functio n(){var a= this.start Container, b=this.end Container, c=this.sta rtOffset,d =this.endO ffset,f;if (a.type==C KEDITOR.NO DE_ELEMENT )if(f=a.ge tChildCoun t(),f>c)a= a.getChild (c);else i f(1>f)a=a. getPreviou sSourceNod e();else{f or(a=a.$;a .lastChild ;)a=a.last Child;a=ne w CKEDITOR .dom.node( a);a=a.get NextSource Node()||a} if(b.type= =CKEDITOR. NODE_ELEME NT)if(f=b. getChildCo unt(),        
128   f>d)b=b.ge tChild(d). getPreviou sSourceNod e(!0);else  if(1>f)b= b.getPrevi ousSourceN ode();else {for(b=b.$ ;b.lastChi ld;)b=b.la stChild;b= new CKEDIT OR.dom.nod e(b)}a.get Position(b )&CKEDITOR .POSITION_ FOLLOWING& &(a=b);ret urn{startN ode:a,endN ode:b}},ge tCommonAnc estor:func tion(a,b){ var c=this .startCont ainer,d=th is.endCont ainer,c=c. equals(d)? a&&c.type= =CKEDITOR. NODE_ELEME NT&&this.s tartOffset ==this.end Offset-1?c .getChild( this.start Offset):c: c.getCommo nAncestor( d);return  b&&!c.is?c .getParent ():c},opti mize:funct ion(){var  a=        
129   this.start Container, b=this.sta rtOffset;a .type!=CKE DITOR.NODE _ELEMENT&& (b?b>=a.ge tLength()& &this.setS tartAfter( a):this.se tStartBefo re(a));a=t his.endCon tainer;b=t his.endOff set;a.type !=CKEDITOR .NODE_ELEM ENT&&(b?b> =a.getLeng th()&&this .setEndAft er(a):this .setEndBef ore(a))},o ptimizeBoo kmark:func tion(){var  a=this.st artContain er,b=this. endContain er;a.is&&a .is("span" )&&a.data( "cke-bookm ark")&&thi s.setStart At(a,CKEDI TOR.POSITI ON_BEFORE_ START);b&& b.is&&b.is ("span")&& b.data("ck e-bookmark ")&&this.s etEndAt(b, CKEDITOR.P OSITION_AF TER_END)},        
130   trim:funct ion(a,b){v ar c=this. startConta iner,d=thi s.startOff set,f=this .collapsed ;if((!a||f )&&c&&c.ty pe==CKEDIT OR.NODE_TE XT){if(d)i f(d>=c.get Length())d =c.getInde x()+1,c=c. getParent( );else{var  e=c.split (d),d=c.ge tIndex()+1 ,c=c.getPa rent();thi s.startCon tainer.equ als(this.e ndContaine r)?this.se tEnd(e,thi s.endOffse t-this.sta rtOffset): c.equals(t his.endCon tainer)&&( this.endOf fset+=1)}e lse d=c.ge tIndex(),c =c.getPare nt();this. setStart(c ,d);if(f){ this.colla pse(!0);re turn}}c=th is.endCont ainer;d=th is.endOffs et;        
131   b||f||!c|| c.type!=CK EDITOR.NOD E_TEXT||(d ?(d>=c.get Length()|| c.split(d) ,d=c.getIn dex()+1):d =c.getInde x(),c=c.ge tParent(), this.setEn d(c,d))},e nlarge:fun ction(a,b) {function  c(a){retur n a&&a.typ e==CKEDITO R.NODE_ELE MENT&&a.ha sAttribute ("contente ditable")? null:a}var  d=new Reg Exp(/[^\s\ ufeff]/);s witch(a){c ase CKEDIT OR.ENLARGE _INLINE:va r f=1;case  CKEDITOR. ENLARGE_EL EMENT:var  e=function (a,b){var  c=new CKED ITOR.dom.r ange(k);c. setStart(a ,b);c.setE ndAt(k,CKE DITOR.POSI TION_BEFOR E_END);var  c=new CKE DITOR.dom. walker(c),        
132   g;for(c.gu ard=functi on(a){retu rn!(a.type ==CKEDITOR .NODE_ELEM ENT&&a.isB lockBounda ry())};g=c .next();){ if(g.type! =CKEDITOR. NODE_TEXT) return!1;D =g!=a?g.ge tText():g. substring( b);if(d.te st(D))retu rn!1}retur n!0};if(th is.collaps ed)break;v ar h=this. getCommonA ncestor(), k=this.roo t,l,m,v,z, C,x=!1,A,D ;A=this.st artContain er;var G=t his.startO ffset;A.ty pe==CKEDIT OR.NODE_TE XT?(G&&(A= !CKEDITOR. tools.trim (A.substri ng(0,G)).l ength&&A,x =!!A),A&&( (z=A.getPr evious())| |(v=A.getP arent()))) :(G&&(z=A. getChild(G -1)||A.get Last()),        
133   z||(v=A)); for(v=c(v) ;v||z;){if (v&&!z){!C &&v.equals (h)&&(C=!0 );if(f?v.i sBlockBoun dary():!k. contains(v ))break;x& &"inline"= =v.getComp utedStyle( "display") ||(x=!1,C? l=v:this.s etStartBef ore(v));z= v.getPrevi ous()}for( ;z;)if(A=! 1,z.type== CKEDITOR.N ODE_COMMEN T)z=z.getP revious(); else{if(z. type==CKED ITOR.NODE_ TEXT)D=z.g etText(),d .test(D)&& (z=null),A =/[\s\ufef f]$/.test( D);else if ((z.$.offs etWidth>(C KEDITOR.en v.webkit?1 :0)||b&&z. is("br"))& &!z.data(" cke-bookma rk"))if(x& &CKEDITOR. dtd.$remov eEmpty[z.g etName()]) {D=        
134   z.getText( );if(d.tes t(D))z=nul l;else for (var G=z.$ .getElemen tsByTagNam e("*"),F=0 ,I;I=G[F++ ];)if(!CKE DITOR.dtd. $removeEmp ty[I.nodeN ame.toLowe rCase()]){ z=null;bre ak}z&&(A=! !D.length) }else z=nu ll;A&&(x?C ?l=v:v&&th is.setStar tBefore(v) :x=!0);if( z){A=z.get Previous() ;if(!v&&!A ){v=z;z=nu ll;break}z =A}else v= null}v&&(v =c(v.getPa rent()))}A =this.endC ontainer;G =this.endO ffset;v=z= null;C=x=! 1;A.type== CKEDITOR.N ODE_TEXT?C KEDITOR.to ols.trim(A .substring (G)).lengt h?x=!0:(x= !A.getLeng th(),G==A. getLength( )?(z=A.get Next())||        
135   (v=A.getPa rent()):e( A,G)&&(v=A .getParent ())):(z=A. getChild(G ))||(v=A); for(;v||z; ){if(v&&!z ){!C&&v.eq uals(h)&&( C=!0);if(f ?v.isBlock Boundary() :!k.contai ns(v))brea k;x&&"inli ne"==v.get ComputedSt yle("displ ay")||(x=! 1,C?m=v:v& &this.setE ndAfter(v) );z=v.getN ext()}for( ;z;){A=!1; if(z.type= =CKEDITOR. NODE_TEXT) D=z.getTex t(),e(z,0) ||(z=null) ,A=/^[\s\u feff]/.tes t(D);else  if(z.type= =CKEDITOR. NODE_ELEME NT){if((0< z.$.offset Width||b&& z.is("br") )&&!z.data ("cke-book mark"))if( x&&CKEDITO R.dtd.$rem oveEmpty[z .getName() ]){D=        
136   z.getText( );if(d.tes t(D))z=nul l;else for (G=z.$.get ElementsBy TagName("* "),F=0;I=G [F++];)if( !CKEDITOR. dtd.$remov eEmpty[I.n odeName.to LowerCase( )]){z=null ;break}z&& (A=!!D.len gth)}else  z=null}els e A=1;A&&x &&(C?m=v:t his.setEnd After(v)); if(z){A=z. getNext(); if(!v&&!A) {v=z;z=nul l;break}z= A}else v=n ull}v&&(v= c(v.getPar ent()))}l& &m&&(h=l.c ontains(m) ?m:l,this. setStartBe fore(h),th is.setEndA fter(h));b reak;case  CKEDITOR.E NLARGE_BLO CK_CONTENT S:case CKE DITOR.ENLA RGE_LIST_I TEM_CONTEN TS:v=new C KEDITOR.do m.range(th is.root);        
137   k=this.roo t;v.setSta rtAt(k,CKE DITOR.POSI TION_AFTER _START);v. setEnd(thi s.startCon tainer,thi s.startOff set);v=new  CKEDITOR. dom.walker (v);var H, K,E=CKEDIT OR.dom.wal ker.blockB oundary(a= =CKEDITOR. ENLARGE_LI ST_ITEM_CO NTENTS?{br :1}:null), N=null,R=f unction(a) {if(a.type ==CKEDITOR .NODE_ELEM ENT&&"fals e"==a.getA ttribute(" contentedi table"))if (N){if(N.e quals(a)){ N=null;ret urn}}else  N=a;else i f(N)return ;var b=E(a );b||(H=a) ;return b} ,f=functio n(a){var b =R(a);!b&& a.is&&a.is ("br")&&(K =a);return  b};v.guar d=R;v=v.la stBackward ();        
138   H=H||k;thi s.setStart At(H,!H.is ("br")&&(! v&&this.ch eckStartOf Block()||v &&H.contai ns(v))?CKE DITOR.POSI TION_AFTER _START:CKE DITOR.POSI TION_AFTER _END);if(a ==CKEDITOR .ENLARGE_L IST_ITEM_C ONTENTS){v =this.clon e();v=new  CKEDITOR.d om.walker( v);var P=C KEDITOR.do m.walker.w hitespaces (),T=CKEDI TOR.dom.wa lker.bookm ark();v.ev aluator=fu nction(a){ return!P(a )&&!T(a)}; if((v=v.pr evious())& &v.type==C KEDITOR.NO DE_ELEMENT &&v.is("br "))break}v =this.clon e();v.coll apse();v.s etEndAt(k, CKEDITOR.P OSITION_BE FORE_END); v=new CKED ITOR.dom.w alker(v);        
139   v.guard=a= =CKEDITOR. ENLARGE_LI ST_ITEM_CO NTENTS?f:R ;H=N=K=nul l;v=v.last Forward(); H=H||k;thi s.setEndAt (H,!v&&thi s.checkEnd OfBlock()| |v&&H.cont ains(v)?CK EDITOR.POS ITION_BEFO RE_END:CKE DITOR.POSI TION_BEFOR E_START);K &&this.set EndAfter(K )}},shrink :function( a,b,c){if( !this.coll apsed){a=a ||CKEDITOR .SHRINK_TE XT;var d=t his.clone( ),f=this.s tartContai ner,e=this .endContai ner,h=this .startOffs et,k=this. endOffset, l=1,m=1;f& &f.type==C KEDITOR.NO DE_TEXT&&( h?h>=f.get Length()?d .setStartA fter(f):(d .setStartB efore(f),l =        
140   0):d.setSt artBefore( f));e&&e.t ype==CKEDI TOR.NODE_T EXT&&(k?k> =e.getLeng th()?d.set EndAfter(e ):(d.setEn dAfter(e), m=0):d.set EndBefore( e));var d= new CKEDIT OR.dom.wal ker(d),v=C KEDITOR.do m.walker.b ookmark(); d.evaluato r=function (b){return  b.type==( a==CKEDITO R.SHRINK_E LEMENT?CKE DITOR.NODE _ELEMENT:C KEDITOR.NO DE_TEXT)}; var z;d.gu ard=functi on(b,d){if (v(b))retu rn!0;if(a= =CKEDITOR. SHRINK_ELE MENT&&b.ty pe==CKEDIT OR.NODE_TE XT||d&&b.e quals(z)|| !1===c&&b. type==CKED ITOR.NODE_ ELEMENT&&b .isBlockBo undary()|| b.type==CK EDITOR.NOD E_ELEMENT& &        
141   b.hasAttri bute("cont enteditabl e"))return !1;d||b.ty pe!=CKEDIT OR.NODE_EL EMENT||(z= b);return! 0};l&&(f=d [a==CKEDIT OR.SHRINK_ ELEMENT?"l astForward ":"next"]( ))&&this.s etStartAt( f,b?CKEDIT OR.POSITIO N_AFTER_ST ART:CKEDIT OR.POSITIO N_BEFORE_S TART);m&&( d.reset(), (d=d[a==CK EDITOR.SHR INK_ELEMEN T?"lastBac kward":"pr evious"]() )&&this.se tEndAt(d,b ?CKEDITOR. POSITION_B EFORE_END: CKEDITOR.P OSITION_AF TER_END)); return!(!l &&!m)}},in sertNode:f unction(a) {this.opti mizeBookma rk();this. trim(!1,!0 );var b=th is.startCo ntainer,c= b.getChild (this.star tOffset);        
142   c?a.insert Before(c): b.append(a );a.getPar ent()&&a.g etParent() .equals(th is.endCont ainer)&&th is.endOffs et++;this. setStartBe fore(a)},m oveToPosit ion:functi on(a,b){th is.setStar tAt(a,b);t his.collap se(!0)},mo veToRange: function(a ){this.set Start(a.st artContain er,a.start Offset);th is.setEnd( a.endConta iner,a.end Offset)},s electNodeC ontents:fu nction(a){ this.setSt art(a,0);t his.setEnd (a,a.type= =CKEDITOR. NODE_TEXT? a.getLengt h():a.getC hildCount( ))},setSta rt:functio n(b,c){b.t ype==CKEDI TOR.NODE_E LEMENT&&CK EDITOR.dtd .$empty[b. getName()] &&        
143   (c=b.getIn dex(),b=b. getParent( ));this._s etStartCon tainer(b); this.start Offset=c;t his.endCon tainer||(t his._setEn dContainer (b),this.e ndOffset=c );a(this)} ,setEnd:fu nction(b,c ){b.type== CKEDITOR.N ODE_ELEMEN T&&CKEDITO R.dtd.$emp ty[b.getNa me()]&&(c= b.getIndex ()+1,b=b.g etParent() );this._se tEndContai ner(b);thi s.endOffse t=c;this.s tartContai ner||(this ._setStart Container( b),this.st artOffset= c);a(this) },setStart After:func tion(a){th is.setStar t(a.getPar ent(),a.ge tIndex()+1 )},setStar tBefore:fu nction(a){ this.setSt art(a.getP arent(),        
144   a.getIndex ())},setEn dAfter:fun ction(a){t his.setEnd (a.getPare nt(),a.get Index()+1) },setEndBe fore:funct ion(a){thi s.setEnd(a .getParent (),a.getIn dex())},se tStartAt:f unction(b, c){switch( c){case CK EDITOR.POS ITION_AFTE R_START:th is.setStar t(b,0);bre ak;case CK EDITOR.POS ITION_BEFO RE_END:b.t ype==CKEDI TOR.NODE_T EXT?this.s etStart(b, b.getLengt h()):this. setStart(b ,b.getChil dCount()); break;case  CKEDITOR. POSITION_B EFORE_STAR T:this.set StartBefor e(b);break ;case CKED ITOR.POSIT ION_AFTER_ END:this.s etStartAft er(b)}a(th is)},        
145   setEndAt:f unction(b, c){switch( c){case CK EDITOR.POS ITION_AFTE R_START:th is.setEnd( b,0);break ;case CKED ITOR.POSIT ION_BEFORE _END:b.typ e==CKEDITO R.NODE_TEX T?this.set End(b,b.ge tLength()) :this.setE nd(b,b.get ChildCount ());break; case CKEDI TOR.POSITI ON_BEFORE_ START:this .setEndBef ore(b);bre ak;case CK EDITOR.POS ITION_AFTE R_END:this .setEndAft er(b)}a(th is)},fixBl ock:functi on(a,b){va r c=this.c reateBookm ark(),d=th is.documen t.createEl ement(b);t his.collap se(a);this .enlarge(C KEDITOR.EN LARGE_BLOC K_CONTENTS );this.ext ractConten ts().appen dTo(d);        
146   d.trim();t his.insert Node(d);va r f=d.getB ogus();f&& f.remove() ;d.appendB ogus();thi s.moveToBo okmark(c); return d}, splitBlock :function( a,b){var c =new CKEDI TOR.dom.el ementPath( this.start Container, this.root) ,d=new CKE DITOR.dom. elementPat h(this.end Container, this.root) ,f=c.block ,e=d.block ,h=null;if (!c.blockL imit.equal s(d.blockL imit))retu rn null;"b r"!=a&&(f| |(f=this.f ixBlock(!0 ,a),e=(new  CKEDITOR. dom.elemen tPath(this .endContai ner,this.r oot)).bloc k),e||(e=t his.fixBlo ck(!1,a))) ;c=f&&this .checkStar tOfBlock() ;        
147   d=e&&this. checkEndOf Block();th is.deleteC ontents(); f&&f.equal s(e)&&(d?( h=new CKED ITOR.dom.e lementPath (this.star tContainer ,this.root ),this.mov eToPositio n(e,CKEDIT OR.POSITIO N_AFTER_EN D),e=null) :c?(h=new  CKEDITOR.d om.element Path(this. startConta iner,this. root),this .moveToPos ition(f,CK EDITOR.POS ITION_BEFO RE_START), f=null):(e =this.spli tElement(f ,b||!1),f. is("ul","o l")||f.app endBogus() ));return{ previousBl ock:f,next Block:e,wa sStartOfBl ock:c,wasE ndOfBlock: d,elementP ath:h}},sp litElement :function( a,b){if(!t his.collap sed)return  null;        
148   this.setEn dAt(a,CKED ITOR.POSIT ION_BEFORE _END);var  c=this.ext ractConten ts(!1,b||! 1),d=a.clo ne(!1,b||! 1);c.appen dTo(d);d.i nsertAfter (a);this.m oveToPosit ion(a,CKED ITOR.POSIT ION_AFTER_ END);retur n d},remov eEmptyBloc ksAtEnd:fu nction(){f unction a( g){return  function(a ){return b (a)||c(a)| |a.type==C KEDITOR.NO DE_ELEMENT &&a.isEmpt yInlineRem oveable()| |g.is("tab le")&&a.is ("caption" )?!1:!0}}v ar b=CKEDI TOR.dom.wa lker.white spaces(),c =CKEDITOR. dom.walker .bookmark( !1);return  function( b){for(var  c=this.cr eateBookma rk(),        
149   d=this[b?" endPath":" startPath" ](),f=d.bl ock||d.blo ckLimit,e; f&&!f.equa ls(d.root) &&!f.getFi rst(a(f)); )e=f.getPa rent(),thi s[b?"setEn dAt":"setS tartAt"](f ,CKEDITOR. POSITION_A FTER_END), f.remove(1 ),f=e;this .moveToBoo kmark(c)}} (),startPa th:functio n(){return  new CKEDI TOR.dom.el ementPath( this.start Container, this.root) },endPath: function() {return ne w CKEDITOR .dom.eleme ntPath(thi s.endConta iner,this. root)},che ckBoundary OfElement: function(a ,b){var d= b==CKEDITO R.START,f= this.clone ();f.colla pse(d);f[d ?"setStart At":        
150   "setEndAt" ](a,d?CKED ITOR.POSIT ION_AFTER_ START:CKED ITOR.POSIT ION_BEFORE _END);f=ne w CKEDITOR .dom.walke r(f);f.eva luator=c(d );return f [d?"checkB ackward":" checkForwa rd"]()},ch eckStartOf Block:func tion(){var  a=this.st artContain er,c=this. startOffse t;CKEDITOR .env.ie&&c &&a.type== CKEDITOR.N ODE_TEXT&& (a=CKEDITO R.tools.lt rim(a.subs tring(0,c) ),f.test(a )&&this.tr im(0,1));t his.trim() ;a=new CKE DITOR.dom. elementPat h(this.sta rtContaine r,this.roo t);c=this. clone();c. collapse(! 0);c.setSt artAt(a.bl ock||a.blo ckLimit,CK EDITOR.POS ITION_AFTE R_START);        
151   a=new CKED ITOR.dom.w alker(c);a .evaluator =b();retur n a.checkB ackward()} ,checkEndO fBlock:fun ction(){va r a=this.e ndContaine r,c=this.e ndOffset;C KEDITOR.en v.ie&&a.ty pe==CKEDIT OR.NODE_TE XT&&(a=CKE DITOR.tool s.rtrim(a. substring( c)),f.test (a)&&this. trim(1,0)) ;this.trim ();a=new C KEDITOR.do m.elementP ath(this.e ndContaine r,this.roo t);c=this. clone();c. collapse(! 1);c.setEn dAt(a.bloc k||a.block Limit,CKED ITOR.POSIT ION_BEFORE _END);a=ne w CKEDITOR .dom.walke r(c);a.eva luator=b() ;return a. checkForwa rd()},getP reviousNod e:function (a,        
152   b,c){var d =this.clon e();d.coll apse(1);d. setStartAt (c||this.r oot,CKEDIT OR.POSITIO N_AFTER_ST ART);c=new  CKEDITOR. dom.walker (d);c.eval uator=a;c. guard=b;re turn c.pre vious()},g etNextNode :function( a,b,c){var  d=this.cl one();d.co llapse();d .setEndAt( c||this.ro ot,CKEDITO R.POSITION _BEFORE_EN D);c=new C KEDITOR.do m.walker(d );c.evalua tor=a;c.gu ard=b;retu rn c.next( )},checkRe adOnly:fun ction(){fu nction a(b ,c){for(;b ;){if(b.ty pe==CKEDIT OR.NODE_EL EMENT){if( "false"==b .getAttrib ute("conte ntEditable ")&&!b.dat a("cke-edi table"))re turn 0;        
153   if(b.is("h tml")||"tr ue"==b.get Attribute( "contentEd itable")&& (b.contain s(c)||b.eq uals(c)))b reak}b=b.g etParent() }return 1} return fun ction(){va r b=this.s tartContai ner,c=this .endContai ner;return !(a(b,c)&& a(c,b))}}( ),moveToEl ementEdita blePositio n:function (a,b){if(a .type==CKE DITOR.NODE _ELEMENT&& !a.isEdita ble(!1))re turn this. moveToPosi tion(a,b?C KEDITOR.PO SITION_AFT ER_END:CKE DITOR.POSI TION_BEFOR E_START),! 0;for(var  c=0;a;){if (a.type==C KEDITOR.NO DE_TEXT){b &&this.end Container& &this.chec kEndOfBloc k()&&f.tes t(a.getTex t())?        
154   this.moveT oPosition( a,CKEDITOR .POSITION_ BEFORE_STA RT):this.m oveToPosit ion(a,b?CK EDITOR.POS ITION_AFTE R_END:CKED ITOR.POSIT ION_BEFORE _START);c= 1;break}if (a.type==C KEDITOR.NO DE_ELEMENT )if(a.isEd itable())t his.moveTo Position(a ,b?CKEDITO R.POSITION _BEFORE_EN D:CKEDITOR .POSITION_ AFTER_STAR T),c=1;els e if(b&&a. is("br")&& this.endCo ntainer&&t his.checkE ndOfBlock( ))this.mov eToPositio n(a,CKEDIT OR.POSITIO N_BEFORE_S TART);else  if("false "==a.getAt tribute("c ontentedit able")&&a. is(CKEDITO R.dtd.$blo ck))return  this.setS tartBefore (a),        
155   this.setEn dAfter(a), !0;var d=a ,e=c,k=voi d 0;d.type ==CKEDITOR .NODE_ELEM ENT&&d.isE ditable(!1 )&&(k=d[b? "getLast": "getFirst" ](h));e||k ||(k=d[b?" getPreviou s":"getNex t"](h));a= k}return!! c},moveToC losestEdit ablePositi on:functio n(a,b){var  c,d=0,f,e ,h=[CKEDIT OR.POSITIO N_AFTER_EN D,CKEDITOR .POSITION_ BEFORE_STA RT];a?(c=n ew CKEDITO R.dom.rang e(this.roo t),c.moveT oPosition( a,h[b?0:1] )):c=this. clone();if (a&&!a.is( CKEDITOR.d td.$block) )d=1;else  if(f=c[b?" getNextEdi tableNode" :"getPrevi ousEditabl eNode"]()) d=1,(e=f.t ype==        
156   CKEDITOR.N ODE_ELEMEN T)&&f.is(C KEDITOR.dt d.$block)& &"false"== f.getAttri bute("cont enteditabl e")?(c.set StartAt(f, CKEDITOR.P OSITION_BE FORE_START ),c.setEnd At(f,CKEDI TOR.POSITI ON_AFTER_E ND)):!CKED ITOR.env.n eedsBrFill er&&e&&f.i s(CKEDITOR .dom.walke r.validEmp tyBlockCon tainers)?( c.setEnd(f ,0),c.coll apse()):c. moveToPosi tion(f,h[b ?1:0]);d&& this.moveT oRange(c); return!!d} ,moveToEle mentEditSt art:functi on(a){retu rn this.mo veToElemen tEditableP osition(a) },moveToEl ementEditE nd:functio n(a){retur n this.mov eToElement EditablePo sition(a,        
157   !0)},getEn closedNode :function( ){var a=th is.clone() ;a.optimiz e();if(a.s tartContai ner.type!= CKEDITOR.N ODE_ELEMEN T||a.endCo ntainer.ty pe!=CKEDIT OR.NODE_EL EMENT)retu rn null;va r a=new CK EDITOR.dom .walker(a) ,b=CKEDITO R.dom.walk er.bookmar k(!1,!0),c =CKEDITOR. dom.walker .whitespac es(!0);a.e valuator=f unction(a) {return c( a)&&b(a)}; var d=a.ne xt();a.res et();retur n d&&d.equ als(a.prev ious())?d: null},getT ouchedStar tNode:func tion(){var  a=this.st artContain er;return  this.colla psed||a.ty pe!=CKEDIT OR.NODE_EL EMENT?a:a. getChild(t his.startO ffset)||        
158   a},getTouc hedEndNode :function( ){var a=th is.endCont ainer;retu rn this.co llapsed||a .type!=CKE DITOR.NODE _ELEMENT?a :a.getChil d(this.end Offset-1)| |a},getNex tEditableN ode:d(),ge tPreviousE ditableNod e:d(1),scr ollIntoVie w:function (){var a=n ew CKEDITO R.dom.elem ent.create FromHtml(" \x3cspan\x 3e\x26nbsp ;\x3c/span \x3e",this .document) ,b,c,d,f=t his.clone( );f.optimi ze();(d=f. startConta iner.type= =CKEDITOR. NODE_TEXT) ?(c=f.star tContainer .getText() ,b=f.start Container. split(f.st artOffset) ,a.insertA fter(f.sta rtContaine r)):        
159   f.insertNo de(a);a.sc rollIntoVi ew();d&&(f .startCont ainer.setT ext(c),b.r emove());a .remove()} ,_setStart Container: function(a ){this.sta rtContaine r=a},_setE ndContaine r:function (a){this.e ndContaine r=a}}}(),C KEDITOR.PO SITION_AFT ER_START=1 ,CKEDITOR. POSITION_B EFORE_END= 2,CKEDITOR .POSITION_ BEFORE_STA RT=3,CKEDI TOR.POSITI ON_AFTER_E ND=4,CKEDI TOR.ENLARG E_ELEMENT= 1,CKEDITOR .ENLARGE_B LOCK_CONTE NTS=2,CKED ITOR.ENLAR GE_LIST_IT EM_CONTENT S=3,CKEDIT OR.ENLARGE _INLINE=4, CKEDITOR.S TART=1,CKE DITOR.END= 2,CKEDITOR .SHRINK_EL EMENT=        
160   1,CKEDITOR .SHRINK_TE XT=2,"use  strict",fu nction(){f unction a( a){1>argum ents.lengt h||(this.r ange=a,thi s.forceBrB reak=0,thi s.enlargeB r=1,this.e nforceReal Blocks=0,t his._||(th is._={}))} function e (a){var b= [];a.forEa ch(functio n(a){if("t rue"==a.ge tAttribute ("contente ditable")) return b.p ush(a),!1} ,CKEDITOR. NODE_ELEME NT,!0);ret urn b}func tion b(a,c ,d,f){a:{n ull==f&&(f =e(d));for (var k;k=f .shift();) if(k.getDt d().p){f={ element:k, remaining: f};break a }f=null}if (!f)return  0;if((k=C KEDITOR.fi lter.insta nces[f.ele ment.data( "cke-filte r")])&&        
161   !k.check(c ))return b (a,c,d,f.r emaining); c=new CKED ITOR.dom.r ange(f.ele ment);c.se lectNodeCo ntents(f.e lement);c= c.createIt erator();c .enlargeBr =a.enlarge Br;c.enfor ceRealBloc ks=a.enfor ceRealBloc ks;c.activ eFilter=c. filter=k;a ._.nestedE ditable={e lement:f.e lement,con tainer:d,r emaining:f .remaining ,iterator: c};return  1}function  c(a,b,c){ if(!b)retu rn!1;a=a.c lone();a.c ollapse(!c );return a .checkBoun daryOfElem ent(b,c?CK EDITOR.STA RT:CKEDITO R.END)}var  d=/^[\r\n \t ]+$/,k= CKEDITOR.d om.walker. bookmark(! 1,!0),m=CK EDITOR.dom .walker.wh itespaces( !0),        
162   f=function (a){return  k(a)&&m(a )},l={dd:1 ,dt:1,li:1 };a.protot ype={getNe xtParagrap h:function (a){var g, e,m,t,q;a= a||"p";if( this._.nes tedEditabl e){if(g=th is._.neste dEditable. iterator.g etNextPara graph(a))r eturn this .activeFil ter=this._ .nestedEdi table.iter ator.activ eFilter,g; this.activ eFilter=th is.filter; if(b(this, a,this._.n estedEdita ble.contai ner,this._ .nestedEdi table.rema ining))ret urn this.a ctiveFilte r=this._.n estedEdita ble.iterat or.activeF ilter,this ._.nestedE ditable.it erator.get NextParagr aph(a);thi s._.nested Editable=        
163   null}if(!t his.range. root.getDt d()[a])ret urn null;i f(!this._. started){v ar p=this. range.clon e();e=p.st artPath(); var u=p.en dPath(),w= !p.collaps ed&&c(p,e. block),y=! p.collapse d&&c(p,u.b lock,1);p. shrink(CKE DITOR.SHRI NK_ELEMENT ,!0);w&&p. setStartAt (e.block,C KEDITOR.PO SITION_BEF ORE_END);y &&p.setEnd At(u.block ,CKEDITOR. POSITION_A FTER_START );e=p.endC ontainer.h asAscendan t("pre",!0 )||p.start Container. hasAscenda nt("pre",! 0);p.enlar ge(this.fo rceBrBreak &&!e||!thi s.enlargeB r?CKEDITOR .ENLARGE_L IST_ITEM_C ONTENTS:CK EDITOR.ENL ARGE_BLOCK _CONTENTS) ;        
164   p.collapse d||(e=new  CKEDITOR.d om.walker( p.clone()) ,u=CKEDITO R.dom.walk er.bookmar k(!0,!0),e .evaluator =u,this._. nextNode=e .next(),e= new CKEDIT OR.dom.wal ker(p.clon e()),e.eva luator=u,e =e.previou s(),this._ .lastNode= e.getNextS ourceNode( !0,null,p. root),this ._.lastNod e&&this._. lastNode.t ype==CKEDI TOR.NODE_T EXT&&!CKED ITOR.tools .trim(this ._.lastNod e.getText( ))&&this._ .lastNode. getParent( ).isBlockB oundary()& &(u=this.r ange.clone (),u.moveT oPosition( this._.las tNode,CKED ITOR.POSIT ION_AFTER_ END),u.che ckEndOfBlo ck()&&        
165   (u=new CKE DITOR.dom. elementPat h(u.endCon tainer,u.r oot),this. _.lastNode =(u.block| |u.blockLi mit).getNe xtSourceNo de(!0))),t his._.last Node&&p.ro ot.contain s(this._.l astNode)|| (this._.la stNode=thi s._.docEnd Marker=p.d ocument.cr eateText(" "),this._. lastNode.i nsertAfter (e)),p=nul l);this._. started=1; e=p}u=this ._.nextNod e;p=this._ .lastNode; for(this._ .nextNode= null;u;){v ar w=0,y=u .hasAscend ant("pre") ,B=u.type! =CKEDITOR. NODE_ELEME NT,v=0;if( B)u.type== CKEDITOR.N ODE_TEXT&& d.test(u.g etText())& &(B=0);els e{var z=u. getName();        
166   if(CKEDITO R.dtd.$blo ck[z]&&"fa lse"==u.ge tAttribute ("contente ditable")) {g=u;b(thi s,a,g);bre ak}else if (u.isBlock Boundary(t his.forceB rBreak&&!y &&{br:1})) {if("br"== z)B=1;else  if(!e&&!u .getChildC ount()&&"h r"!=z){g=u ;m=u.equal s(p);break }e&&(e.set EndAt(u,CK EDITOR.POS ITION_BEFO RE_START), "br"!=z&&( this._.nex tNode=u)); w=1}else{i f(u.getFir st()){e||( e=this.ran ge.clone() ,e.setStar tAt(u,CKED ITOR.POSIT ION_BEFORE _START));u =u.getFirs t();contin ue}B=1}}B& &!e&&(e=th is.range.c lone(),e.s etStartAt( u,CKEDITOR .POSITION_ BEFORE_STA RT));        
167   m=(!w||B)& &u.equals( p);if(e&&! w)for(;!u. getNext(f) &&!m;){z=u .getParent ();if(z.is BlockBound ary(this.f orceBrBrea k&&!y&&{br :1})){w=1; B=0;m||z.e quals(p);e .setEndAt( z,CKEDITOR .POSITION_ BEFORE_END );break}u= z;B=1;m=u. equals(p); v=1}B&&e.s etEndAt(u, CKEDITOR.P OSITION_AF TER_END);u =this._get NextSource Node(u,v,p );if((m=!u )||w&&e)br eak}if(!g) {if(!e)ret urn this._ .docEndMar ker&&this. _.docEndMa rker.remov e(),this._ .nextNode= null;g=new  CKEDITOR. dom.elemen tPath(e.st artContain er,e.root) ;u=g.block Limit;w={d iv:1,th:1, td:1};        
168   g=g.block; !g&&u&&!th is.enforce RealBlocks &&w[u.getN ame()]&&e. checkStart OfBlock()& &e.checkEn dOfBlock() &&!u.equal s(e.root)? g=u:!g||th is.enforce RealBlocks &&g.is(l)? (g=this.ra nge.docume nt.createE lement(a), e.extractC ontents(). appendTo(g ),g.trim() ,e.insertN ode(g),t=q =!0):"li"! =g.getName ()?e.check StartOfBlo ck()&&e.ch eckEndOfBl ock()||(g= g.clone(!1 ),e.extrac tContents( ).appendTo (g),g.trim (),q=e.spl itBlock(), t=!q.wasSt artOfBlock ,q=!q.wasE ndOfBlock, e.insertNo de(g)):m|| (this._.ne xtNode=g.e quals(p)?n ull:this._ getNextSou rceNode(e. getBoundar yNodes().e ndNode,        
169   1,p))}t&&( t=g.getPre vious())&& t.type==CK EDITOR.NOD E_ELEMENT& &("br"==t. getName()? t.remove() :t.getLast ()&&"br"== t.getLast( ).$.nodeNa me.toLower Case()&&t. getLast(). remove()); q&&(t=g.ge tLast())&& t.type==CK EDITOR.NOD E_ELEMENT& &"br"==t.g etName()&& (!CKEDITOR .env.needs BrFiller|| t.getPrevi ous(k)||t. getNext(k) )&&t.remov e();this._ .nextNode| |(this._.n extNode=m| |g.equals( p)||!p?nul l:this._ge tNextSourc eNode(g,1, p));return  g},_getNe xtSourceNo de:functio n(a,b,c){f unction d( a){return! (a.equals( c)||a.equa ls(f))}var  f=        
170   this.range .root;for( a=a.getNex tSourceNod e(b,null,d );!k(a);)a =a.getNext SourceNode (b,null,d) ;return a} };CKEDITOR .dom.range .prototype .createIte rator=func tion(){ret urn new a( this)}}(), CKEDITOR.c ommand=fun ction(a,e) {this.uiIt ems=[];thi s.exec=fun ction(b){i f(this.sta te==CKEDIT OR.TRISTAT E_DISABLED ||!this.ch eckAllowed ())return! 1;this.edi torFocus&& a.focus(); return!1== =this.fire ("exec")?! 0:!1!==e.e xec.call(t his,a,b)}; this.refre sh=functio n(a,b){if( !this.read Only&&a.re adOnly)ret urn!0;if(t his.contex t&&!b.isCo ntextFor(t his.contex t)||        
171   !this.chec kAllowed(! 0))return  this.disab le(),!0;th is.startDi sabled||th is.enable( );this.mod es&&!this. modes[a.mo de]&&this. disable(); return!1== =this.fire ("refresh" ,{editor:a ,path:b})? !0:e.refre sh&&!1!==e .refresh.a pply(this, arguments) };var b;th is.checkAl lowed=func tion(c){re turn c||"b oolean"!=t ypeof b?b= a.activeFi lter.check Feature(th is):b};CKE DITOR.tool s.extend(t his,e,{mod es:{wysiwy g:1},edito rFocus:1,c ontextSens itive:!!e. context,st ate:CKEDIT OR.TRISTAT E_DISABLED });CKEDITO R.event.ca ll(this)}, CKEDITOR.c ommand.pro totype=        
172   {enable:fu nction(){t his.state= =CKEDITOR. TRISTATE_D ISABLED&&t his.checkA llowed()&& this.setSt ate(this.p reserveSta te&&"undef ined"!=typ eof this.p reviousSta te?this.pr eviousStat e:CKEDITOR .TRISTATE_ OFF)},disa ble:functi on(){this. setState(C KEDITOR.TR ISTATE_DIS ABLED)},se tState:fun ction(a){i f(this.sta te==a||a!= CKEDITOR.T RISTATE_DI SABLED&&!t his.checkA llowed())r eturn!1;th is.previou sState=thi s.state;th is.state=a ;this.fire ("state"); return!0}, toggleStat e:function (){this.st ate==CKEDI TOR.TRISTA TE_OFF?thi s.setState (CKEDITOR. TRISTATE_O N):        
173   this.state ==CKEDITOR .TRISTATE_ ON&&this.s etState(CK EDITOR.TRI STATE_OFF) }},CKEDITO R.event.im plementOn( CKEDITOR.c ommand.pro totype),CK EDITOR.ENT ER_P=1,CKE DITOR.ENTE R_BR=2,CKE DITOR.ENTE R_DIV=3,CK EDITOR.con fig={custo mConfig:"c onfig.js", autoUpdate Element:!0 ,language: "",default Language:" en",conten tsLangDire ction:"",e nterMode:C KEDITOR.EN TER_P,forc eEnterMode :!1,shiftE nterMode:C KEDITOR.EN TER_BR,doc Type:"\x3c !DOCTYPE h tml\x3e",b odyId:"",b odyClass:" ",fullPage :!1,height :200,extra Plugins:"" ,removePlu gins:"",pr otectedSou rce:[],        
174   tabIndex:0 ,width:"", baseFloatZ Index:1E4, blockedKey strokes:[C KEDITOR.CT RL+66,CKED ITOR.CTRL+ 73,CKEDITO R.CTRL+85] },function (){functio n a(a,b,c, d,g){var f ,e;a=[];fo r(f in b){ e=b[f];e=" boolean"== typeof e?{ }:"functio n"==typeof  e?{match: e}:F(e);"$ "!=f.charA t(0)&&(e.e lements=f) ;c&&(e.fea tureName=c .toLowerCa se());var  h=e;h.elem ents=m(h.e lements,/\ s+/)||null ;h.propert iesOnly=h. properties Only||!0== =h.element s;var k=/\ s*,\s*/,l= void 0;for (l in K){h [l]=m(h[l] ,k)||null; var v=h,p= E[l],z=m(h [E[l]],k), n=h[l],u=[ ],        
175   B=!0,C=voi d 0;z?B=!1 :z={};for( C in n)"!" ==C.charAt (0)&&(C=C. slice(1),u .push(C),z [C]=!0,B=! 1);for(;C= u.pop();)n [C]=n["!"+ C],delete  n["!"+C];v [p]=(B?!1: z)||null}h .match=h.m atch||null ;d.push(e) ;a.push(e) }b=g.eleme nts;g=g.ge neric;var  q;c=0;for( d=a.length ;c<d;++c){ f=F(a[c]); e=!0===f.c lasses||!0 ===f.style s||!0===f. attributes ;h=f;l=p=k =void 0;fo r(k in K)h [k]=w(h[k] );v=!0;for (l in E){k =E[l];p=h[ k];z=[];n= void 0;for (n in p)-1 <n.indexOf ("*")?z.pu sh(new Reg Exp("^"+n. replace(/\ */g,".*")+ "$")):z.pu sh(n);p=z; p.length&&        
176   (h[k]=p,v= !1)}h.noth ingRequire d=v;h.noPr operties=! (h.attribu tes||h.cla sses||h.st yles);if(! 0===f.elem ents||null ===f.eleme nts)g[e?"u nshift":"p ush"](f);e lse for(q  in h=f.ele ments,dele te f.eleme nts,h)if(b [q])b[q][e ?"unshift" :"push"](f );else b[q ]=[f]}}fun ction e(a, c,d,g){if( !a.match|| a.match(c) )if(g||f(a ,c))if(a.p ropertiesO nly||(d.va lid=!0),d. allAttribu tes||(d.al lAttribute s=b(a.attr ibutes,c.a ttributes, d.validAtt ributes)), d.allStyle s||(d.allS tyles=b(a. styles,c.s tyles,d.va lidStyles) ),!d.allCl asses){a=a .classes;        
177   c=c.classe s;g=d.vali dClasses;i f(a)if(!0= ==a)a=!0;e lse{for(va r e=0,h=c. length,k;e <h;++e)k=c [e],g[k]|| (g[k]=a(k) );a=!1}els e a=!1;d.a llClasses= a}}functio n b(a,b,c) {if(!a)ret urn!1;if(! 0===a)retu rn!0;for(v ar d in b) c[d]||(c[d ]=a(d));re turn!1}fun ction c(a, b,c){if(!a .match||a. match(b)){ if(a.noPro perties)re turn!1;c.h adInvalidA ttribute=d (a.attribu tes,b.attr ibutes)||c .hadInvali dAttribute ;c.hadInva lidStyle=d (a.styles, b.styles)| |c.hadInva lidStyle;a =a.classes ;b=b.class es;if(a){f or(var f=! 1,g=!0===a ,e=b.lengt h;e--;)if( g||        
178   a(b[e]))b. splice(e,1 ),f=!0;a=f }else a=!1 ;c.hadInva lidClass=a ||c.hadInv alidClass} }function  d(a,b){if( !a)return! 1;var c=!1 ,d=!0===a, f;for(f in  b)if(d||a (f))delete  b[f],c=!0 ;return c} function k (a,b,c){if (a.disable d||a.custo mConfig&&! c||!b)retu rn!1;a._.c achedCheck s={};retur n!0}functi on m(a,b){ if(!a)retu rn!1;if(!0 ===a)retur n a;if("st ring"==typ eof a)retu rn a=I(a), "*"==a?!0: CKEDITOR.t ools.conve rtArrayToO bject(a.sp lit(b));if (CKEDITOR. tools.isAr ray(a))ret urn a.leng th?CKEDITO R.tools.co nvertArray ToObject(a ):        
179   !1;var c={ },d=0,f;fo r(f in a)c [f]=a[f],d ++;return  d?c:!1}fun ction f(a, b){if(a.no thingRequi red)return !0;var c,d ,f,g;if(f= a.required Classes)fo r(g=b.clas ses,c=0;c< f.length;+ +c)if(d=f[ c],"string "==typeof  d){if(-1== CKEDITOR.t ools.index Of(g,d))re turn!1}els e if(!CKED ITOR.tools .checkIfAn yArrayItem Matches(g, d))return! 1;return l (b.styles, a.required Styles)&&l (b.attribu tes,a.requ iredAttrib utes)}func tion l(a,b ){if(!b)re turn!0;for (var c=0,d ;c<b.lengt h;++c)if(d =b[c],"str ing"==type of d){if(! (d in a))r eturn!1}el se if(!CKE DITOR.tool s.checkIfA nyObjectPr opertyMatc hes(a,        
180   d))return! 1;return!0 }function  h(a){if(!a )return{}; a=a.split( /\s*,\s*/) .sort();fo r(var b={} ;a.length; )b[a.shift ()]="cke-t est";retur n b}functi on g(a){va r b,c,d,f, g={},e=1;f or(a=I(a); b=a.match( N);)(c=b[2 ])?(d=n(c, "styles"), f=n(c,"att rs"),c=n(c ,"classes" )):d=f=c=n ull,g["$"+ e++]={elem ents:b[1], classes:c, styles:d,a ttributes: f},a=a.sli ce(b[0].le ngth);retu rn g}funct ion n(a,b) {var c=a.m atch(R[b]) ;return c? I(c[1]):nu ll}functio n r(a){var  b=a.style Backup=a.a ttributes. style,c=a. classBacku p=a.attrib utes["clas s"];        
181   a.styles|| (a.styles= CKEDITOR.t ools.parse CssText(b| |"",1));a. classes||( a.classes= c?c.split( /\s+/):[]) }function  t(a,b,d,f) {var g=0,h ;f.toHtml& &(b.name=b .name.repl ace(P,"$1" ));if(f.do Callbacks& &a.element Callbacks) {a:{h=a.el ementCallb acks;for(v ar k=0,l=h .length,m; k<l;++k)if (m=h[k](b) ){h=m;brea k a}h=void  0}if(h)re turn h}if( f.doTransf orm&&(h=a. _.transfor mations[b. name])){r( b);for(k=0 ;k<h.lengt h;++k)z(a, b,h[k]);p( b)}if(f.do Filter){a: {k=b.name; l=a._;a=l. allowedRul es.element s[k];h=l.a llowedRule s.generic; k=        
182   l.disallow edRules.el ements[k]; l=l.disall owedRules. generic;m= f.skipRequ ired;var v ={valid:!1 ,validAttr ibutes:{}, validClass es:{},vali dStyles:{} ,allAttrib utes:!1,al lClasses:! 1,allStyle s:!1,hadIn validAttri bute:!1,ha dInvalidCl ass:!1,had InvalidSty le:!1},E,n ;if(a||h){ r(b);if(k) for(E=0,n= k.length;E <n;++E)if( !1===c(k[E ],b,v)){a= null;break  a}if(l)fo r(E=0,n=l. length;E<n ;++E)c(l[E ],b,v);if( a)for(E=0, n=a.length ;E<n;++E)e (a[E],b,v, m);if(h)fo r(E=0,n=h. length;E<n ;++E)e(h[E ],b,v,m);a =v}else a= null}if(!a ||!a.valid )return d. push(b),        
183   1;n=a.vali dAttribute s;var B=a. validStyle s;h=a.vali dClasses;v ar k=b.att ributes,C= b.styles,l =b.classes ;m=b.class Backup;var  w=b.style Backup,q,y ,t=[],v=[] ,A=/^data- cke-/;E=!1 ;delete k. style;dele te k["clas s"];delete  b.classBa ckup;delet e b.styleB ackup;if(! a.allAttri butes)for( q in k)n[q ]||(A.test (q)?q==(y= q.replace( /^data-cke -saved-/," "))||n[y]| |(delete k [q],E=!0): (delete k[ q],E=!0)); if(!a.allS tyles||a.h adInvalidS tyle){for( q in C)a.a llStyles|| B[q]?t.pus h(q+":"+C[ q]):E=!0;t .length&&( k.style=t. sort().joi n("; "))}e lse w&&        
184   (k.style=w );if(!a.al lClasses|| a.hadInval idClass){f or(q=0;q<l .length;++ q)(a.allCl asses||h[l [q]])&&v.p ush(l[q]); v.length&& (k["class" ]=v.sort() .join(" ") );m&&v.len gth<m.spli t(/\s+/).l ength&&(E= !0)}else m &&(k["clas s"]=m);E&& (g=1);if(! f.skipFina lValidatio n&&!u(b))r eturn d.pu sh(b),1}f. toHtml&&(b .name=b.na me.replace (T,"cke:$1 "));return  g}functio n q(a){var  b=[],c;fo r(c in a)- 1<c.indexO f("*")&&b. push(c.rep lace(/\*/g ,".*"));re turn b.len gth?new Re gExp("^(?: "+b.join(" |")+")$"): null}funct ion p(a){v ar b=a.att ributes,        
185   c;delete b .style;del ete b["cla ss"];if(c= CKEDITOR.t ools.write CssText(a. styles,!0) )b.style=c ;a.classes .length&&( b["class"] =a.classes .sort().jo in(" "))}f unction u( a){switch( a.name){ca se "a":if( !a.childre n.length&& !a.attribu tes.name)r eturn!1;br eak;case " img":if(!a .attribute s.src)retu rn!1}retur n!0}functi on w(a){if (!a)return !1;if(!0== =a)return! 0;var b=q( a);return  function(c ){return c  in a||b&& c.match(b) }}function  y(){retur n new CKED ITOR.htmlP arser.elem ent("br")} function B (a){return  a.type==C KEDITOR.NO DE_ELEMENT &&        
186   ("br"==a.n ame||G.$bl ock[a.name ])}functio n v(a,b,c) {var d=a.n ame;if(G.$ empty[d]|| !a.childre n.length)" hr"==d&&"b r"==b?a.re placeWith( y()):(a.pa rent&&c.pu sh({check: "it",el:a. parent}),a .remove()) ;else if(G .$block[d] ||"tr"==d) if("br"==b )a.previou s&&!B(a.pr evious)&&( b=y(),b.in sertBefore (a)),a.nex t&&!B(a.ne xt)&&(b=y( ),b.insert After(a)), a.replaceW ithChildre n();else{v ar d=a.chi ldren,f;b: {f=G[b];fo r(var g=0, e=d.length ,h;g<e;++g )if(h=d[g] ,h.type==C KEDITOR.NO DE_ELEMENT &&!f[h.nam e]){f=!1;b reak b}f=! 0}if(f)a.n ame=        
187   b,a.attrib utes={},c. push({chec k:"parent- down",el:a });else{f= a.parent;f or(var g=f .type==CKE DITOR.NODE _DOCUMENT_ FRAGMENT|| "body"==f. name,k,l,e =d.length; 0<e;)h=d[- -e],g&&(h. type==CKED ITOR.NODE_ TEXT||h.ty pe==CKEDIT OR.NODE_EL EMENT&&G.$ inline[h.n ame])?(k|| (k=new CKE DITOR.html Parser.ele ment(b),k. insertAfte r(a),c.pus h({check:" parent-dow n",el:k})) ,k.add(h,0 )):(k=null ,l=G[f.nam e]||G.span ,h.insertA fter(a),f. type==CKED ITOR.NODE_ DOCUMENT_F RAGMENT||h .type!=CKE DITOR.NODE _ELEMENT|| l[h.name]| |c.push({c heck:"el-u p",        
188   el:h}));a. remove()}} else d in{ style:1,sc ript:1}?a. remove():( a.parent&& c.push({ch eck:"it",e l:a.parent }),a.repla ceWithChil dren())}fu nction z(a ,b,c){var  d,f;for(d= 0;d<c.leng th;++d)if( f=c[d],!(f .check&&!a .check(f.c heck,!1)|| f.left&&!f .left(b))) {f.right(b ,O);break} }function  C(a,b){var  c=b.getDe finition() ,d=c.attri butes,f=c. styles,g,e ,h,k;if(a. name!=c.el ement)retu rn!1;for(g  in d)if(" class"==g) for(c=d[g] .split(/\s +/),h=a.cl asses.join ("|");k=c. pop();){if (-1==h.ind exOf(k))re turn!1}els e if(a.att ributes[g] !=        
189   d[g])retur n!1;for(e  in f)if(a. styles[e]! =f[e])retu rn!1;retur n!0}functi on x(a,b){ var c,d;"s tring"==ty peof a?c=a :a instanc eof CKEDIT OR.style?d =a:(c=a[0] ,d=a[1]);r eturn[{ele ment:c,lef t:d,right: function(a ,c){c.tran sform(a,b) }}]}functi on A(a){re turn funct ion(b){ret urn C(b,a) }}function  D(a){retu rn functio n(b,c){c[a ](b)}}var  G=CKEDITOR .dtd,F=CKE DITOR.tool s.copy,I=C KEDITOR.to ols.trim,H =["","p"," br","div"] ;CKEDITOR. FILTER_SKI P_TREE=2;C KEDITOR.fi lter=funct ion(a){thi s.allowedC ontent=[]; this.disal lowedConte nt=        
190   [];this.el ementCallb acks=null; this.disab led=!1;thi s.editor=n ull;this.i d=CKEDITOR .tools.get NextNumber ();this._= {allowedRu les:{eleme nts:{},gen eric:[]},d isallowedR ules:{elem ents:{},ge neric:[]}, transforma tions:{},c achedTests :{}};CKEDI TOR.filter .instances [this.id]= this;if(a  instanceof  CKEDITOR. editor){a= this.edito r=a;this.c ustomConfi g=!0;var b =a.config. allowedCon tent;!0=== b?this.dis abled=!0:( b||(this.c ustomConfi g=!1),this .allow(b," config",1) ,this.allo w(a.config .extraAllo wedContent ,"extra",1 ),this.all ow(H[a.ent erMode]+        
191   " "+H[a.sh iftEnterMo de],"defau lt",1),thi s.disallow (a.config. disallowed Content))} else this. customConf ig=!1,this .allow(a," default",1 )};CKEDITO R.filter.i nstances={ };CKEDITOR .filter.pr ototype={a llow:funct ion(b,c,d) {if(!k(thi s,b,d))ret urn!1;var  f,e;if("st ring"==typ eof b)b=g( b);else if (b instanc eof CKEDIT OR.style){ if(b.toAll owedConten tRules)ret urn this.a llow(b.toA llowedCont entRules(t his.editor ),c,d);f=b .getDefini tion();b={ };d=f.attr ibutes;b[f .element]= f={styles: f.styles,r equiredSty les:f.styl es&&CKEDIT OR.tools.o bjectKeys( f.styles)} ;        
192   d&&(d=F(d) ,f.classes =d["class" ]?d["class "].split(/ \s+/):null ,f.require dClasses=f .classes,d elete d["c lass"],f.a ttributes= d,f.requir edAttribut es=d&&CKED ITOR.tools .objectKey s(d))}else  if(CKEDIT OR.tools.i sArray(b)) {for(f=0;f <b.length; ++f)e=this .allow(b[f ],c,d);ret urn e}a(th is,b,c,thi s.allowedC ontent,thi s._.allowe dRules);re turn!0},ap plyTo:func tion(a,b,c ,d){if(thi s.disabled )return!1; var f=this ,g=[],e=th is.editor& &this.edit or.config. protectedS ource,h,k= !1,l={doFi lter:!c,do Transform: !0,doCallb acks:!0,to Html:b};        
193   a.forEach( function(a ){if(a.typ e==CKEDITO R.NODE_ELE MENT){if(" off"==a.at tributes[" data-cke-f ilter"])re turn!1;if( !b||"span" !=a.name|| !~CKEDITOR .tools.obj ectKeys(a. attributes ).join("|" ).indexOf( "data-cke- "))if(h=t( f,a,g,l),h &1)k=!0;el se if(h&2) return!1}e lse if(a.t ype==CKEDI TOR.NODE_C OMMENT&&a. value.matc h(/^\{cke_ protected\ }(?!\{C\}) /)){var c; a:{var d=d ecodeURICo mponent(a. value.repl ace(/^\{ck e_protecte d\}/,"")); c=[];var m ,v,p;if(e) for(v=0;v< e.length;+ +v)if((p=d .match(e[v ]))&&p[0]. length==d. length){c= !0;        
194   break a}d= CKEDITOR.h tmlParser. fragment.f romHtml(d) ;1==d.chil dren.lengt h&&(m=d.ch ildren[0]) .type==CKE DITOR.NODE _ELEMENT&& t(f,m,c,l) ;c=!c.leng th}c||g.pu sh(a)}},nu ll,!0);g.l ength&&(k= !0);var m; a=[];d=H[d ||(this.ed itor?this. editor.ent erMode:CKE DITOR.ENTE R_P)];for( var p;c=g. pop();)c.t ype==CKEDI TOR.NODE_E LEMENT?v(c ,d,a):c.re move();for (;m=a.pop( );)if(c=m. el,c.paren t)switch(p =G[c.paren t.name]||G .span,m.ch eck){case  "it":G.$re moveEmpty[ c.name]&&! c.children .length?v( c,d,a):u(c )||v(c,d,a );break;ca se "el-up" :c.parent. type==        
195   CKEDITOR.N ODE_DOCUME NT_FRAGMEN T||p[c.nam e]||v(c,d, a);break;c ase "paren t-down":c. parent.typ e==CKEDITO R.NODE_DOC UMENT_FRAG MENT||p[c. name]||v(c .parent,d, a)}return  k},checkFe ature:func tion(a){if (this.disa bled||!a)r eturn!0;a. toFeature& &(a=a.toFe ature(this .editor)); return!a.r equiredCon tent||this .check(a.r equiredCon tent)},dis able:funct ion(){this .disabled= !0},disall ow:functio n(b){if(!k (this,b,!0 ))return!1 ;"string"= =typeof b& &(b=g(b)); a(this,b,n ull,this.d isallowedC ontent,thi s._.disall owedRules) ;return!0} ,        
196   addContent Forms:func tion(a){if (!this.dis abled&&a){ var b,c,d= [],f;for(b =0;b<a.len gth&&!f;++ b)c=a[b],( "string"== typeof c|| c instance of CKEDITO R.style)&& this.check (c)&&(f=c) ;if(f){for (b=0;b<a.l ength;++b) d.push(x(a [b],f));th is.addTran sformation s(d)}}},ad dElementCa llback:fun ction(a){t his.elemen tCallbacks ||(this.el ementCallb acks=[]);t his.elemen tCallbacks .push(a)}, addFeature :function( a){if(this .disabled| |!a)return !0;a.toFea ture&&(a=a .toFeature (this.edit or));this. allow(a.al lowedConte nt,a.name) ;this.addT ransformat ions(a.con tentTransf ormations) ;        
197   this.addCo ntentForms (a.content Forms);ret urn a.requ iredConten t&&(this.c ustomConfi g||this.di sallowedCo ntent.leng th)?this.c heck(a.req uiredConte nt):!0},ad dTransform ations:fun ction(a){v ar b,c;if( !this.disa bled&&a){v ar d=this. _.transfor mations,f; for(f=0;f< a.length;+ +f){b=a[f] ;var g=voi d 0,e=void  0,h=void  0,k=void 0 ,l=void 0, m=void 0;c =[];for(e= 0;e<b.leng th;++e)h=b [e],"strin g"==typeof  h?(h=h.sp lit(/\s*:\ s*/),k=h[0 ],l=null,m =h[1]):(k= h.check,l= h.left,m=h .right),g| |(g=h,g=g. element?g. element:k? k.match(/^ ([a-z0-9]+ )/i)[0]:        
198   g.left.get Definition ().element ),l instan ceof CKEDI TOR.style& &(l=A(l)), c.push({ch eck:k==g?n ull:k,left :l,right:" string"==t ypeof m?D( m):m});b=g ;d[b]||(d[ b]=[]);d[b ].push(c)} }},check:f unction(a, b,c){if(th is.disable d)return!0 ;if(CKEDIT OR.tools.i sArray(a)) {for(var d =a.length; d--;)if(th is.check(a [d],b,c))r eturn!0;re turn!1}var  f,e;if("s tring"==ty peof a){e= a+"\x3c"+( !1===b?"0" :"1")+(c?" 1":"0")+"\ x3e";if(e  in this._. cachedChec ks)return  this._.cac hedChecks[ e];d=g(a). $1;f=d.sty les;var k= d.classes; d.name=d.e lements;        
199   d.classes= k=k?k.spli t(/\s*,\s* /):[];d.st yles=h(f); d.attribut es=h(d.att ributes);d .children= [];k.lengt h&&(d.attr ibutes["cl ass"]=k.jo in(" "));f &&(d.attri butes.styl e=CKEDITOR .tools.wri teCssText( d.styles)) ;f=d}else  d=a.getDef inition(), f=d.styles ,k=d.attri butes||{}, f?(f=F(f), k.style=CK EDITOR.too ls.writeCs sText(f,!0 )):f={},f= {name:d.el ement,attr ibutes:k,c lasses:k[" class"]?k[ "class"].s plit(/\s+/ ):[],style s:f,childr en:[]};var  k=CKEDITO R.tools.cl one(f),l=[ ],m;if(!1! ==b&&(m=th is._.trans formations [f.name])) {for(d=        
200   0;d<m.leng th;++d)z(t his,f,m[d] );p(f)}t(t his,k,l,{d oFilter:!0 ,doTransfo rm:!1!==b, skipRequir ed:!c,skip FinalValid ation:!c}) ;b=0<l.len gth?!1:CKE DITOR.tool s.objectCo mpare(f.at tributes,k .attribute s,!0)?!0:! 1;"string" ==typeof a &&(this._. cachedChec ks[e]=b);r eturn b},g etAllowedE nterMode:f unction(){ var a=["p" ,"div","br "],b={p:CK EDITOR.ENT ER_P,div:C KEDITOR.EN TER_DIV,br :CKEDITOR. ENTER_BR}; return fun ction(c,d) {var f=a.s lice(),g;i f(this.che ck(H[c]))r eturn c;fo r(d||(f=f. reverse()) ;g=f.pop() ;)if(this. check(g))r eturn b[g] ;        
201   return CKE DITOR.ENTE R_BR}}(),d estroy:fun ction(){de lete CKEDI TOR.filter .instances [this.id]; delete thi s._;delete  this.allo wedContent ;delete th is.disallo wedContent }};var K={ styles:1,a ttributes: 1,classes: 1},E={styl es:"requir edStyles", attributes :"required Attributes ",classes: "requiredC lasses"},N =/^([a-z0- 9\-*\s]+)( (?:\s*\{[! \w\-,\s\*] +\}\s*|\s* \[[!\w\-,\ s\*]+\]\s* |\s*\([!\w \-,\s\*]+\ )\s*){0,3} )(?:;\s*|$ )/i,R={sty les:/{([^} ]+)}/,attr s:/\[([^\] ]+)\]/,cla sses:/\(([ ^\)]+)\)/} ,P=/^cke:( object|emb ed|param)$ /,        
202   T=/^(objec t|embed|pa ram)$/,O=C KEDITOR.fi lter.trans formations Tools={siz eToStyle:f unction(a) {this.leng thToStyle( a,"width") ;this.leng thToStyle( a,"height" )},sizeToA ttribute:f unction(a) {this.leng thToAttrib ute(a,"wid th");this. lengthToAt tribute(a, "height")} ,lengthToS tyle:funct ion(a,b,c) {c=c||b;if (!(c in a. styles)){v ar d=a.att ributes[b] ;d&&(/^\d+ $/.test(d) &&(d+="px" ),a.styles [c]=d)}del ete a.attr ibutes[b]} ,lengthToA ttribute:f unction(a, b,c){c=c|| b;if(!(c i n a.attrib utes)){var  d=a.style s[b],f=d&& d.match(/^ (\d+)(?:\. \d*)?px$/) ;        
203   f?a.attrib utes[c]=f[ 1]:"cke-te st"==d&&(a .attribute s[c]="cke- test")}del ete a.styl es[b]},ali gnmentToSt yle:functi on(a){if(! ("float"in  a.styles) ){var b=a. attributes .align;if( "left"==b| |"right"== b)a.styles ["float"]= b}delete a .attribute s.align},a lignmentTo Attribute: function(a ){if(!("al ign"in a.a ttributes) ){var b=a. styles["fl oat"];if(" left"==b|| "right"==b )a.attribu tes.align= b}delete a .styles["f loat"]},ma tchesStyle :C,transfo rm:functio n(a,b){if( "string"== typeof b)a .name=b;el se{var c=b .getDefini tion(),d=c .styles,        
204   f=c.attrib utes,g,e,h ,k;a.name= c.element; for(g in f )if("class "==g)for(c =a.classes .join("|") ,h=f[g].sp lit(/\s+/) ;k=h.pop() ;)-1==c.in dexOf(k)&& a.classes. push(k);el se a.attri butes[g]=f [g];for(e  in d)a.sty les[e]=d[e ]}}}}(),fu nction(){C KEDITOR.fo cusManager =function( a){if(a.fo cusManager )return a. focusManag er;this.ha sFocus=!1; this.curre ntActive=n ull;this._ ={editor:a };return t his};CKEDI TOR.focusM anager._={ blurDelay: 200};CKEDI TOR.focusM anager.pro totype={fo cus:functi on(a){this ._.timer&& clearTimeo ut(this._. timer);        
205   a&&(this.c urrentActi ve=a);this .hasFocus| |this._.lo cked||((a= CKEDITOR.c urrentInst ance)&&a.f ocusManage r.blur(1), this.hasFo cus=!0,(a= this._.edi tor.contai ner)&&a.ad dClass("ck e_focus"), this._.edi tor.fire(" focus"))}, lock:funct ion(){this ._.locked= 1},unlock: function() {delete th is._.locke d},blur:fu nction(a){ function e (){if(this .hasFocus) {this.hasF ocus=!1;va r a=this._ .editor.co ntainer;a& &a.removeC lass("cke_ focus");th is._.edito r.fire("bl ur")}}if(! this._.loc ked){this. _.timer&&c learTimeou t(this._.t imer);var  b=        
206   CKEDITOR.f ocusManage r._.blurDe lay;a||!b? e.call(thi s):this._. timer=CKED ITOR.tools .setTimeou t(function (){delete  this._.tim er;e.call( this)},b,t his)}},add :function( a,e){var b =a.getCust omData("fo cusmanager ");if(!b|| b!=this){b &&b.remove (a);var b= "focus",c= "blur";e&& (CKEDITOR. env.ie?(b= "focusin", c="focusou t"):CKEDIT OR.event.u seCapture= 1);var d={ blur:funct ion(){a.eq uals(this. currentAct ive)&&this .blur()},f ocus:funct ion(){this .focus(a)} };a.on(b,d .focus,thi s);a.on(c, d.blur,thi s);e&&(CKE DITOR.even t.useCaptu re=        
207   0);a.setCu stomData(" focusmanag er",this); a.setCusto mData("foc usmanager_ handlers", d)}},remov e:function (a){a.remo veCustomDa ta("focusm anager");v ar e=a.rem oveCustomD ata("focus manager_ha ndlers");a .removeLis tener("blu r",e.blur) ;a.removeL istener("f ocus",e.fo cus)}}}(), CKEDITOR.k eystrokeHa ndler=func tion(a){if (a.keystro keHandler) return a.k eystrokeHa ndler;this .keystroke s={};this. blockedKey strokes={} ;this._={e ditor:a};r eturn this },function (){var a,e =function( b){b=b.dat a;var d=b. getKeystro ke(),e=thi s.keystrok es[d],        
208   m=this._.e ditor;a=!1 ===m.fire( "key",{key Code:d,dom Event:b}); a||(e&&(a= !1!==m.exe cCommand(e ,{from:"ke ystrokeHan dler"})),a ||(a=!!thi s.blockedK eystrokes[ d]));a&&b. preventDef ault(!0);r eturn!a},b =function( b){a&&(a=! 1,b.data.p reventDefa ult(!0))}; CKEDITOR.k eystrokeHa ndler.prot otype={att ach:functi on(a){a.on ("keydown" ,e,this);i f(CKEDITOR .env.gecko &&CKEDITOR .env.mac)a .on("keypr ess",b,thi s)}}}(),fu nction(){C KEDITOR.la ng={langua ges:{af:1, ar:1,bg:1, bn:1,bs:1, ca:1,cs:1, cy:1,da:1, de:1,el:1, "en-au":1, "en-ca":1, "en-gb":1,        
209   en:1,eo:1, es:1,et:1, eu:1,fa:1, fi:1,fo:1, "fr-ca":1, fr:1,gl:1, gu:1,he:1, hi:1,hr:1, hu:1,id:1, is:1,it:1, ja:1,ka:1, km:1,ko:1, ku:1,lt:1, lv:1,mk:1, mn:1,ms:1, nb:1,nl:1, no:1,pl:1, "pt-br":1, pt:1,ro:1, ru:1,si:1, sk:1,sl:1, sq:1,"sr-l atn":1,sr: 1,sv:1,th: 1,tr:1,tt: 1,ug:1,uk: 1,vi:1,"zh -cn":1,zh: 1},rtl:{ar :1,fa:1,he :1,ku:1,ug :1},load:f unction(a, e,b){a&&CK EDITOR.lan g.language s[a]||(a=t his.detect (e,a));var  c=this;e= function() {c[a].dir= c.rtl[a]?" rtl":"ltr" ;b(a,c[a]) };this[a]? e():CKEDIT OR.scriptL oader.load (CKEDITOR. getUrl("la ng/"+        
210   a+".js"),e ,this)},de tect:funct ion(a,e){v ar b=this. languages; e=e||navig ator.userL anguage||n avigator.l anguage||a ;var c=e.t oLowerCase ().match(/ ([a-z]+)(? :-([a-z]+) )?/),d=c[1 ],c=c[2];b [d+"-"+c]? d=d+"-"+c: b[d]||(d=n ull);CKEDI TOR.lang.d etect=d?fu nction(){r eturn d}:f unction(a) {return a} ;return d| |a}}}(),CK EDITOR.scr iptLoader= function() {var a={}, e={};retur n{load:fun ction(b,c, d,k){var m ="string"= =typeof b; m&&(b=[b]) ;d||(d=CKE DITOR);var  f=b.lengt h,l=[],h=[ ],g=functi on(a){c&&( m?c.call(d ,a):c.call (d,l,h))}; if(0===        
211   f)g(!0);el se{var n=f unction(a, b){(b?l:h) .push(a);0 >=--f&&(k& &CKEDITOR. document.g etDocument Element(). removeStyl e("cursor" ),g(b))},r =function( b,c){a[b]= 1;var d=e[ b];delete  e[b];for(v ar f=0;f<d .length;f+ +)d[f](b,c )},t=funct ion(b){if( a[b])n(b,! 0);else{va r d=e[b]|| (e[b]=[]); d.push(n); if(!(1<d.l ength)){va r f=new CK EDITOR.dom .element(" script");f .setAttrib utes({type :"text/jav ascript",s rc:b});c&& (CKEDITOR. env.ie&&11 >CKEDITOR. env.versio n?f.$.onre adystatech ange=funct ion(){if(" loaded"==f .$.readySt ate||"comp lete"==        
212   f.$.readyS tate)f.$.o nreadystat echange=nu ll,r(b,!0) }:(f.$.onl oad=functi on(){setTi meout(func tion(){r(b ,!0)},0)}, f.$.onerro r=function (){r(b,!1) }));f.appe ndTo(CKEDI TOR.docume nt.getHead ())}}};k&& CKEDITOR.d ocument.ge tDocumentE lement().s etStyle("c ursor","wa it");for(v ar q=0;q<f ;q++)t(b[q ])}},queue :function( ){function  a(){var b ;(b=c[0])& &this.load (b.scriptU rl,b.callb ack,CKEDIT OR,0)}var  c=[];retur n function (d,e){var  m=this;c.p ush({scrip tUrl:d,cal lback:func tion(){e&& e.apply(th is,argumen ts);c.shif t();a.call (m)}});        
213   1==c.lengt h&&a.call( this)}}()} }(),CKEDIT OR.resourc eManager=f unction(a, e){this.ba sePath=a;t his.fileNa me=e;this. registered ={};this.l oaded={};t his.extern als={};thi s._={waiti ngList:{}} },CKEDITOR .resourceM anager.pro totype={ad d:function (a,e){if(t his.regist ered[a])th row'[CKEDI TOR.resour ceManager. add] The r esource na me "'+a+'"  is alread y register ed.';var b =this.regi stered[a]= e||{};b.na me=a;b.pat h=this.get Path(a);CK EDITOR.fir e(a+CKEDIT OR.tools.c apitalize( this.fileN ame)+"Read y",b);retu rn this.ge t(a)},get: function(a ){return t his.regist ered[a]||        
214   null},getP ath:functi on(a){var  e=this.ext ernals[a]; return CKE DITOR.getU rl(e&&e.di r||this.ba sePath+a+" /")},getFi lePath:fun ction(a){v ar e=this. externals[ a];return  CKEDITOR.g etUrl(this .getPath(a )+(e?e.fil e:this.fil eName+".js "))},addEx ternal:fun ction(a,e, b){a=a.spl it(",");fo r(var c=0; c<a.length ;c++){var  d=a[c];b|| (e=e.repla ce(/[^\/]+ $/,functio n(a){b=a;r eturn""})) ;this.exte rnals[d]={ dir:e,file :b||this.f ileName+". js"}}},loa d:function (a,e,b){CK EDITOR.too ls.isArray (a)||(a=a? [a]:[]);fo r(var c=th is.loaded, d=        
215   this.regis tered,k=[] ,m={},f={} ,l=0;l<a.l ength;l++) {var h=a[l ];if(h)if( c[h]||d[h] )f[h]=this .get(h);el se{var g=t his.getFil ePath(h);k .push(g);g  in m||(m[ g]=[]);m[g ].push(h)} }CKEDITOR. scriptLoad er.load(k, function(a ,d){if(d.l ength)thro w'[CKEDITO R.resource Manager.lo ad] Resour ce name "' +m[d[0]].j oin(",")+' " was not  found at " '+d[0]+'". ';for(var  g=0;g<a.le ngth;g++)f or(var h=m [a[g]],k=0 ;k<h.lengt h;k++){var  l=h[k];f[ l]=this.ge t(l);c[l]= 1}e.call(b ,f)},this) }},CKEDITO R.plugins= new CKEDIT OR.resourc eManager(" plugins/",        
216   "plugin"), CKEDITOR.p lugins.loa d=CKEDITOR .tools.ove rride(CKED ITOR.plugi ns.load,fu nction(a){ var e={};r eturn func tion(b,c,d ){var k={} ,m=functio n(b){a.cal l(this,b,f unction(a) {CKEDITOR. tools.exte nd(k,a);va r b=[],f;f or(f in a) {var n=a[f ],r=n&&n.r equires;if (!e[f]){if (n.icons)f or(var t=n .icons.spl it(","),q= t.length;q --;)CKEDIT OR.skin.ad dIcon(t[q] ,n.path+"i cons/"+(CK EDITOR.env .hidpi&&n. hidpi?"hid pi/":"")+t [q]+".png" );e[f]=1}i f(r)for(r. split&&(r= r.split(", ")),n=0;n< r.length;n ++)k[r[n]] ||b.push(r [n])}if(b. length)m.c all(this,        
217   b);else{fo r(f in k)n =k[f],n.on Load&&!n.o nLoad._cal led&&(!1== =n.onLoad( )&&delete  k[f],n.onL oad._calle d=1);c&&c. call(d||wi ndow,k)}}, this)};m.c all(this,b )}}),CKEDI TOR.plugin s.setLang= function(a ,e,b){var  c=this.get (a);a=c.la ngEntries| |(c.langEn tries={}); c=c.lang|| (c.lang=[] );c.split& &(c=c.spli t(","));-1 ==CKEDITOR .tools.ind exOf(c,e)& &c.push(e) ;a[e]=b},C KEDITOR.ui =function( a){if(a.ui )return a. ui;this.it ems={};thi s.instance s={};this. editor=a;t his._={han dlers:{}}; return thi s},CKEDITO R.ui.proto type={add: function(a ,        
218   e,b){b.nam e=a.toLowe rCase();va r c=this.i tems[a]={t ype:e,comm and:b.comm and||null, args:Array .prototype .slice.cal l(argument s,2)};CKED ITOR.tools .extend(c, b)},get:fu nction(a){ return thi s.instance s[a]},crea te:functio n(a){var e =this.item s[a],b=e&& this._.han dlers[e.ty pe],c=e&&e .command&& this.edito r.getComma nd(e.comma nd),b=b&&b .create.ap ply(this,e .args);thi s.instance s[a]=b;c&& c.uiItems. push(b);b& &!b.type&& (b.type=e. type);retu rn b},addH andler:fun ction(a,e) {this._.ha ndlers[a]= e},space:f unction(a) {return CK EDITOR.doc ument.getB yId(this.s paceId(a)) },        
219   spaceId:fu nction(a){ return thi s.editor.i d+"_"+a}}, CKEDITOR.e vent.imple mentOn(CKE DITOR.ui), function() {function  a(a,d,g){C KEDITOR.ev ent.call(t his);a=a&& CKEDITOR.t ools.clone (a);if(voi d 0!==d){i f(!(d inst anceof CKE DITOR.dom. element))t hrow Error ("Expect e lement of  type CKEDI TOR.dom.el ement.");i f(!g)throw  Error("On e of the e lement mod es must be  specified .");if(CKE DITOR.env. ie&&CKEDIT OR.env.qui rks&&g==CK EDITOR.ELE MENT_MODE_ INLINE)thr ow Error(" Inline ele ment mode  is not sup ported on  IE quirks. ");if(!b(d ,        
220   g))throw E rror('The  specified  element mo de is not  supported  on element : "'+d.get Name()+'". ');this.el ement=d;th is.element Mode=g;thi s.name=thi s.elementM ode!=CKEDI TOR.ELEMEN T_MODE_APP ENDTO&&(d. getId()||d .getNameAt t())}else  this.eleme ntMode=CKE DITOR.ELEM ENT_MODE_N ONE;this._ ={};this.c ommands={} ;this.temp lates={};t his.name=t his.name|| e();this.i d=CKEDITOR .tools.get NextId();t his.status ="unloaded ";this.con fig=CKEDIT OR.tools.p rototypedC opy(CKEDIT OR.config) ;this.ui=n ew CKEDITO R.ui(this) ;this.focu sManager=n ew CKEDITO R.focusMan ager(this) ;        
221   this.keyst rokeHandle r=new CKED ITOR.keyst rokeHandle r(this);th is.on("rea dOnly",c); this.on("s electionCh ange",func tion(a){k( this,a.dat a.path)}); this.on("a ctiveFilte rChange",f unction(){ k(this,thi s.elementP ath(),!0)} );this.on( "mode",c); this.on("i nstanceRea dy",functi on(){this. config.sta rtupFocus& &this.focu s()});CKED ITOR.fire( "instanceC reated",nu ll,this);C KEDITOR.ad d(this);CK EDITOR.too ls.setTime out(functi on(){f(thi s,a)},0,th is)}functi on e(){do  var a="edi tor"+ ++t; while(CKED ITOR.insta nces[a]);r eturn a}fu nction b(a ,        
222   b){return  b==CKEDITO R.ELEMENT_ MODE_INLIN E?a.is(CKE DITOR.dtd. $editable) ||a.is("te xtarea"):b ==CKEDITOR .ELEMENT_M ODE_REPLAC E?!a.is(CK EDITOR.dtd .$nonBodyC ontent):1} function c (){var a=t his.comman ds,b;for(b  in a)d(th is,a[b])}f unction d( a,b){b[b.s tartDisabl ed?"disabl e":a.readO nly&&!b.re adOnly?"di sable":b.m odes[a.mod e]?"enable ":"disable "]()}funct ion k(a,b, c){if(b){v ar d,f,g=a .commands; for(f in g )d=g[f],(c ||d.contex tSensitive )&&d.refre sh(a,b)}}f unction m( a){var b=a .config.cu stomConfig ;if(!b)ret urn!1;var  b=        
223   CKEDITOR.g etUrl(b),c =q[b]||(q[ b]={});c.f n?(c.fn.ca ll(a,a.con fig),CKEDI TOR.getUrl (a.config. customConf ig)!=b&&m( a)||a.fire Once("cust omConfigLo aded")):CK EDITOR.scr iptLoader. queue(b,fu nction(){c .fn=CKEDIT OR.editorC onfig?CKED ITOR.edito rConfig:fu nction(){} ;m(a)});re turn!0}fun ction f(a, b){a.on("c ustomConfi gLoaded",f unction(){ if(b){if(b .on)for(va r c in b.o n)a.on(c,b .on[c]);CK EDITOR.too ls.extend( a.config,b ,!0);delet e a.config .on}c=a.co nfig;a.rea dOnly=c.re adOnly?!0: a.elementM ode==CKEDI TOR.ELEMEN T_MODE_INL INE?        
224   a.element. is("textar ea")?a.ele ment.hasAt tribute("d isabled")| |a.element .hasAttrib ute("reado nly"):a.el ement.isRe adOnly():a .elementMo de==CKEDIT OR.ELEMENT _MODE_REPL ACE?a.elem ent.hasAtt ribute("di sabled")|| a.element. hasAttribu te("readon ly"):!1;a. blockless= a.elementM ode==CKEDI TOR.ELEMEN T_MODE_INL INE?!(a.el ement.is(" textarea") ||CKEDITOR .dtd[a.ele ment.getNa me()].p):! 1;a.tabInd ex=c.tabIn dex||a.ele ment&&a.el ement.getA ttribute(" tabindex") ||0;a.acti veEnterMod e=a.enterM ode=a.bloc kless?CKED ITOR.ENTER _BR:c.ente rMode;        
225   a.activeSh iftEnterMo de=a.shift EnterMode= a.blockles s?CKEDITOR .ENTER_BR: c.shiftEnt erMode;c.s kin&&(CKED ITOR.skinN ame=c.skin );a.fireOn ce("config Loaded");a .dataProce ssor=new C KEDITOR.ht mlDataProc essor(a);a .filter=a. activeFilt er=new CKE DITOR.filt er(a);l(a) });b&&null !=b.custom Config&&(a .config.cu stomConfig =b.customC onfig);m(a )||a.fireO nce("custo mConfigLoa ded")}func tion l(a){ CKEDITOR.s kin.loadPa rt("editor ",function (){h(a)})} function h (a){CKEDIT OR.lang.lo ad(a.confi g.language ,a.config. defaultLan guage,func tion(b,        
226   c){var d=a .config.ti tle;a.lang Code=b;a.l ang=CKEDIT OR.tools.p rototypedC opy(c);a.t itle="stri ng"==typeo f d||!1=== d?d:[a.lan g.editor,a .name].joi n(", ");a. config.con tentsLangD irection|| (a.config. contentsLa ngDirectio n=a.elemen tMode==CKE DITOR.ELEM ENT_MODE_I NLINE?a.el ement.getD irection(1 ):a.lang.d ir);a.fire ("langLoad ed");g(a)} )}function  g(a){a.ge tStylesSet (function( b){a.once( "loaded",f unction(){ a.fire("st ylesSet",{ styles:b}) },null,nul l,1);n(a)} )}function  n(a){var  b=a.config ,c=b.plugi ns,d=b.ext raPlugins, f=        
227   b.removePl ugins;if(d )var g=new  RegExp("( ?:^|,)(?:" +d.replace (/\s*,\s*/ g,"|")+")( ?\x3d,|$)" ,"g"),c=c. replace(g, ""),c=c+(" ,"+d);if(f )var e=new  RegExp("( ?:^|,)(?:" +f.replace (/\s*,\s*/ g,"|")+")( ?\x3d,|$)" ,"g"),c=c. replace(e, "");CKEDIT OR.env.air &&(c+=",ad obeair");C KEDITOR.pl ugins.load (c.split(" ,"),functi on(c){var  d=[],f=[], g=[];a.plu gins=c;for (var h in  c){var k=c [h],l=k.la ng,m=null, v=k.requir es,E;CKEDI TOR.tools. isArray(v) &&(v=v.joi n(","));if (v&&(E=v.m atch(e)))f or(;v=E.po p();)CKEDI TOR.tools. setTimeout (function( a,        
228   b){throw E rror('Plug in "'+a.re place(",", "")+'" can not be rem oved from  the plugin s list, be cause it\' s required  by "'+b+' " plugin.' );},0,null ,[v,h]);l& &!a.lang[h ]&&(l.spli t&&(l=l.sp lit(",")), 0<=CKEDITO R.tools.in dexOf(l,a. langCode)? m=a.langCo de:(m=a.la ngCode.rep lace(/-.*/ ,""),m=m!= a.langCode &&0<=CKEDI TOR.tools. indexOf(l, m)?m:0<=CK EDITOR.too ls.indexOf (l,"en")?" en":l[0]), k.langEntr ies&&k.lan gEntries[m ]?(a.lang[ h]=k.langE ntries[m], m=null):g. push(CKEDI TOR.getUrl (k.path+"l ang/"+m+". js")));f.p ush(m);d.p ush(k)}CKE DITOR.scri ptLoader.l oad(g,        
229   function() {for(var c =["beforeI nit","init ","afterIn it"],g=0;g <c.length; g++)for(va r e=0;e<d. length;e++ ){var h=d[ e];0===g&& f[e]&&h.la ng&&h.lang Entries&&( a.lang[h.n ame]=h.lan gEntries[f [e]]);if(h [c[g]])h[c [g]](a)}a. fireOnce(" pluginsLoa ded");b.ke ystrokes&& a.setKeyst roke(a.con fig.keystr okes);for( e=0;e<a.co nfig.block edKeystrok es.length; e++)a.keys trokeHandl er.blocked Keystrokes [a.config. blockedKey strokes[e] ]=1;a.stat us="loaded ";a.fireOn ce("loaded ");CKEDITO R.fire("in stanceLoad ed",null,a )})})}func tion r(){v ar a=        
230   this.eleme nt;if(a&&t his.elemen tMode!=CKE DITOR.ELEM ENT_MODE_A PPENDTO){v ar b=this. getData(); this.confi g.htmlEnco deOutput&& (b=CKEDITO R.tools.ht mlEncode(b ));a.is("t extarea")? a.setValue (b):a.setH tml(b);ret urn!0}retu rn!1}a.pro totype=CKE DITOR.edit or.prototy pe;CKEDITO R.editor=a ;var t=0,q ={};CKEDIT OR.tools.e xtend(CKED ITOR.edito r.prototyp e,{addComm and:functi on(a,b){b. name=a.toL owerCase() ;var c=new  CKEDITOR. command(th is,b);this .mode&&d(t his,c);ret urn this.c ommands[a] =c},_attac hToForm:fu nction(){f unction a( b){c.updat eElement() ;        
231   c._.requir ed&&!d.get Value()&&! 1===c.fire ("required ")&&b.data .preventDe fault()}fu nction b(a ){return!! (a&&a.call &&a.apply) }var c=thi s,d=c.elem ent,f=new  CKEDITOR.d om.element (d.$.form) ;d.is("tex tarea")&&f &&(f.on("s ubmit",a), b(f.$.subm it)&&(f.$. submit=CKE DITOR.tool s.override (f.$.submi t,function (b){return  function( ){a();b.ap ply?b.appl y(this):b( )}})),c.on ("destroy" ,function( ){f.remove Listener(" submit",a) }))},destr oy:functio n(a){this. fire("befo reDestroy" );!a&&r.ca ll(this);t his.editab le(null);t his.filter .destroy() ;        
232   delete thi s.filter;d elete this .activeFil ter;this.s tatus="des troyed";th is.fire("d estroy");t his.remove AllListene rs();CKEDI TOR.remove (this);CKE DITOR.fire ("instance Destroyed" ,null,this )},element Path:funct ion(a){if( !a){a=this .getSelect ion();if(! a)return n ull;a=a.ge tStartElem ent()}retu rn a?new C KEDITOR.do m.elementP ath(a,this .editable( )):null},c reateRange :function( ){var a=th is.editabl e();return  a?new CKE DITOR.dom. range(a):n ull},execC ommand:fun ction(a,b) {var c=thi s.getComma nd(a),d={n ame:a,comm andData:b, command:c} ;        
233   return c&& c.state!=C KEDITOR.TR ISTATE_DIS ABLED&&!1! ==this.fir e("beforeC ommandExec ",d)&&(d.r eturnValue =c.exec(d. commandDat a),!c.asyn c&&!1!==th is.fire("a fterComman dExec",d)) ?d.returnV alue:!1},g etCommand: function(a ){return t his.comman ds[a]},get Data:funct ion(a){!a& &this.fire ("beforeGe tData");va r b=this._ .data;"str ing"!=type of b&&(b=( b=this.ele ment)&&thi s.elementM ode==CKEDI TOR.ELEMEN T_MODE_REP LACE?b.is( "textarea" )?b.getVal ue():b.get Html():"") ;b={dataVa lue:b};!a& &this.fire ("getData" ,b);return  b.dataVal ue},        
234   getSnapsho t:function (){var a=t his.fire(" getSnapsho t");"strin g"!=typeof  a&&(a=(a= this.eleme nt)&&this. elementMod e==CKEDITO R.ELEMENT_ MODE_REPLA CE?a.is("t extarea")? a.getValue ():a.getHt ml():"");r eturn a},l oadSnapsho t:function (a){this.f ire("loadS napshot",a )},setData :function( a,b,c){var  d=!0,f=b; b&&"object "==typeof  b&&(c=b.in ternal,f=b .callback, d=!b.noSna pshot);!c& &d&&this.f ire("saveS napshot"); if(f||!c)t his.once(" dataReady" ,function( a){!c&&d&& this.fire( "saveSnaps hot");f&&f .call(a.ed itor)});a= {dataValue :a};        
235   !c&&this.f ire("setDa ta",a);thi s._.data=a .dataValue ;!c&&this. fire("afte rSetData", a)},setRea dOnly:func tion(a){a= null==a||a ;this.read Only!=a&&( this.readO nly=a,this .keystroke Handler.bl ockedKeyst rokes[8]=+ a,this.edi table().se tReadOnly( a),this.fi re("readOn ly"))},ins ertHtml:fu nction(a,b ,c){this.f ire("inser tHtml",{da taValue:a, mode:b,ran ge:c})},in sertText:f unction(a) {this.fire ("insertTe xt",a)},in sertElemen t:function (a){this.f ire("inser tElement", a)},getSel ectedHtml: function(a ){var b=th is.editabl e(),c=this .getSelect ion(),        
236   c=c&&c.get Ranges();i f(!b||!c|| 0===c.leng th)return  null;b=b.g etHtmlFrom Range(c[0] );return a ?b.getHtml ():b},extr actSelecte dHtml:func tion(a,b){ var c=this .editable( ),d=this.g etSelectio n().getRan ges();if(! c||0===d.l ength)retu rn null;d= d[0];c=c.e xtractHtml FromRange( d,b);b||th is.getSele ction().se lectRanges ([d]);retu rn a?c.get Html():c}, focus:func tion(){thi s.fire("be foreFocus" )},checkDi rty:functi on(){retur n"ready"== this.statu s&&this._. previousVa lue!==this .getSnapsh ot()},rese tDirty:fun ction(){th is._.previ ousValue=        
237   this.getSn apshot()}, updateElem ent:functi on(){retur n r.call(t his)},setK eystroke:f unction(){ for(var a= this.keyst rokeHandle r.keystrok es,b=CKEDI TOR.tools. isArray(ar guments[0] )?argument s[0]:[[].s lice.call( arguments, 0)],c,d,f= b.length;f --;)c=b[f] ,d=0,CKEDI TOR.tools. isArray(c) &&(d=c[1], c=c[0]),d? a[c]=d:del ete a[c]}, addFeature :function( a){return  this.filte r.addFeatu re(a)},set ActiveFilt er:functio n(a){a||(a =this.filt er);this.a ctiveFilte r!==a&&(th is.activeF ilter=a,th is.fire("a ctiveFilte rChange"), a===this.f ilter?        
238   this.setAc tiveEnterM ode(null,n ull):this. setActiveE nterMode(a .getAllowe dEnterMode (this.ente rMode),a.g etAllowedE nterMode(t his.shiftE nterMode,! 0)))},setA ctiveEnter Mode:funct ion(a,b){a =a?this.bl ockless?CK EDITOR.ENT ER_BR:a:th is.enterMo de;b=b?thi s.blockles s?CKEDITOR .ENTER_BR: b:this.shi ftEnterMod e;if(this. activeEnte rMode!=a|| this.activ eShiftEnte rMode!=b)t his.active EnterMode= a,this.act iveShiftEn terMode=b, this.fire( "activeEnt erModeChan ge")},show Notificati on:functio n(a){alert (a)}})}(), CKEDITOR.E LEMENT_MOD E_NONE=        
239   0,CKEDITOR .ELEMENT_M ODE_REPLAC E=1,CKEDIT OR.ELEMENT _MODE_APPE NDTO=2,CKE DITOR.ELEM ENT_MODE_I NLINE=3,CK EDITOR.htm lParser=fu nction(){t his._={htm lPartsRege x:/<(?:(?: \/([^>]+)> )|(?:!--([ \S|\s]*?)- -\x3e)|(?: ([^\/\s>]+ )((?:\s+[\ w\-:.]+(?: \s*=\s*?(? :(?:"[^"]* ")|(?:'[^' ]*')|[^\s" '\/>]+))?) *)[\S\s]*? (\/?)>))/g }},functio n(){var a= /([\w\-:.] +)(?:(?:\s *=\s*(?:(? :"([^"]*)" )|(?:'([^' ]*)')|([^\ s>]+)))|(? =\s|$))/g, e={checked :1,compact :1,declare :1,defer:1 ,disabled: 1,ismap:1, multiple:1 ,nohref:1, noresize:1 ,noshade:1 ,        
240   nowrap:1,r eadonly:1, selected:1 };CKEDITOR .htmlParse r.prototyp e={onTagOp en:functio n(){},onTa gClose:fun ction(){}, onText:fun ction(){}, onCDATA:fu nction(){} ,onComment :function( ){},parse: function(b ){for(var  c,d,k=0,m; c=this._.h tmlPartsRe gex.exec(b );){d=c.in dex;if(d>k )if(k=b.su bstring(k, d),m)m.pus h(k);else  this.onTex t(k);k=thi s._.htmlPa rtsRegex.l astIndex;i f(d=c[1])i f(d=d.toLo werCase(), m&&CKEDITO R.dtd.$cda ta[d]&&(th is.onCDATA (m.join("" )),m=null) ,!m){this. onTagClose (d);contin ue}if(m)m. push(c[0]) ;else if(d =        
241   c[3]){if(d =d.toLower Case(),!/= "/.test(d) ){var f={} ,l,h=c[4]; c=!!c[5];i f(h)for(;l =a.exec(h) ;){var g=l [1].toLowe rCase();l= l[2]||l[3] ||l[4]||"" ;f[g]=!l&& e[g]?g:CKE DITOR.tool s.htmlDeco deAttr(l)} this.onTag Open(d,f,c );!m&&CKED ITOR.dtd.$ cdata[d]&& (m=[])}}el se if(d=c[ 2])this.on Comment(d) }if(b.leng th>k)this. onText(b.s ubstring(k ,b.length) )}}}(),CKE DITOR.html Parser.bas icWriter=C KEDITOR.to ols.create Class({$:f unction(){ this._={ou tput:[]}}, proto:{ope nTag:funct ion(a){thi s._.output .push("\x3 c",a)},ope nTagClose: function(a ,        
242   e){e?this. _.output.p ush(" /\x3 e"):this._ .output.pu sh("\x3e") },attribut e:function (a,e){"str ing"==type of e&&(e=C KEDITOR.to ols.htmlEn codeAttr(e ));this._. output.pus h(" ",a,'\ x3d"',e,'" ')},closeT ag:functio n(a){this. _.output.p ush("\x3c/ ",a,"\x3e" )},text:fu nction(a){ this._.out put.push(a )},comment :function( a){this._. output.pus h("\x3c!-- ",a,"--\x3 e")},write :function( a){this._. output.pus h(a)},rese t:function (){this._. output=[]; this._.ind ent=!1},ge tHtml:func tion(a){va r e=this._ .output.jo in("");a&& this.reset ();        
243   return e}} }),"use st rict",func tion(){CKE DITOR.html Parser.nod e=function (){};CKEDI TOR.htmlPa rser.node. prototype= {remove:fu nction(){v ar a=this. parent.chi ldren,e=CK EDITOR.too ls.indexOf (a,this),b =this.prev ious,c=thi s.next;b&& (b.next=c) ;c&&(c.pre vious=b);a .splice(e, 1);this.pa rent=null} ,replaceWi th:functio n(a){var e =this.pare nt.childre n,b=CKEDIT OR.tools.i ndexOf(e,t his),c=a.p revious=th is.previou s,d=a.next =this.next ;c&&(c.nex t=a);d&&(d .previous= a);e[b]=a; a.parent=t his.parent ;this.pare nt=null},i nsertAfter :function( a){var e=        
244   a.parent.c hildren,b= CKEDITOR.t ools.index Of(e,a),c= a.next;e.s plice(b+1, 0,this);th is.next=a. next;this. previous=a ;a.next=th is;c&&(c.p revious=th is);this.p arent=a.pa rent},inse rtBefore:f unction(a) {var e=a.p arent.chil dren,b=CKE DITOR.tool s.indexOf( e,a);e.spl ice(b,0,th is);this.n ext=a;(thi s.previous =a.previou s)&&(a.pre vious.next =this);a.p revious=th is;this.pa rent=a.par ent},getAs cendant:fu nction(a){ var e="fun ction"==ty peof a?a:" string"==t ypeof a?fu nction(b){ return b.n ame==a}:fu nction(b){ return b.n ame in a}, b=        
245   this.paren t;for(;b&& b.type==CK EDITOR.NOD E_ELEMENT; ){if(e(b)) return b;b =b.parent} return nul l},wrapWit h:function (a){this.r eplaceWith (a);a.add( this);retu rn a},getI ndex:funct ion(){retu rn CKEDITO R.tools.in dexOf(this .parent.ch ildren,thi s)},getFil terContext :function( a){return  a||{}}}}() ,"use stri ct",CKEDIT OR.htmlPar ser.commen t=function (a){this.v alue=a;thi s._={isBlo ckLike:!1} },CKEDITOR .htmlParse r.comment. prototype= CKEDITOR.t ools.exten d(new CKED ITOR.htmlP arser.node ,{type:CKE DITOR.NODE _COMMENT,f ilter:func tion(a,        
246   e){var b=t his.value; if(!(b=a.o nComment(e ,b,this))) return thi s.remove() ,!1;if("st ring"!=typ eof b)retu rn this.re placeWith( b),!1;this .value=b;r eturn!0},w riteHtml:f unction(a, e){e&&this .filter(e) ;a.comment (this.valu e)}}),"use  strict",f unction(){ CKEDITOR.h tmlParser. text=funct ion(a){thi s.value=a; this._={is BlockLike: !1}};CKEDI TOR.htmlPa rser.text. prototype= CKEDITOR.t ools.exten d(new CKED ITOR.htmlP arser.node ,{type:CKE DITOR.NODE _TEXT,filt er:functio n(a,e){if( !(this.val ue=a.onTex t(e,this.v alue,this) ))return t his.remove (),        
247   !1},writeH tml:functi on(a,e){e& &this.filt er(e);a.te xt(this.va lue)}})}() ,"use stri ct",functi on(){CKEDI TOR.htmlPa rser.cdata =function( a){this.va lue=a};CKE DITOR.html Parser.cda ta.prototy pe=CKEDITO R.tools.ex tend(new C KEDITOR.ht mlParser.n ode,{type: CKEDITOR.N ODE_TEXT,f ilter:func tion(){},w riteHtml:f unction(a) {a.write(t his.value) }})}(),"us e strict", CKEDITOR.h tmlParser. fragment=f unction(){ this.child ren=[];thi s.parent=n ull;this._ ={isBlockL ike:!0,has InlineStar ted:!1}},f unction(){ function a (a){return  a.attribu tes["data- cke-surviv e"]?        
248   !1:"a"==a. name&&a.at tributes.h ref||CKEDI TOR.dtd.$r emoveEmpty [a.name]}v ar e=CKEDI TOR.tools. extend({ta ble:1,ul:1 ,ol:1,dl:1 },CKEDITOR .dtd.table ,CKEDITOR. dtd.ul,CKE DITOR.dtd. ol,CKEDITO R.dtd.dl), b={ol:1,ul :1},c=CKED ITOR.tools .extend({} ,{html:1}, CKEDITOR.d td.html,CK EDITOR.dtd .body,CKED ITOR.dtd.h ead,{style :1,script: 1}),d={ul: "li",ol:"l i",dl:"dd" ,table:"tb ody",tbody :"tr",thea d:"tr",tfo ot:"tr",tr :"td"};CKE DITOR.html Parser.fra gment.from Html=funct ion(k,m,f) {function  l(a){var b ;if(0<u.le ngth)for(v ar c=0;c<u .length;c+ +){var d=        
249   u[c],f=d.n ame,g=CKED ITOR.dtd[f ],e=y.name &&CKEDITOR .dtd[y.nam e];e&&!e[f ]||a&&g&&! g[a]&&CKED ITOR.dtd[a ]?f==y.nam e&&(n(y,y. parent,1), c--):(b||( h(),b=1),d =d.clone() ,d.parent= y,y=d,u.sp lice(c,1), c--)}}func tion h(){f or(;w.leng th;)n(w.sh ift(),y)}f unction g( a){if(a._. isBlockLik e&&"pre"!= a.name&&"t extarea"!= a.name){va r b=a.chil dren.lengt h,c=a.chil dren[b-1], d;c&&c.typ e==CKEDITO R.NODE_TEX T&&((d=CKE DITOR.tool s.rtrim(c. value))?c. value=d:a. children.l ength=b-1) }}function  n(b,c,d){ c=c||y||p; var e=y;vo id 0===b.p revious&&        
250   (r(c,b)&&( y=c,q.onTa gOpen(f,{} ),b.return Point=c=y) ,g(b),a(b) &&!b.child ren.length ||c.add(b) ,"pre"==b. name&&(v=! 1),"textar ea"==b.nam e&&(B=!1)) ;b.returnP oint?(y=b. returnPoin t,delete b .returnPoi nt):y=d?c: e}function  r(a,b){if ((a==p||"b ody"==a.na me)&&f&&(! a.name||CK EDITOR.dtd [a.name][f ])){var c, d;return(c =b.attribu tes&&(d=b. attributes ["data-cke -real-elem ent-type"] )?d:b.name )&&c in CK EDITOR.dtd .$inline&& !(c in CKE DITOR.dtd. head)&&!b. isOrphan|| b.type==CK EDITOR.NOD E_TEXT}}fu nction t(a ,b){return  a in CKED ITOR.dtd.$ listItem||        
251   a in CKEDI TOR.dtd.$t ableConten t?a==b||"d t"==a&&"dd "==b||"dd" ==a&&"dt"= =b:!1}var  q=new CKED ITOR.htmlP arser,p=m  instanceof  CKEDITOR. htmlParser .element?m :"string"= =typeof m? new CKEDIT OR.htmlPar ser.elemen t(m):new C KEDITOR.ht mlParser.f ragment,u= [],w=[],y= p,B="texta rea"==p.na me,v="pre" ==p.name;q .onTagOpen =function( d,f,g,k){f =new CKEDI TOR.htmlPa rser.eleme nt(d,f);f. isUnknown& &g&&(f.isE mpty=!0);f .isOptiona lClose=k;i f(a(f))u.p ush(f);els e{if("pre" ==d)v=!0;e lse{if("br "==d&&v){y .add(new C KEDITOR.ht mlParser.t ext("\n")) ;        
252   return}"te xtarea"==d &&(B=!0)}i f("br"==d) w.push(f); else{for(; !(k=(g=y.n ame)?CKEDI TOR.dtd[g] ||(y._.isB lockLike?C KEDITOR.dt d.div:CKED ITOR.dtd.s pan):c,f.i sUnknown|| y.isUnknow n||k[d]);) if(y.isOpt ionalClose )q.onTagCl ose(g);els e if(d in  b&&g in b) g=y.childr en,(g=g[g. length-1]) &&"li"==g. name||n(g= new CKEDIT OR.htmlPar ser.elemen t("li"),y) ,!f.return Point&&(f. returnPoin t=y),y=g;e lse if(d i n CKEDITOR .dtd.$list Item&&!t(d ,g))q.onTa gOpen("li" ==d?"ul":" dl",{},0,1 );else if( g in e&&!t (d,g))!f.r eturnPoint &&(f.retur nPoint=        
253   y),y=y.par ent;else i f(g in CKE DITOR.dtd. $inline&&u .unshift(y ),y.parent )n(y,y.par ent,1);els e{f.isOrph an=1;break }l(d);h(); f.parent=y ;f.isEmpty ?n(f):y=f} }};q.onTag Close=func tion(a){fo r(var b=u. length-1;0 <=b;b--)if (a==u[b].n ame){u.spl ice(b,1);r eturn}for( var c=[],d =[],g=y;g! =p&&g.name !=a;)g._.i sBlockLike ||d.unshif t(g),c.pus h(g),g=g.r eturnPoint ||g.parent ;if(g!=p){ for(b=0;b< c.length;b ++){var e= c[b];n(e,e .parent)}y =g;g._.isB lockLike&& h();n(g,g. parent);g= =y&&(y=y.p arent);u=u .concat(d) }"body"==a &&(f=!1)}; q.onText=        
254   function(a ){if(!(y._ .hasInline Started&&! w.length|| v||B)&&(a= CKEDITOR.t ools.ltrim (a),0===a. length))re turn;var b =y.name,g= b?CKEDITOR .dtd[b]||( y._.isBloc kLike?CKED ITOR.dtd.d iv:CKEDITO R.dtd.span ):c;if(!B& &!g["#"]&& b in e)q.o nTagOpen(d [b]||""),q .onText(a) ;else{h(); l();v||B|| (a=a.repla ce(/[\t\r\ n ]{2,}|[\ t\r\n]/g,"  "));a=new  CKEDITOR. htmlParser .text(a);i f(r(y,a))t his.onTagO pen(f,{},0 ,1);y.add( a)}};q.onC DATA=funct ion(a){y.a dd(new CKE DITOR.html Parser.cda ta(a))};q. onComment= function(a ){h();l(); y.add(new  CKEDITOR.h tmlParser. comment(a) )};        
255   q.parse(k) ;for(h();y !=p;)n(y,y .parent,1) ;g(p);retu rn p};CKED ITOR.htmlP arser.frag ment.proto type={type :CKEDITOR. NODE_DOCUM ENT_FRAGME NT,add:fun ction(a,b) {isNaN(b)& &(b=this.c hildren.le ngth);var  c=0<b?this .children[ b-1]:null; if(c){if(a ._.isBlock Like&&c.ty pe==CKEDIT OR.NODE_TE XT&&(c.val ue=CKEDITO R.tools.rt rim(c.valu e),0===c.v alue.lengt h)){this.c hildren.po p();this.a dd(a);retu rn}c.next= a}a.previo us=c;a.par ent=this;t his.childr en.splice( b,0,a);thi s._.hasInl ineStarted ||(this._. hasInlineS tarted=a.t ype==CKEDI TOR.NODE_T EXT||        
256   a.type==CK EDITOR.NOD E_ELEMENT& &!a._.isBl ockLike)}, filter:fun ction(a,b) {b=this.ge tFilterCon text(b);a. onRoot(b,t his);this. filterChil dren(a,!1, b)},filter Children:f unction(a, b,c){if(th is.childre nFilteredB y!=a.id){c =this.getF ilterConte xt(c);if(b &&!this.pa rent)a.onR oot(c,this );this.chi ldrenFilte redBy=a.id ;for(b=0;b <this.chil dren.lengt h;b++)!1== =this.chil dren[b].fi lter(a,c)& &b--}},wri teHtml:fun ction(a,b) {b&&this.f ilter(b);t his.writeC hildrenHtm l(a)},writ eChildrenH tml:functi on(a,b,c){ var d=this .getFilter Context();        
257   if(c&&!thi s.parent&& b)b.onRoot (d,this);b &&this.fil terChildre n(b,!1,d); b=0;c=this .children; for(d=c.le ngth;b<d;b ++)c[b].wr iteHtml(a) },forEach: function(a ,b,c){if(! (c||b&&thi s.type!=b) )var d=a(t his);if(!1 !==d){c=th is.childre n;for(var  e=0;e<c.le ngth;e++)d =c[e],d.ty pe==CKEDIT OR.NODE_EL EMENT?d.fo rEach(a,b) :b&&d.type !=b||a(d)} },getFilte rContext:f unction(a) {return a| |{}}}}()," use strict ",function (){functio n a(){this .rules=[]} function e (b,c,d,e){ var m,f;fo r(m in c)( f=b[m])||( f=b[m]=new  a),f.add( c[m],d,e)} CKEDITOR.h tmlParser. filter=        
258   CKEDITOR.t ools.creat eClass({$: function(b ){this.id= CKEDITOR.t ools.getNe xtNumber() ;this.elem entNameRul es=new a;t his.attrib uteNameRul es=new a;t his.elemen tsRules={} ;this.attr ibutesRule s={};this. textRules= new a;this .commentRu les=new a; this.rootR ules=new a ;b&&this.a ddRules(b, 10)},proto :{addRules :function( a,c){var d ;"number"= =typeof c? d=c:c&&"pr iority"in  c&&(d=c.pr iority);"n umber"!=ty peof d&&(d =10);"obje ct"!=typeo f c&&(c={} );a.elemen tNames&&th is.element NameRules. addMany(a. elementNam es,d,c);a. attributeN ames&&        
259   this.attri buteNameRu les.addMan y(a.attrib uteNames,d ,c);a.elem ents&&e(th is.element sRules,a.e lements,d, c);a.attri butes&&e(t his.attrib utesRules, a.attribut es,d,c);a. text&&this .textRules .add(a.tex t,d,c);a.c omment&&th is.comment Rules.add( a.comment, d,c);a.roo t&&this.ro otRules.ad d(a.root,d ,c)},apply To:functio n(a){a.fil ter(this)} ,onElement Name:funct ion(a,c){r eturn this .elementNa meRules.ex ecOnName(a ,c)},onAtt ributeName :function( a,c){retur n this.att ributeName Rules.exec OnName(a,c )},onText: function(a ,c,d){retu rn this.te xtRules.ex ec(a,        
260   c,d)},onCo mment:func tion(a,c,d ){return t his.commen tRules.exe c(a,c,d)}, onRoot:fun ction(a,c) {return th is.rootRul es.exec(a, c)},onElem ent:functi on(a,c){fo r(var d=[t his.elemen tsRules["^ "],this.el ementsRule s[c.name], this.eleme ntsRules.$ ],e,m=0;3> m;m++)if(e =d[m]){e=e .exec(a,c, this);if(! 1===e)retu rn null;if (e&&e!=c)r eturn this .onNode(a, e);if(c.pa rent&&!c.n ame)break} return c}, onNode:fun ction(a,c) {var d=c.t ype;return  d==CKEDIT OR.NODE_EL EMENT?this .onElement (a,c):d==C KEDITOR.NO DE_TEXT?ne w CKEDITOR .htmlParse r.text(thi s.onText(a ,        
261   c.value)): d==CKEDITO R.NODE_COM MENT?new C KEDITOR.ht mlParser.c omment(thi s.onCommen t(a,c.valu e)):null}, onAttribut e:function (a,c,d,e){ return(d=t his.attrib utesRules[ d])?d.exec (a,e,c,thi s):e}}});C KEDITOR.ht mlParser.f ilterRules Group=a;a. prototype= {add:funct ion(a,c,d) {this.rule s.splice(t his.findIn dex(c),0,{ value:a,pr iority:c,o ptions:d}) },addMany: function(a ,c,d){for( var e=[thi s.findInde x(c),0],m= 0,f=a.leng th;m<f;m++ )e.push({v alue:a[m], priority:c ,options:d });this.ru les.splice .apply(thi s.rules,e) },findInde x:function (a){for(va r c=        
262   this.rules ,d=c.lengt h-1;0<=d&& a<c[d].pri ority;)d-- ;return d+ 1},exec:fu nction(a,c ){var d=c  instanceof  CKEDITOR. htmlParser .node||c i nstanceof  CKEDITOR.h tmlParser. fragment,e =Array.pro totype.sli ce.call(ar guments,1) ,m=this.ru les,f=m.le ngth,l,h,g ,n;for(n=0 ;n<f;n++)i f(d&&(l=c. type,h=c.n ame),g=m[n ],!(a.nonE ditable&&! g.options. applyToAll ||a.nested Editable&& g.options. excludeNes tedEditabl e)){g=g.va lue.apply( null,e);if (!1===g||d &&g&&(g.na me!=h||g.t ype!=l))re turn g;nul l!=g&&(e[0 ]=c=g)}ret urn c},exe cOnName:fu nction(a,        
263   c){for(var  d=0,e=thi s.rules,m= e.length,f ;c&&d<m;d+ +)f=e[d],a .nonEditab le&&!f.opt ions.apply ToAll||a.n estedEdita ble&&f.opt ions.exclu deNestedEd itable||(c =c.replace (f.value[0 ],f.value[ 1]));retur n c}}}(),f unction(){ function a (a,f){func tion g(a){ return a|| CKEDITOR.e nv.needsNb spFiller?n ew CKEDITO R.htmlPars er.text("  "):new CKE DITOR.html Parser.ele ment("br", {"data-cke -bogus":1} )}function  e(a,d){re turn funct ion(f){if( f.type!=CK EDITOR.NOD E_DOCUMENT _FRAGMENT) {var e=[], l=b(f),m,v ;if(l)for( h(l,1)&&e. push(l);l; )k(l)&&        
264   (m=c(l))&& h(m)&&((v= c(m))&&!k( v)?e.push( m):(g(E).i nsertAfter (m),m.remo ve())),l=l .previous; for(l=0;l< e.length;l ++)e[l].re move();if( e=!a||!1!= =("functio n"==typeof  d?d(f):d) )E||CKEDIT OR.env.nee dsBrFiller ||f.type!= CKEDITOR.N ODE_DOCUME NT_FRAGMEN T?E||CKEDI TOR.env.ne edsBrFille r||!(7<doc ument.docu mentMode|| f.name in  CKEDITOR.d td.tr||f.n ame in CKE DITOR.dtd. $listItem) ?(e=b(f),e =!e||"form "==f.name& &"input"== e.name):e= !1:e=!1;e& &f.add(g(a ))}}}funct ion h(a,b) {if((!E||C KEDITOR.en v.needsBrF iller)&&a. type==CKED ITOR.NODE_ ELEMENT&&        
265   "br"==a.na me&&!a.att ributes["d ata-cke-eo l"])return !0;var c;r eturn a.ty pe==CKEDIT OR.NODE_TE XT&&(c=a.v alue.match (u))&&(c.i ndex&&((ne w CKEDITOR .htmlParse r.text(a.v alue.subst ring(0,c.i ndex))).in sertBefore (a),a.valu e=c[0]),!C KEDITOR.en v.needsBrF iller&&E&& (!b||a.par ent.name i n n)||!E&& ((c=a.prev ious)&&"br "==c.name| |!c||k(c)) )?!0:!1}va r l={eleme nts:{}},E= "html"==f, n=CKEDITOR .tools.ext end({},v), B;for(B in  n)"#"in y [B]||delet e n[B];for (B in n)l. elements[B ]=e(E,a.co nfig.fillE mptyBlocks );l.root=e (E,!1);l.e lements.br =        
266   function(a ){return f unction(b) {if(b.pare nt.type!=C KEDITOR.NO DE_DOCUMEN T_FRAGMENT ){var f=b. attributes ;if("data- cke-bogus" in f||"dat a-cke-eol" in f)delet e f["data- cke-bogus" ];else{for (f=b.next; f&&d(f);)f =f.next;va r e=c(b);! f&&k(b.par ent)?m(b.p arent,g(a) ):k(f)&&e& &!k(e)&&g( a).insertB efore(f)}} }}(E);retu rn l}funct ion e(a,b) {return a! =CKEDITOR. ENTER_BR&& !1!==b?a== CKEDITOR.E NTER_DIV?" div":"p":! 1}function  b(a){for( a=a.childr en[a.child ren.length -1];a&&d(a );)a=a.pre vious;retu rn a}funct ion c(a){f or(a=a.pre vious;a&&        
267   d(a);)a=a. previous;r eturn a}fu nction d(a ){return a .type==CKE DITOR.NODE _TEXT&&!CK EDITOR.too ls.trim(a. value)||a. type==CKED ITOR.NODE_ ELEMENT&&a .attribute s["data-ck e-bookmark "]}functio n k(a){ret urn a&&(a. type==CKED ITOR.NODE_ ELEMENT&&a .name in v ||a.type== CKEDITOR.N ODE_DOCUME NT_FRAGMEN T)}functio n m(a,b){v ar c=a.chi ldren[a.ch ildren.len gth-1];a.c hildren.pu sh(b);b.pa rent=a;c&& (c.next=b, b.previous =c)}functi on f(a){a= a.attribut es;"false" !=a.conten teditable& &(a["data- cke-editab le"]=a.con tenteditab le?"true": 1);        
268   a.contente ditable="f alse"}func tion l(a){ a=a.attrib utes;switc h(a["data- cke-editab le"]){case  "true":a. contentedi table="tru e";break;c ase "1":de lete a.con tenteditab le}}functi on h(a){re turn a.rep lace(D,fun ction(a,b, c){return" \x3c"+b+c. replace(G, function(a ,b){return  F.test(b) &&-1==c.in dexOf("dat a-cke-save d-"+b)?" d ata-cke-sa ved-"+a+"  data-cke-" +CKEDITOR. rnd+"-"+a: a})+"\x3e" })}functio n g(a,b){r eturn a.re place(b,fu nction(a,b ,c){0===a. indexOf("\ x3ctextare a")&&(a=b+ t(c).repla ce(/</g,"\ x26lt;").r eplace(/>/ g,        
269   "\x26gt;") +"\x3c/tex tarea\x3e" );return"\ x3ccke:enc oded\x3e"+ encodeURIC omponent(a )+"\x3c/ck e:encoded\ x3e"})}fun ction n(a) {return a. replace(K, function(a ,b){return  decodeURI Component( b)})}funct ion r(a){r eturn a.re place(/\x3 c!--(?!{ck e_protecte d})[\s\S]+ ?--\x3e/g, function(a ){return"\ x3c!--"+w+ "{C}"+enco deURICompo nent(a).re place(/--/ g,"%2D%2D" )+"--\x3e" })}functio n t(a){ret urn a.repl ace(/\x3c! --\{cke_pr otected\}\ {C\}([\s\S ]+?)--\x3e /g,functio n(a,b){ret urn decode URICompone nt(b)})}fu nction q(a ,b){var c= b._.dataSt ore;        
270   return a.r eplace(/\x 3c!--\{cke _protected \}([\s\S]+ ?)--\x3e/g ,function( a,b){retur n decodeUR IComponent (b)}).repl ace(/\{cke _protected _(\d+)\}/g ,function( a,b){retur n c&&c[b]| |""})}func tion p(a,b ){var c=[] ,d=b.confi g.protecte dSource,f= b._.dataSt ore||(b._. dataStore= {id:1}),g= /<\!--\{ck e_temp(com ment)?\}(\ d*?)--\x3e /g,d=[/<sc ript[\s\S] *?(<\/scri pt>|$)/gi, /<noscript [\s\S]*?<\ /noscript> /gi,/<meta [\s\S]*?\/ ?>/gi].con cat(d);a=a .replace(/ \x3c!--[\s \S]*?--\x3 e/g,functi on(a){retu rn"\x3c!-- {cke_tempc omment}"+( c.push(a)-        
271   1)+"--\x3e "});for(va r e=0;e<d. length;e++ )a=a.repla ce(d[e],fu nction(a){ a=a.replac e(g,functi on(a,b,d){ return c[d ]});return /cke_temp( comment)?/ .test(a)?a :"\x3c!--{ cke_temp}" +(c.push(a )-1)+"--\x 3e"});a=a. replace(g, function(a ,b,d){retu rn"\x3c!-- "+w+(b?"{C }":"")+enc odeURIComp onent(c[d] ).replace( /--/g,"%2D %2D")+"--\ x3e"});a=a .replace(/ <\w+(?:\s+ (?:(?:[^\s =>]+\s*=\s *(?:[^'"\s >]+|'[^']* '|"[^"]*") )|[^\s=\/> ]+))+\s*\/ ?>/g,funct ion(a){ret urn a.repl ace(/\x3c! --\{cke_pr otected\}( [^>]*)--\x 3e/g,funct ion(a,b){f [f.id]=        
272   decodeURIC omponent(b );return"{ cke_protec ted_"+f.id ++ +"}"})} );return a =a.replace (/<(title| iframe|tex tarea)([^> ]*)>([\s\S ]*?)<\/\1> /g,functio n(a,c,d,f) {return"\x 3c"+c+d+"\ x3e"+q(t(f ),b)+"\x3c /"+c+"\x3e "})}CKEDIT OR.htmlDat aProcessor =function( b){var c,d ,f=this;th is.editor= b;this.dat aFilter=c= new CKEDIT OR.htmlPar ser.filter ;this.html Filter=d=n ew CKEDITO R.htmlPars er.filter; this.write r=new CKED ITOR.htmlP arser.basi cWriter;c. addRules(z );c.addRul es(C,{appl yToAll:!0} );c.addRul es(a(b,"da ta"),{appl yToAll:!0} );        
273   d.addRules (x);d.addR ules(A,{ap plyToAll:! 0});d.addR ules(a(b," html"),{ap plyToAll:! 0});b.on(" toHtml",fu nction(a){ a=a.data;v ar c=a.dat aValue,d,c =p(c,b),c= g(c,H),c=h (c),c=g(c, I),c=c.rep lace(E,"$1 cke:$2"),c =c.replace (R,"\x3cck e:$1$2\x3e \x3c/cke:$ 1\x3e"),c= c.replace( /(<pre\b[^ >]*>)(\r\n |\n)/g,"$1 $2$2"),c=c .replace(/ ([^a-z0-9< \-])(on\w{ 3,})(?!>)/ gi,"$1data -cke-"+CKE DITOR.rnd+ "-$2");d=a .context|| b.editable ().getName ();var f;C KEDITOR.en v.ie&&9>CK EDITOR.env .version&& "pre"==d&& (d="div",c ="\x3cpre\ x3e"+c+"\x 3c/pre\x3e ",        
274   f=1);d=b.d ocument.cr eateElemen t(d);d.set Html("a"+c );c=d.getH tml().subs tr(1);c=c. replace(ne w RegExp(" data-cke-" +CKEDITOR. rnd+"-","i g"),"");f& &(c=c.repl ace(/^<pre >|<\/pre>$ /gi,""));c =c.replace (N,"$1$2") ;c=n(c);c= t(c);d=!1= ==a.fixFor Body?!1:e( a.enterMod e,b.config .autoParag raph);c=CK EDITOR.htm lParser.fr agment.fro mHtml(c,a. context,d) ;d&&(f=c,! f.children .length&&C KEDITOR.dt d[f.name][ d]&&(d=new  CKEDITOR. htmlParser .element(d ),f.add(d) ));a.dataV alue=c},nu ll,null,5) ;b.on("toH tml",funct ion(a){a.d ata.filter .applyTo(a .data.data Value,        
275   !0,a.data. dontFilter ,a.data.en terMode)&& b.fire("da taFiltered ")},null,n ull,6);b.o n("toHtml" ,function( a){a.data. dataValue. filterChil dren(f.dat aFilter,!0 )},null,nu ll,10);b.o n("toHtml" ,function( a){a=a.dat a;var b=a. dataValue, c=new CKED ITOR.htmlP arser.basi cWriter;b. writeChild renHtml(c) ;b=c.getHt ml(!0);a.d ataValue=r (b)},null, null,15);b .on("toDat aFormat",f unction(a) {var c=a.d ata.dataVa lue;a.data .enterMode !=CKEDITOR .ENTER_BR& &(c=c.repl ace(/^<br  *\/?>/i,"" ));a.data. dataValue= CKEDITOR.h tmlParser. fragment.f romHtml(c,        
276   a.data.con text,e(a.d ata.enterM ode,b.conf ig.autoPar agraph))}, null,null, 5);b.on("t oDataForma t",functio n(a){a.dat a.dataValu e.filterCh ildren(f.h tmlFilter, !0)},null, null,10);b .on("toDat aFormat",f unction(a) {a.data.fi lter.apply To(a.data. dataValue, !1,!0)},nu ll,null,11 );b.on("to DataFormat ",function (a){var c= a.data.dat aValue,d=f .writer;d. reset();c. writeChild renHtml(d) ;c=d.getHt ml(!0);c=t (c);c=q(c, b);a.data. dataValue= c},null,nu ll,15)};CK EDITOR.htm lDataProce ssor.proto type={toHt ml:functio n(a,b,c,d) {var f=thi s.editor,        
277   g,e,h,l;b& &"object"= =typeof b? (g=b.conte xt,c=b.fix ForBody,d= b.dontFilt er,e=b.fil ter,h=b.en terMode,l= b.protecte dWhitespac es):g=b;g| |null===g| |(g=f.edit able().get Name());re turn f.fir e("toHtml" ,{dataValu e:a,contex t:g,fixFor Body:c,don tFilter:d, filter:e|| f.filter,e nterMode:h ||f.enterM ode,protec tedWhitesp aces:l}).d ataValue}, toDataForm at:functio n(a,b){var  c,d,f;b&& (c=b.conte xt,d=b.fil ter,f=b.en terMode);c ||null===c ||(c=this. editor.edi table().ge tName());r eturn this .editor.fi re("toData Format",{d ataValue:a ,        
278   filter:d|| this.edito r.filter,c ontext:c,e nterMode:f ||this.edi tor.enterM ode}).data Value}};va r u=/(?:&n bsp;|\xa0) $/,w="{cke _protected }",y=CKEDI TOR.dtd,B= "caption c olgroup co l thead tf oot tbody" .split(" " ),v=CKEDIT OR.tools.e xtend({},y .$blockLim it,y.$bloc k),z={elem ents:{inpu t:f,textar ea:f}},C={ attributeN ames:[[/^o n/,"data-c ke-pa-on"] ,[/^data-c ke-expando $/,""]]},x ={elements :{embed:fu nction(a){ var b=a.pa rent;if(b& &"object"= =b.name){v ar c=b.att ributes.wi dth,b=b.at tributes.h eight;c&&( a.attribut es.width=c );        
279   b&&(a.attr ibutes.hei ght=b)}},a :function( a){if(!(a. children.l ength||a.a ttributes. name||a.at tributes[" data-cke-s aved-name" ]))return! 1}}},A={el ementNames :[[/^cke:/ ,""],[/^\? xml:namesp ace$/,""]] ,attribute Names:[[/^ data-cke-( saved|pa)- /,""],[/^d ata-cke-.* /,""],["hi defocus"," "]],elemen ts:{$:func tion(a){va r b=a.attr ibutes;if( b){if(b["d ata-cke-te mp"])retur n!1;for(va r c=["name ","href"," src"],d,f= 0;f<c.leng th;f++)d=" data-cke-s aved-"+c[f ],d in b&& delete b[c [f]]}retur n a},table :function( a){a.child ren.slice( 0).sort(fu nction(a,        
280   b){var c,d ;a.type==C KEDITOR.NO DE_ELEMENT &&b.type== a.type&&(c =CKEDITOR. tools.inde xOf(B,a.na me),d=CKED ITOR.tools .indexOf(B ,b.name)); -1<c&&-1<d &&c!=d||(c =a.parent? a.getIndex ():-1,d=b. parent?b.g etIndex(): -1);return  c>d?1:-1} )},param:f unction(a) {a.childre n=[];a.isE mpty=!0;re turn a},sp an:functio n(a){"Appl e-style-sp an"==a.att ributes["c lass"]&&de lete a.nam e},html:fu nction(a){ delete a.a ttributes. contentedi table;dele te a.attri butes["cla ss"]},body :function( a){delete  a.attribut es.spellch eck;delete  a.attribu tes.conten teditable} ,        
281   style:func tion(a){va r b=a.chil dren[0];b& &b.value&& (b.value=C KEDITOR.to ols.trim(b .value));a .attribute s.type||(a .attribute s.type="te xt/css")}, title:func tion(a){va r b=a.chil dren[0];!b &&m(a,b=ne w CKEDITOR .htmlParse r.text);b. value=a.at tributes[" data-cke-t itle"]||"" },input:l, textarea:l },attribut es:{"class ":function (a){return  CKEDITOR. tools.ltri m(a.replac e(/(?:^|\s +)cke_[^\s ]*/g,""))| |!1}}};CKE DITOR.env. ie&&(A.att ributes.st yle=functi on(a){retu rn a.repla ce(/(^|;)( [^\:]+)/g, function(a ){return a .toLowerCa se()})});        
282   var D=/<(a |area|img| input|sour ce)\b([^>] *)>/gi,G=/ ([\w-:]+)\ s*=\s*(?:( ?:"[^"]*") |(?:'[^']* ')|(?:[^ " '>]+))/gi, F=/^(href| src|name)$ /i,I=/(?:< style(?=[  >])[^>]*>[ \s\S]*?<\/ style>)|(? :<(:?link| meta|base) [^>]*>)/gi ,H=/(<text area(?=[ > ])[^>]*>)( [\s\S]*?)( ?:<\/texta rea>)/gi,K =/<cke:enc oded>([^<] *)<\/cke:e ncoded>/gi ,E=/(<\/?) ((?:object |embed|par am|html|bo dy|head|ti tle)[^>]*> )/gi,N=/(< \/?)cke:(( ?:html|bod y|head|tit le)[^>]*>) /gi,R=/<ck e:(param|e mbed)([^>] *?)\/?>(?! \s*<\/cke: \1)/gi}(), "use stric t",CKEDITO R.htmlPars er.element =        
283   function(a ,e){this.n ame=a;this .attribute s=e||{};th is.childre n=[];var b =a||"",c=b .match(/^c ke:(.*)/); c&&(b=c[1] );b=!!(CKE DITOR.dtd. $nonBodyCo ntent[b]|| CKEDITOR.d td.$block[ b]||CKEDIT OR.dtd.$li stItem[b]| |CKEDITOR. dtd.$table Content[b] ||CKEDITOR .dtd.$nonE ditable[b] ||"br"==b) ;this.isEm pty=!!CKED ITOR.dtd.$ empty[a];t his.isUnkn own=!CKEDI TOR.dtd[a] ;this._={i sBlockLike :b,hasInli neStarted: this.isEmp ty||!b}},C KEDITOR.ht mlParser.c ssStyle=fu nction(a){ var e={};( (a instanc eof CKEDIT OR.htmlPar ser.elemen t?a.attrib utes.style :        
284   a)||"").re place(/&qu ot;/g,'"') .replace(/ \s*([^ :;] +)\s*:\s*( [^;]+)\s*( ?=;|$)/g,f unction(a, c,d){"font -family"== c&&(d=d.re place(/["' ]/g,""));e [c.toLower Case()]=d} );return{r ules:e,pop ulate:func tion(a){va r c=this.t oString(); c&&(a inst anceof CKE DITOR.dom. element?a. setAttribu te("style" ,c):a inst anceof CKE DITOR.html Parser.ele ment?a.att ributes.st yle=c:a.st yle=c)},to String:fun ction(){va r a=[],c;f or(c in e) e[c]&&a.pu sh(c,":",e [c],";");r eturn a.jo in("")}}}, function() {function  a(a){retur n function (b){return  b.type==        
285   CKEDITOR.N ODE_ELEMEN T&&("strin g"==typeof  a?b.name= =a:b.name  in a)}}var  e=functio n(a,b){a=a [0];b=b[0] ;return a< b?-1:a>b?1 :0},b=CKED ITOR.htmlP arser.frag ment.proto type;CKEDI TOR.htmlPa rser.eleme nt.prototy pe=CKEDITO R.tools.ex tend(new C KEDITOR.ht mlParser.n ode,{type: CKEDITOR.N ODE_ELEMEN T,add:b.ad d,clone:fu nction(){r eturn new  CKEDITOR.h tmlParser. element(th is.name,th is.attribu tes)},filt er:functio n(a,b){var  e=this,m, f;b=e.getF ilterConte xt(b);if(b .off)retur n!0;if(!e. parent)a.o nRoot(b,e) ;for(;;){m =e.name;if (!(f=        
286   a.onElemen tName(b,m) ))return t his.remove (),!1;e.na me=f;if(!( e=a.onElem ent(b,e))) return thi s.remove() ,!1;if(e!= =this)retu rn this.re placeWith( e),!1;if(e .name==m)b reak;if(e. type!=CKED ITOR.NODE_ ELEMENT)re turn this. replaceWit h(e),!1;if (!e.name)r eturn this .replaceWi thChildren (),!1}m=e. attributes ;var l,h;f or(l in m) {for(f=m[l ];;)if(h=a .onAttribu teName(b,l ))if(h!=l) delete m[l ],l=h;else  break;els e{delete m [l];break} h&&(!1===( f=a.onAttr ibute(b,e, h,f))?dele te m[h]:m[ h]=f)}e.is Empty||thi s.filterCh ildren(a,! 1,        
287   b);return! 0},filterC hildren:b. filterChil dren,write Html:funct ion(a,b){b &&this.fil ter(b);var  k=this.na me,m=[],f= this.attri butes,l,h; a.openTag( k,f);for(l  in f)m.pu sh([l,f[l] ]);a.sortA ttributes& &m.sort(e) ;l=0;for(h =m.length; l<h;l++)f= m[l],a.att ribute(f[0 ],f[1]);a. openTagClo se(k,this. isEmpty);t his.writeC hildrenHtm l(a);this. isEmpty||a .closeTag( k)},writeC hildrenHtm l:b.writeC hildrenHtm l,replaceW ithChildre n:function (){for(var  a=this.ch ildren,b=a .length;b; )a[--b].in sertAfter( this);this .remove()} ,forEach:b .forEach,        
288   getFirst:f unction(b) {if(!b)ret urn this.c hildren.le ngth?this. children[0 ]:null;"fu nction"!=t ypeof b&&( b=a(b));fo r(var d=0, e=this.chi ldren.leng th;d<e;++d )if(b(this .children[ d]))return  this.chil dren[d];re turn null} ,getHtml:f unction(){ var a=new  CKEDITOR.h tmlParser. basicWrite r;this.wri teChildren Html(a);re turn a.get Html()},se tHtml:func tion(a){a= this.child ren=CKEDIT OR.htmlPar ser.fragme nt.fromHtm l(a).child ren;for(va r b=0,e=a. length;b<e ;++b)a[b]. parent=thi s},getOute rHtml:func tion(){var  a=new CKE DITOR.html Parser.bas icWriter;        
289   this.write Html(a);re turn a.get Html()},sp lit:functi on(a){for( var b=this .children. splice(a,t his.childr en.length- a),e=this. clone(),m= 0;m<b.leng th;++m)b[m ].parent=e ;e.childre n=b;b[0]&& (b[0].prev ious=null) ;0<a&&(thi s.children [a-1].next =null);thi s.parent.a dd(e,this. getIndex() +1);return  e},addCla ss:functio n(a){if(!t his.hasCla ss(a)){var  b=this.at tributes[" class"]||" ";this.att ributes["c lass"]=b+( b?" ":"")+ a}},remove Class:func tion(a){va r b=this.a ttributes[ "class"];b &&((b=CKED ITOR.tools .trim(b.re place(new  RegExp("(? :\\s+|^)"+        
290   a+"(?:\\s+ |$)")," ") ))?this.at tributes[" class"]=b: delete thi s.attribut es["class" ])},hasCla ss:functio n(a){var b =this.attr ibutes["cl ass"];retu rn b?(new  RegExp("(? :^|\\s)"+a +"(?\x3d\\ s|$)")).te st(b):!1}, getFilterC ontext:fun ction(a){v ar b=[];a| |(a={off:! 1,nonEdita ble:!1,nes tedEditabl e:!1});a.o ff||"off"! =this.attr ibutes["da ta-cke-pro cessor"]|| b.push("of f",!0);a.n onEditable ||"false"! =this.attr ibutes.con tenteditab le?a.nonEd itable&&!a .nestedEdi table&&"tr ue"==this. attributes .contented itable&&b. push("nest edEditable ",        
291   !0):b.push ("nonEdita ble",!0);i f(b.length ){a=CKEDIT OR.tools.c opy(a);for (var e=0;e <b.length; e+=2)a[b[e ]]=b[e+1]} return a}} ,!0)}(),fu nction(){v ar a={},e= /{([^}]+)} /g,b=/([\\ '])/g,c=/\ n/g,d=/\r/ g;CKEDITOR .template= function(k ){if(a[k]) this.outpu t=a[k];els e{var m=k. replace(b, "\\$1").re place(c,"\ \n").repla ce(d,"\\r" ).replace( e,function (a,b){retu rn"',data[ '"+b+"']\x 3d\x3dunde fined?'{"+ b+"}':data ['"+b+"'], '"});this. output=a[k ]=Function ("data","b uffer","re turn buffe r?buffer.p ush('"+m+" '):['"+m+" '].join('' );")}}}(),        
292   delete CKE DITOR.load FullCore,C KEDITOR.in stances={} ,CKEDITOR. document=n ew CKEDITO R.dom.docu ment(docum ent),CKEDI TOR.add=fu nction(a){ CKEDITOR.i nstances[a .name]=a;a .on("focus ",function (){CKEDITO R.currentI nstance!=a &&(CKEDITO R.currentI nstance=a, CKEDITOR.f ire("curre ntInstance "))});a.on ("blur",fu nction(){C KEDITOR.cu rrentInsta nce==a&&(C KEDITOR.cu rrentInsta nce=null,C KEDITOR.fi re("curren tInstance" ))});CKEDI TOR.fire(" instance", null,a)},C KEDITOR.re move=funct ion(a){del ete CKEDIT OR.instanc es[a.name] },function (){var a=        
293   {};CKEDITO R.addTempl ate=functi on(e,b){va r c=a[e];i f(c)return  c;c={name :e,source: b};CKEDITO R.fire("te mplate",c) ;return a[ e]=new CKE DITOR.temp late(c.sou rce)};CKED ITOR.getTe mplate=fun ction(e){r eturn a[e] }}(),funct ion(){var  a=[];CKEDI TOR.addCss =function( e){a.push( e)};CKEDIT OR.getCss= function() {return a. join("\n") }}(),CKEDI TOR.on("in stanceDest royed",fun ction(){CK EDITOR.too ls.isEmpty (this.inst ances)&&CK EDITOR.fir e("reset") }),CKEDITO R.TRISTATE _ON=1,CKED ITOR.TRIST ATE_OFF=2, CKEDITOR.T RISTATE_DI SABLED=0,f unction(){ CKEDITOR.i nline=        
294   function(a ,e){if(!CK EDITOR.env .isCompati ble)return  null;a=CK EDITOR.dom .element.g et(a);if(a .getEditor ())throw'T he editor  instance " '+a.getEdi tor().name +'" is alr eady attac hed to the  provided  element.'; var b=new  CKEDITOR.e ditor(e,a, CKEDITOR.E LEMENT_MOD E_INLINE), c=a.is("te xtarea")?a :null;c?(b .setData(c .getValue( ),null,!0) ,a=CKEDITO R.dom.elem ent.create FromHtml(' \x3cdiv co ntentedita ble\x3d"'+ !!b.readOn ly+'" clas s\x3d"cke_ textarea_i nline"\x3e '+c.getVal ue()+"\x3c /div\x3e", CKEDITOR.d ocument),a .insertAft er(c),        
295   c.hide(),c .$.form&&b ._attachTo Form()):b. setData(a. getHtml(), null,!0);b .on("loade d",functio n(){b.fire ("uiReady" );b.editab le(a);b.co ntainer=a; b.ui.conte ntsElement =a;b.setDa ta(b.getDa ta(1));b.r esetDirty( );b.fire(" contentDom ");b.mode= "wysiwyg"; b.fire("mo de");b.sta tus="ready ";b.fireOn ce("instan ceReady"); CKEDITOR.f ire("insta nceReady", null,b)},n ull,null,1 E4);b.on(" destroy",f unction(){ c&&(b.cont ainer.clea rCustomDat a(),b.cont ainer.remo ve(),c.sho w());b.ele ment.clear CustomData ();delete  b.element} );return b };        
296   CKEDITOR.i nlineAll=f unction(){ var a,e,b; for(b in C KEDITOR.dt d.$editabl e)for(var  c=CKEDITOR .document. getElement sByTag(b), d=0,k=c.co unt();d<k; d++)a=c.ge tItem(d)," true"==a.g etAttribut e("content editable") &&(e={elem ent:a,conf ig:{}},!1! ==CKEDITOR .fire("inl ine",e)&&C KEDITOR.in line(a,e.c onfig))};C KEDITOR.do mReady(fun ction(){!C KEDITOR.di sableAutoI nline&&CKE DITOR.inli neAll()})} (),CKEDITO R.replaceC lass="cked itor",func tion(){fun ction a(a, d,k,m){if( !CKEDITOR. env.isComp atible)ret urn null;a =CKEDITOR. dom.elemen t.get(a);        
297   if(a.getEd itor())thr ow'The edi tor instan ce "'+a.ge tEditor(). name+'" is  already a ttached to  the provi ded elemen t.';var f= new CKEDIT OR.editor( d,a,m);m== CKEDITOR.E LEMENT_MOD E_REPLACE& &(a.setSty le("visibi lity","hid den"),f._. required=a .hasAttrib ute("requi red"),a.re moveAttrib ute("requi red"));k&& f.setData( k,null,!0) ;f.on("loa ded",funct ion(){b(f) ;m==CKEDIT OR.ELEMENT _MODE_REPL ACE&&f.con fig.autoUp dateElemen t&&a.$.for m&&f._atta chToForm() ;f.setMode (f.config. startupMod e,function (){f.reset Dirty();f. status="re ady";        
298   f.fireOnce ("instance Ready");CK EDITOR.fir e("instanc eReady",nu ll,f)})}); f.on("dest roy",e);re turn f}fun ction e(){ var a=this .container ,b=this.el ement;a&&( a.clearCus tomData(), a.remove() );b&&(b.cl earCustomD ata(),this .elementMo de==CKEDIT OR.ELEMENT _MODE_REPL ACE&&(b.sh ow(),this. _.required &&b.setAtt ribute("re quired","r equired")) ,delete th is.element )}function  b(a){var  b=a.name,e =a.element ,m=a.eleme ntMode,f=a .fire("uiS pace",{spa ce:"top",h tml:""}).h tml,l=a.fi re("uiSpac e",{space: "bottom",h tml:""}).h tml,h=new  CKEDITOR.t emplate('\ x3c{outerE l} id\x3d" cke_{name} " class\x3 d"{id} cke  cke_reset  cke_chrom e cke_edit or_{name}  cke_{langD ir} '+        
299   CKEDITOR.e nv.cssClas s+'"  dir\ x3d"{langD ir}" lang\ x3d"{langC ode}" role \x3d"appli cation"'+( a.title?'  aria-label ledby\x3d" cke_{name} _arialbl"' :"")+"\x3e "+(a.title ?'\x3cspan  id\x3d"ck e_{name}_a rialbl" cl ass\x3d"ck e_voice_la bel"\x3e{v oiceLabel} \x3c/span\ x3e':"")+' \x3c{outer El} class\ x3d"cke_in ner cke_re set" role\ x3d"presen tation"\x3 e{topHtml} \x3c{outer El} id\x3d "{contentI d}" class\ x3d"cke_co ntents cke _reset" ro le\x3d"pre sentation" \x3e\x3c/{ outerEl}\x 3e{bottomH tml}\x3c/{ outerEl}\x 3e\x3c/{ou terEl}\x3e '),        
300   b=CKEDITOR .dom.eleme nt.createF romHtml(h. output({id :a.id,name :b,langDir :a.lang.di r,langCode :a.langCod e,voiceLab el:a.title ,topHtml:f ?'\x3cspan  id\x3d"'+ a.ui.space Id("top")+ '" class\x 3d"cke_top  cke_reset _all" role \x3d"prese ntation" s tyle\x3d"h eight:auto "\x3e'+f+" \x3c/span\ x3e":"",co ntentId:a. ui.spaceId ("contents "),bottomH tml:l?'\x3 cspan id\x 3d"'+a.ui. spaceId("b ottom")+'"  class\x3d "cke_botto m cke_rese t_all" rol e\x3d"pres entation"\ x3e'+l+"\x 3c/span\x3 e":"",oute rEl:CKEDIT OR.env.ie? "span":"di v"}));m==C KEDITOR.EL EMENT_MODE _REPLACE?        
301   (e.hide(), b.insertAf ter(e)):e. append(b); a.containe r=b;a.ui.c ontentsEle ment=a.ui. space("con tents");f& &a.ui.spac e("top").u nselectabl e();l&&a.u i.space("b ottom").un selectable ();e=a.con fig.width; m=a.config .height;e& &b.setStyl e("width", CKEDITOR.t ools.cssLe ngth(e));m &&a.ui.spa ce("conten ts").setSt yle("heigh t",CKEDITO R.tools.cs sLength(m) );b.disabl eContextMe nu();CKEDI TOR.env.we bkit&&b.on ("focus",f unction(){ a.focus()} );a.fireOn ce("uiRead y")}CKEDIT OR.replace =function( b,d){retur n a(b,d,nu ll,CKEDITO R.ELEMENT_ MODE_REPLA CE)};        
302   CKEDITOR.a ppendTo=fu nction(b,d ,e){return  a(b,d,e,C KEDITOR.EL EMENT_MODE _APPENDTO) };CKEDITOR .replaceAl l=function (){for(var  a=documen t.getEleme ntsByTagNa me("textar ea"),b=0;b <a.length; b++){var e =null,m=a[ b];if(m.na me||m.id){ if("string "==typeof  arguments[ 0]){if(!(n ew RegExp( "(?:^|\\s) "+argument s[0]+"(?:$ |\\s)")).t est(m.clas sName))con tinue}else  if("funct ion"==type of argumen ts[0]&&(e= {},!1===ar guments[0] (m,e)))con tinue;this .replace(m ,e)}}};CKE DITOR.edit or.prototy pe.addMode =function( a,b){(this ._.modes|| (this._.mo des=        
303   {}))[a]=b} ;CKEDITOR. editor.pro totype.set Mode=funct ion(a,b){v ar e=this, m=this._.m odes;if(a! =e.mode&&m &&m[a]){e. fire("befo reSetMode" ,a);if(e.m ode){var f =e.checkDi rty(),m=e. _.previous ModeData,l ,h=0;e.fir e("beforeM odeUnload" );e.editab le(0);e._. previousMo de=e.mode; e._.previo usModeData =l=e.getDa ta(1);"sou rce"==e.mo de&&m==l&& (e.fire("l ockSnapsho t",{forceU pdate:!0}) ,h=1);e.ui .space("co ntents").s etHtml("") ;e.mode="" }else e._. previousMo deData=e.g etData(1); this._.mod es[a](func tion(){e.m ode=a;void  0!==f&&!f &&        
304   e.resetDir ty();h?e.f ire("unloc kSnapshot" ):"wysiwyg "==a&&e.fi re("saveSn apshot");s etTimeout( function() {e.fire("m ode");b&&b .call(e)}, 0)})}};CKE DITOR.edit or.prototy pe.resize= function(a ,b,e,m){va r f=this.c ontainer,l =this.ui.s pace("cont ents"),h=C KEDITOR.en v.webkit&& this.docum ent&&this. document.g etWindow() .$.frameEl ement;m=m? this.conta iner.getFi rst(functi on(a){retu rn a.type= =CKEDITOR. NODE_ELEME NT&&a.hasC lass("cke_ inner")}): f;m.setSiz e("width", a,!0);h&&( h.style.wi dth="1%"); var g=(m.$ .offsetHei ght||0)-(l .$.clientH eight||        
305   0),f=Math. max(b-(e?0 :g),0);b=e ?b+g:b;l.s etStyle("h eight",f+" px");h&&(h .style.wid th="100%") ;this.fire ("resize", {outerHeig ht:b,conte ntsHeight: f,outerWid th:a||m.ge tSize("wid th")})};CK EDITOR.edi tor.protot ype.getRes izable=fun ction(a){r eturn a?th is.ui.spac e("content s"):this.c ontainer}; CKEDITOR.d omReady(fu nction(){C KEDITOR.re placeClass &&CKEDITOR .replaceAl l(CKEDITOR .replaceCl ass)})}(), CKEDITOR.c onfig.star tupMode="w ysiwyg",fu nction(){f unction a( a){var b=a .editor,d= a.data.pat h,f=d.bloc kLimit,g=a .data.sele ction,        
306   h=g.getRan ges()[0],l ;if(CKEDIT OR.env.gec ko||CKEDIT OR.env.ie& &CKEDITOR. env.needsB rFiller)if (g=e(g,d)) g.appendBo gus(),l=CK EDITOR.env .ie;m(b,d. block,f)&& h.collapse d&&!h.getC ommonAnces tor().isRe adOnly()&& (d=h.clone (),d.enlar ge(CKEDITO R.ENLARGE_ BLOCK_CONT ENTS),f=ne w CKEDITOR .dom.walke r(d),f.gua rd=functio n(a){retur n!c(a)||a. type==CKED ITOR.NODE_ COMMENT||a .isReadOnl y()},!f.ch eckForward ()||d.chec kStartOfBl ock()&&d.c heckEndOfB lock())&&( b=h.fixBlo ck(!0,b.ac tiveEnterM ode==CKEDI TOR.ENTER_ DIV?"div": "p"),CKEDI TOR.env.ne edsBrFille r||        
307   (b=b.getFi rst(c))&&b .type==CKE DITOR.NODE _TEXT&&CKE DITOR.tool s.trim(b.g etText()). match(/^(? :&nbsp;|\x a0)$/)&&b. remove(),l =1,a.cance l());l&&h. select()}f unction e( a,b){if(a. isFake)ret urn 0;var  d=b.block| |b.blockLi mit,f=d&&d .getLast(c );if(!(!d| |!d.isBloc kBoundary( )||f&&f.ty pe==CKEDIT OR.NODE_EL EMENT&&f.i sBlockBoun dary()||d. is("pre")| |d.getBogu s()))retur n d}functi on b(a){va r b=a.data .getTarget ();b.is("i nput")&&(b =b.getAttr ibute("typ e"),"submi t"!=b&&"re set"!=b||a .data.prev entDefault ())}functi on c(a){re turn g(a)& &        
308   n(a)}funct ion d(a,b) {return fu nction(c){ var d=c.da ta.$.toEle ment||c.da ta.$.fromE lement||c. data.$.rel atedTarget ;(d=d&&d.n odeType==C KEDITOR.NO DE_ELEMENT ?new CKEDI TOR.dom.el ement(d):n ull)&&(b.e quals(d)|| b.contains (d))||a.ca ll(this,c) }}function  k(a){func tion b(a){ return fun ction(b,f) {f&&b.type ==CKEDITOR .NODE_ELEM ENT&&b.is( g)&&(d=b); if(!(f||!c (b)||a&&t( b)))return !1}}var d, f=a.getRan ges()[0];a =a.root;va r g={table :1,ul:1,ol :1,dl:1};i f(f.startP ath().cont ains(g)){v ar e=f.clo ne();e.col lapse(1);e .setStartA t(a,        
309   CKEDITOR.P OSITION_AF TER_START) ;a=new CKE DITOR.dom. walker(e); a.guard=b( );a.checkB ackward(); if(d)retur n e=f.clon e(),e.coll apse(),e.s etEndAt(d, CKEDITOR.P OSITION_AF TER_END),a =new CKEDI TOR.dom.wa lker(e),a. guard=b(!0 ),d=!1,a.c heckForwar d(),d}retu rn null}fu nction m(a ,b,c){retu rn!1!==a.c onfig.auto Paragraph& &a.activeE nterMode!= CKEDITOR.E NTER_BR&&( a.editable ().equals( c)&&!b||b& &"true"==b .getAttrib ute("conte nteditable "))}functi on f(a){re turn a.act iveEnterMo de!=CKEDIT OR.ENTER_B R&&!1!==a. config.aut oParagraph ?        
310   a.activeEn terMode==C KEDITOR.EN TER_DIV?"d iv":"p":!1 }function  l(a){var b =a.editor; b.getSelec tion().scr ollIntoVie w();setTim eout(funct ion(){b.fi re("saveSn apshot")}, 0)}functio n h(a,b,c) {var d=a.g etCommonAn cestor(b); for(b=a=c? b:a;(a=a.g etParent() )&&!d.equa ls(a)&&1== a.getChild Count();)b =a;b.remov e()}CKEDIT OR.editabl e=CKEDITOR .tools.cre ateClass({ base:CKEDI TOR.dom.el ement,$:fu nction(a,b ){this.bas e(b.$||b); this.edito r=a;this.s tatus="unl oaded";thi s.hasFocus =!1;this.s etup()},pr oto:{focus :function( ){var a;if (CKEDITOR. env.webkit &&        
311   !this.hasF ocus&&(a=t his.editor ._.previou sActive||t his.getDoc ument().ge tActive(), this.conta ins(a))){a .focus();r eturn}try{ this.$[CKE DITOR.env. ie&&this.g etDocument ().equals( CKEDITOR.d ocument)?" setActive" :"focus"]( )}catch(b) {if(!CKEDI TOR.env.ie )throw b;} CKEDITOR.e nv.safari& &!this.isI nline()&&( a=CKEDITOR .document. getActive( ),a.equals (this.getW indow().ge tFrame())| |this.getW indow().fo cus())},on :function( a,b){var c =Array.pro totype.sli ce.call(ar guments,0) ;CKEDITOR. env.ie&&/^ focus|blur $/.exec(a) &&(a="focu s"==        
312   a?"focusin ":"focusou t",b=d(b,t his),c[0]= a,c[1]=b); return CKE DITOR.dom. element.pr ototype.on .apply(thi s,c)},atta chListener :function( a){!this._ .listeners &&(this._. listeners= []);var b= Array.prot otype.slic e.call(arg uments,1), b=a.on.app ly(a,b);th is._.liste ners.push( b);return  b},clearLi steners:fu nction(){v ar a=this. _.listener s;try{for( ;a.length; )a.pop().r emoveListe ner()}catc h(b){}},re storeAttrs :function( ){var a=th is._.attrC hanges,b,c ;for(c in  a)a.hasOwn Property(c )&&(b=a[c] ,null!==b? this.setAt tribute(c, b):        
313   this.remov eAttribute (c))},atta chClass:fu nction(a){ var b=this .getCustom Data("clas ses");this .hasClass( a)||(!b&&( b=[]),b.pu sh(a),this .setCustom Data("clas ses",b),th is.addClas s(a))},cha ngeAttr:fu nction(a,b ){var c=th is.getAttr ibute(a);b !==c&&(!th is._.attrC hanges&&(t his._.attr Changes={} ),a in thi s._.attrCh anges||(th is._.attrC hanges[a]= c),this.se tAttribute (a,b))},in sertText:f unction(a) {this.edit or.focus() ;this.inse rtHtml(thi s.transfor mPlainText ToHtml(a), "text")},t ransformPl ainTextToH tml:functi on(a){var  b=        
314   this.edito r.getSelec tion().get StartEleme nt().hasAs cendant("p re",!0)?CK EDITOR.ENT ER_BR:this .editor.ac tiveEnterM ode;return  CKEDITOR. tools.tran sformPlain TextToHtml (a,b)},ins ertHtml:fu nction(a,b ,c){var d= this.edito r;d.focus( );d.fire(" saveSnapsh ot");c||(c =d.getSele ction().ge tRanges()[ 0]);p(this ,b||"html" ,a,c);c.se lect();l(t his);this. editor.fir e("afterIn sertHtml", {})},inser tHtmlIntoR ange:funct ion(a,b,c) {p(this,c| |"html",a, b);this.ed itor.fire( "afterInse rtHtml",{i ntoRange:b })},insert Element:fu nction(a,b ){var d=        
315   this.edito r;d.focus( );d.fire(" saveSnapsh ot");var f =d.activeE nterMode,d =d.getSele ction(),g= a.getName( ),g=CKEDIT OR.dtd.$bl ock[g];b|| (b=d.getRa nges()[0]) ;this.inse rtElementI ntoRange(a ,b)&&(b.mo veToPositi on(a,CKEDI TOR.POSITI ON_AFTER_E ND),g&&((g =a.getNext (function( a){return  c(a)&&!t(a )}))&&g.ty pe==CKEDIT OR.NODE_EL EMENT&&g.i s(CKEDITOR .dtd.$bloc k)?g.getDt d()["#"]?b .moveToEle mentEditSt art(g):b.m oveToEleme ntEditEnd( a):g||f==C KEDITOR.EN TER_BR||(g =b.fixBloc k(!0,f==CK EDITOR.ENT ER_DIV?"di v":"p"),b. moveToElem entEditSta rt(g))));        
316   d.selectRa nges([b]); l(this)},i nsertEleme ntIntoSele ction:func tion(a){th is.insertE lement(a)} ,insertEle mentIntoRa nge:functi on(a,b){va r c=this.e ditor,d=c. config.ent erMode,f=a .getName() ,g=CKEDITO R.dtd.$blo ck[f];if(b .checkRead Only())ret urn!1;b.de leteConten ts(1);b.st artContain er.type==C KEDITOR.NO DE_ELEMENT &&b.startC ontainer.i s({tr:1,ta ble:1,tbod y:1,thead: 1,tfoot:1} )&&u(b);va r e,h;if(g )for(;(e=b .getCommon Ancestor(0 ,1))&&(h=C KEDITOR.dt d[e.getNam e()])&&(!h ||!h[f]);) e.getName( )in CKEDIT OR.dtd.spa n?b.splitE lement(e):        
317   b.checkSta rtOfBlock( )&&b.check EndOfBlock ()?(b.setS tartBefore (e),b.coll apse(!0),e .remove()) :b.splitBl ock(d==CKE DITOR.ENTE R_DIV?"div ":"p",c.ed itable()); b.insertNo de(a);retu rn!0},setD ata:functi on(a,b){b| |(a=this.e ditor.data Processor. toHtml(a)) ;this.setH tml(a);thi s.fixIniti alSelectio n();"unloa ded"==this .status&&( this.statu s="ready") ;this.edit or.fire("d ataReady") },getData: function(a ){var b=th is.getHtml ();a||(b=t his.editor .dataProce ssor.toDat aFormat(b) );return b },setReadO nly:functi on(a){this .setAttrib ute("conte nteditable ",        
318   !a)},detac h:function (){this.re moveClass( "cke_edita ble");this .status="d etached";v ar a=this. editor;thi s._.detach ();delete  a.document ;delete a. window},is Inline:fun ction(){re turn this. getDocumen t().equals (CKEDITOR. document)} ,fixInitia lSelection :function( ){function  a(){var b =c.getDocu ment().$,d =b.getSele ction(),f; a:if(d.anc horNode&&d .anchorNod e==c.$)f=! 0;else{if( CKEDITOR.e nv.webkit& &(f=c.getD ocument(). getActive( ))&&f.equa ls(c)&&!d. anchorNode ){f=!0;bre ak a}f=voi d 0}f&&(f= new CKEDIT OR.dom.ran ge(c),f.mo veToElemen tEditStart (c),        
319   b=b.create Range(),b. setStart(f .startCont ainer.$,f. startOffse t),b.colla pse(!0),d. removeAllR anges(),d. addRange(b ))}functio n b(){var  a=c.getDoc ument().$, d=a.select ion,f=c.ge tDocument( ).getActiv e();"None" ==d.type&& f.equals(c )&&(d=new  CKEDITOR.d om.range(c ),a=a.body .createTex tRange(),d .moveToEle mentEditSt art(c),d=d .startCont ainer,d.ty pe!=CKEDIT OR.NODE_EL EMENT&&(d= d.getParen t()),a.mov eToElement Text(d.$), a.collapse (!0),a.sel ect())}var  c=this;if (CKEDITOR. env.ie&&(9 >CKEDITOR. env.versio n||CKEDITO R.env.quir ks))this.h asFocus&&        
320   (this.focu s(),b());e lse if(thi s.hasFocus )this.focu s(),a();el se this.on ce("focus" ,function( ){a()},nul l,null,-99 9)},getHtm lFromRange :function( a){if(a.co llapsed)re turn new C KEDITOR.do m.document Fragment(a .document) ;a={doc:th is.getDocu ment(),ran ge:a.clone ()};w.eol. detect(a,t his);w.bog us.exclude (a);w.cell .shrink(a) ;a.fragmen t=a.range. cloneConte nts();w.tr ee.rebuild (a,this);w .eol.fix(a ,this);ret urn new CK EDITOR.dom .documentF ragment(a. fragment.$ )},extract HtmlFromRa nge:functi on(a,b){va r c=y,d={r ange:a,doc :a.documen t},        
321   f=this.get HtmlFromRa nge(a);if( a.collapse d)return a .optimize( ),f;a.enla rge(CKEDIT OR.ENLARGE _INLINE,1) ;c.table.d etectPurge (d);d.book mark=a.cre ateBookmar k();delete  d.range;v ar g=this. editor.cre ateRange() ;g.moveToP osition(d. bookmark.s tartNode,C KEDITOR.PO SITION_BEF ORE_START) ;d.targetB ookmark=g. createBook mark();c.l ist.detect Merge(d,th is);c.tabl e.detectRa nges(d,thi s);c.block .detectMer ge(d,this) ;d.tableCo ntentsRang es?(c.tabl e.deleteRa nges(d),a. moveToBook mark(d.boo kmark),d.r ange=a):(a .moveToBoo kmark(d.bo okmark),        
322   d.range=a, a.extractC ontents(c. detectExtr actMerge(d )));a.move ToBookmark (d.targetB ookmark);a .optimize( );c.fixUne ditableRan gePosition (a);c.list .merge(d,t his);c.tab le.purge(d ,this);c.b lock.merge (d,this);i f(b){c=a.s tartPath() ;if(d=a.ch eckStartOf Block()&&a .checkEndO fBlock()&& c.block&&! a.root.equ als(c.bloc k)){a:{var  d=c.block .getElemen tsByTag("s pan"),g=0, e;if(d)for (;e=d.getI tem(g++);) if(!n(e)){ d=!0;break  a}d=!1}d= !d}d&&(a.m oveToPosit ion(c.bloc k,CKEDITOR .POSITION_ BEFORE_STA RT),c.bloc k.remove() )}else c.a utoParagra ph(this.ed itor,        
323   a),r(a.sta rtContaine r)&&a.star tContainer .appendBog us();a.sta rtContaine r.mergeSib lings();re turn f},se tup:functi on(){var a =this.edit or;this.at tachListen er(a,"befo reGetData" ,function( ){var b=th is.getData ();this.is ("textarea ")||!1!==a .config.ig noreEmptyP aragraph&& (b=b.repla ce(q,funct ion(a,b){r eturn b})) ;a.setData (b,null,1) },this);th is.attachL istener(a, "getSnapsh ot",functi on(a){a.da ta=this.ge tData(1)}, this);this .attachLis tener(a,"a fterSetDat a",functio n(){this.s etData(a.g etData(1)) },this);th is.attachL istener(a,        
324   "loadSnaps hot",funct ion(a){thi s.setData( a.data,1)} ,this);thi s.attachLi stener(a," beforeFocu s",functio n(){var b= a.getSelec tion();(b= b&&b.getNa tive())&&" Control"== b.type||th is.focus() },this);th is.attachL istener(a, "insertHtm l",functio n(a){this. insertHtml (a.data.da taValue,a. data.mode, a.data.ran ge)},this) ;this.atta chListener (a,"insert Element",f unction(a) {this.inse rtElement( a.data)},t his);this. attachList ener(a,"in sertText", function(a ){this.ins ertText(a. data)},thi s);this.se tReadOnly( a.readOnly );this.att achClass(" cke_editab le");        
325   a.elementM ode==CKEDI TOR.ELEMEN T_MODE_INL INE?this.a ttachClass ("cke_edit able_inlin e"):a.elem entMode!=C KEDITOR.EL EMENT_MODE _REPLACE&& a.elementM ode!=CKEDI TOR.ELEMEN T_MODE_APP ENDTO||thi s.attachCl ass("cke_e ditable_th emed");thi s.attachCl ass("cke_c ontents_"+ a.config.c ontentsLan gDirection );a.keystr okeHandler .blockedKe ystrokes[8 ]=+a.readO nly;a.keys trokeHandl er.attach( this);this .on("blur" ,function( ){this.has Focus=!1}, null,null, -1);this.o n("focus", function() {this.hasF ocus=!0},n ull,null,- 1);a.focus Manager.ad d(this);        
326   this.equal s(CKEDITOR .document. getActive( ))&&(this. hasFocus=! 0,a.once(" contentDom ",function (){a.focus Manager.fo cus(this)} ,this));th is.isInlin e()&&this. changeAttr ("tabindex ",a.tabInd ex);if(!th is.is("tex tarea")){a .document= this.getDo cument();a .window=th is.getWind ow();var d =a.documen t;this.cha ngeAttr("s pellcheck" ,!a.config .disableNa tiveSpellC hecker);va r f=a.conf ig.content sLangDirec tion;this. getDirecti on(1)!=f&& this.chang eAttr("dir ",f);var e =CKEDITOR. getCss();e &&(f=d.get Head(),f.g etCustomDa ta("styles heet")||        
327   (e=d.appen dStyleText (e),e=new  CKEDITOR.d om.element (e.ownerNo de||e.owni ngElement) ,f.setCust omData("st ylesheet", e),e.data( "cke-temp" ,1)));f=d. getCustomD ata("style sheet_ref" )||0;d.set CustomData ("styleshe et_ref",f+ 1);this.se tCustomDat a("cke_inc ludeReadon ly",!a.con fig.disabl eReadonlyS tyling);th is.attachL istener(th is,"click" ,function( a){a=a.dat a;var b=(n ew CKEDITO R.dom.elem entPath(a. getTarget( ),this)).c ontains("a ");b&&2!=a .$.button& &b.isReadO nly()&&a.p reventDefa ult()});va r l={8:1,4 6:1};this. attachList ener(a,        
328   "key",func tion(b){if (a.readOnl y)return!0 ;var c=b.d ata.domEve nt.getKey( ),d;if(c i n l){b=a.g etSelectio n();var f, e=b.getRan ges()[0],h =e.startPa th(),m,E,n ,c=8==c;CK EDITOR.env .ie&&11>CK EDITOR.env .version&& (f=b.getSe lectedElem ent())||(f =k(b))?(a. fire("save Snapshot") ,e.moveToP osition(f, CKEDITOR.P OSITION_BE FORE_START ),f.remove (),e.selec t(),a.fire ("saveSnap shot"),d=1 ):e.collap sed&&((m=h .block)&&( n=m[c?"get Previous": "getNext"] (g))&&n.ty pe==CKEDIT OR.NODE_EL EMENT&&n.i s("table") &&e[c?"che ckStartOfB lock":"che ckEndOfBlo ck"]()?        
329   (a.fire("s aveSnapsho t"),e[c?"c heckEndOfB lock":"che ckStartOfB lock"]()&& m.remove() ,e["moveTo ElementEdi t"+(c?"End ":"Start") ](n),e.sel ect(),a.fi re("saveSn apshot"),d =1):h.bloc kLimit&&h. blockLimit .is("td")& &(E=h.bloc kLimit.get Ascendant( "table"))& &e.checkBo undaryOfEl ement(E,c? CKEDITOR.S TART:CKEDI TOR.END)&& (n=E[c?"ge tPrevious" :"getNext" ](g))?(a.f ire("saveS napshot"), e["moveToE lementEdit "+(c?"End" :"Start")] (n),e.chec kStartOfBl ock()&&e.c heckEndOfB lock()?n.r emove():e. select(),a .fire("sav eSnapshot" ),d=1):(E= h.contains (["td",        
330   "th","capt ion"]))&&e .checkBoun daryOfElem ent(E,c?CK EDITOR.STA RT:CKEDITO R.END)&&(d =1))}retur n!d});a.bl ockless&&C KEDITOR.en v.ie&&CKED ITOR.env.n eedsBrFill er&&this.a ttachListe ner(this," keyup",fun ction(b){b .data.getK eystroke() in l&&!thi s.getFirst (c)&&(this .appendBog us(),b=a.c reateRange (),b.moveT oPosition( this,CKEDI TOR.POSITI ON_AFTER_S TART),b.se lect())}); this.attac hListener( this,"dblc lick",func tion(b){if (a.readOnl y)return!1 ;b={elemen t:b.data.g etTarget() };a.fire(" doubleclic k",b)});CK EDITOR.env .ie&&this. attachList ener(this,        
331   "click",b) ;CKEDITOR. env.ie&&!C KEDITOR.en v.edge||th is.attachL istener(th is,"moused own",funct ion(b){var  c=b.data. getTarget( );c.is("im g","hr","i nput","tex tarea","se lect")&&!c .isReadOnl y()&&(a.ge tSelection ().selectE lement(c), c.is("inpu t","textar ea","selec t")&&b.dat a.preventD efault())} );CKEDITOR .env.edge& &this.atta chListener (this,"mou seup",func tion(b){(b =b.data.ge tTarget()) &&b.is("im g")&&a.get Selection( ).selectEl ement(b)}) ;CKEDITOR. env.gecko& &this.atta chListener (this,"mou seup",func tion(b){if (2==b.data .$.button& &        
332   (b=b.data. getTarget( ),!b.getOu terHtml(). replace(q, ""))){var  c=a.create Range();c. moveToElem entEditSta rt(b);c.se lect(!0)}} );CKEDITOR .env.webki t&&(this.a ttachListe ner(this," click",fun ction(a){a .data.getT arget().is ("input"," select")&& a.data.pre ventDefaul t()}),this .attachLis tener(this ,"mouseup" ,function( a){a.data. getTarget( ).is("inpu t","textar ea")&&a.da ta.prevent Default()} ));CKEDITO R.env.webk it&&this.a ttachListe ner(a,"key ",function (b){if(a.r eadOnly)re turn!0;b=b .data.domE vent.getKe y();if(b i n l){var c =        
333   8==b,d=a.g etSelectio n().getRan ges()[0];b =d.startPa th();if(d. collapsed) a:{var f=b .block;if( f&&d[c?"ch eckStartOf Block":"ch eckEndOfBl ock"]()&&d .moveToClo sestEditab lePosition (f,!c)&&d. collapsed) {if(d.star tContainer .type==CKE DITOR.NODE _ELEMENT){ var g=d.st artContain er.getChil d(d.startO ffset-(c?1 :0));if(g& &g.type==C KEDITOR.NO DE_ELEMENT &&g.is("hr ")){a.fire ("saveSnap shot");g.r emove();b= !0;break a }}d=d.star tPath().bl ock;if(!d| |d&&d.cont ains(f))b= void 0;els e{a.fire(" saveSnapsh ot");var e ;(e=(c?d:f ).getBogus ())&&        
334   e.remove() ;e=a.getSe lection(); g=e.create Bookmarks( );(c?f:d). moveChildr en(c?d:f,! 1);b.lastE lement.mer geSiblings ();h(f,d,! c);e.selec tBookmarks (g);b=!0}} else b=!1} else c=d,e =b.block,d =c.endPath ().block,e &&d&&!e.eq uals(d)?(a .fire("sav eSnapshot" ),(f=e.get Bogus())&& f.remove() ,c.enlarge (CKEDITOR. ENLARGE_IN LINE),c.de leteConten ts(),d.get Parent()&& (d.moveChi ldren(e,!1 ),b.lastEl ement.merg eSiblings( ),h(e,d,!0 )),c=a.get Selection( ).getRange s()[0],c.c ollapse(1) ,c.optimiz e(),""===c .startCont ainer.getH tml()&&c.s tartContai ner.append Bogus(),        
335   c.select() ,b=!0):b=! 1;if(!b)re turn;a.get Selection( ).scrollIn toView();a .fire("sav eSnapshot" );return!1 }},this,nu ll,100)}}} ,_:{detach :function( ){this.edi tor.setDat a(this.edi tor.getDat a(),0,1);t his.clearL isteners() ;this.rest oreAttrs() ;var a;if( a=this.rem oveCustomD ata("class es"))for(; a.length;) this.remov eClass(a.p op());if(! this.is("t extarea")) {a=this.ge tDocument( );var b=a. getHead(); if(b.getCu stomData(" stylesheet ")){var c= a.getCusto mData("sty lesheet_re f");--c?a. setCustomD ata("style sheet_ref" ,c):(a.rem oveCustomD ata("style sheet_ref" ),        
336   b.removeCu stomData(" stylesheet ").remove( ))}}this.e ditor.fire ("contentD omUnload") ;delete th is.editor} }});CKEDIT OR.editor. prototype. editable=f unction(a) {var b=thi s._.editab le;if(b&&a )return 0; arguments. length&&(b =this._.ed itable=a?a  instanceo f CKEDITOR .editable? a:new CKED ITOR.edita ble(this,a ):(b&&b.de tach(),nul l));return  b};CKEDIT OR.on("ins tanceLoade d",functio n(b){var c =b.editor; c.on("inse rtElement" ,function( a){a=a.dat a;a.type== CKEDITOR.N ODE_ELEMEN T&&(a.is(" input")||a .is("texta rea"))&&(" false"!=a. getAttribu te("conten tEditable" )&&        
337   a.data("ck e-editable ",a.hasAtt ribute("co ntentedita ble")?"tru e":"1"),a. setAttribu te("conten tEditable" ,!1))});c. on("select ionChange" ,function( b){if(!c.r eadOnly){v ar d=c.get Selection( );d&&!d.is Locked&&(d =c.checkDi rty(),c.fi re("lockSn apshot"),a (b),c.fire ("unlockSn apshot"),! d&&c.reset Dirty())}} )});CKEDIT OR.on("ins tanceCreat ed",functi on(a){var  b=a.editor ;b.on("mod e",functio n(){var a= b.editable ();if(a&&a .isInline( )){var c=b .title;a.c hangeAttr( "role","te xtbox");a. changeAttr ("aria-lab el",c);c&& a.changeAt tr("title" ,        
338   c);var d=b .fire("ari aEditorHel pLabel",{} ).label;if (d&&(c=thi s.ui.space (this.elem entMode==C KEDITOR.EL EMENT_MODE _INLINE?"t op":"conte nts"))){va r f=CKEDIT OR.tools.g etNextId() ,d=CKEDITO R.dom.elem ent.create FromHtml(' \x3cspan i d\x3d"'+f+ '" class\x 3d"cke_voi ce_label"\ x3e'+d+"\x 3c/span\x3 e");c.appe nd(d);a.ch angeAttr(" aria-descr ibedby",f) }}})});CKE DITOR.addC ss(".cke_e ditable{cu rsor:text} .cke_edita ble img,.c ke_editabl e input,.c ke_editabl e textarea {cursor:de fault}");v ar g=CKEDI TOR.dom.wa lker.white spaces(!0) ,        
339   n=CKEDITOR .dom.walke r.bookmark (!1,!0),r= CKEDITOR.d om.walker. empty(),t= CKEDITOR.d om.walker. bogus(),q= /(^|<body\ b[^>]*>)\s *<(p|div|a ddress|h\d |center|pr e)[^>]*>\s *(?:<br[^> ]*>|&nbsp; |\u00A0|&# 160;)?\s*( :?<\/\2>)? \s*(?=$|<\ /body>)/gi ,p=functio n(){functi on a(b){re turn b.typ e==CKEDITO R.NODE_ELE MENT}funct ion b(c,d) {var f,g,e ,h,l=[],m= d.range.st artContain er;f=d.ran ge.startPa th();for(v ar m=k[m.g etName()], n=0,q=c.ge tChildren( ),w=q.coun t(),u=-1,t =-1,p=0,y= f.contains (k.$list); n<w;++n)f= q.getItem( n),a(f)?(e =        
340   f.getName( ),y&&e in  CKEDITOR.d td.$list?l =l.concat( b(f,d)):(h =!!m[e],"b r"!=e||!f. data("cke- eol")||n&& n!=w-1||(p =(g=n?l[n- 1].node:q. getItem(n+ 1))&&(!a(g )||!g.is(" br")),g=g& &a(g)&&k.$ block[g.ge tName()]), -1!=u||h|| (u=n),h||( t=n),l.pus h({isEleme nt:1,isLin eBreak:p,i sBlock:f.i sBlockBoun dary(),has BlockSibli ng:g,node: f,name:e,a llowed:h}) ,g=p=0)):l .push({isE lement:0,n ode:f,allo wed:1});-1 <u&&(l[u]. firstNotAl lowed=1);- 1<t&&(l[t] .lastNotAl lowed=1);r eturn l}fu nction d(b ,c){var f= [],g=b.get Children() ,e=g.count (),        
341   h,l=0,m=k[ c],n=!b.is (k.$inline )||b.is("b r");for(n& &f.push("  ");l<e;l++ )h=g.getIt em(l),a(h) &&!h.is(m) ?f=f.conca t(d(h,c)): f.push(h); n&&f.push( " ");retur n f}functi on g(b){re turn a(b.s tartContai ner)&&b.st artContain er.getChil d(b.startO ffset-1)}f unction e( b){return  b&&a(b)&&( b.is(k.$re moveEmpty) ||b.is("a" )&&!b.isBl ockBoundar y())}funct ion h(b,c, d,f){var g =b.clone() ,e,l;g.set EndAt(c,CK EDITOR.POS ITION_BEFO RE_END);(e =(new CKED ITOR.dom.w alker(g)). next())&&a (e)&&n[e.g etName()]& &(l=e.getP revious()) &&a(l)&&!l .getParent ().equals( b.startCon tainer)&&        
342   d.contains (l)&&f.con tains(e)&& e.isIdenti cal(l)&&(e .moveChild ren(l),e.r emove(),h( b,c,d,f))} function l (b,c){func tion d(b,c ){if(c.isB lock&&c.is Element&&! c.node.is( "br")&&a(b )&&b.is("b r"))return  b.remove( ),1}var f= c.endConta iner.getCh ild(c.endO ffset),g=c .endContai ner.getChi ld(c.endOf fset-1);f& &d(f,b[b.l ength-1]); g&&d(g,b[0 ])&&(c.set End(c.endC ontainer,c .endOffset -1),c.coll apse())}va r k=CKEDIT OR.dtd,n={ p:1,div:1, h1:1,h2:1, h3:1,h4:1, h5:1,h6:1, ul:1,ol:1, li:1,pre:1 ,dl:1,bloc kquote:1}, q={p:1,div :1,h1:1,h2 :1,        
343   h3:1,h4:1, h5:1,h6:1} ,w=CKEDITO R.tools.ex tend({},k. $inline);d elete w.br ;return fu nction(n,E ,u,t){var  p=n.editor ,y=!1;"unf iltered_ht ml"==E&&(E ="html",y= !0);if(!t. checkReadO nly()){var  r=(new CK EDITOR.dom .elementPa th(t.start Container, t.root)).b lockLimit| |t.root;n= {type:E,do ntFilter:y ,editable: n,editor:p ,range:t,b lockLimit: r,mergeCan didates:[] ,zombies:[ ]};E=n.ran ge;t=n.mer geCandidat es;var F,M ;"text"==n .type&&E.s hrink(CKED ITOR.SHRIN K_ELEMENT, !0,!1)&&(F =CKEDITOR. dom.elemen t.createFr omHtml("\x 3cspan\x3e \x26nbsp;\ x3c/span\x 3e",        
344   E.document ),E.insert Node(F),E. setStartAf ter(F));y= new CKEDIT OR.dom.ele mentPath(E .startCont ainer);n.e ndPath=r=n ew CKEDITO R.dom.elem entPath(E. endContain er);if(!E. collapsed) {var p=r.b lock||r.bl ockLimit,W =E.getComm onAncestor ();p&&!p.e quals(W)&& !p.contain s(W)&&E.ch eckEndOfBl ock()&&n.z ombies.pus h(p);E.del eteContent s()}for(;( M=g(E))&&a (M)&&M.isB lockBounda ry()&&y.co ntains(M); )E.moveToP osition(M, CKEDITOR.P OSITION_BE FORE_END); h(E,n.bloc kLimit,y,r );F&&(E.se tEndBefore (F),E.coll apse(),F.r emove());F =E.startPa th();        
345   if(p=F.con tains(e,!1 ,1))E.spli tElement(p ),n.inline StylesRoot =p,n.inlin eStylesPea k=F.lastEl ement;F=E. createBook mark();(p= F.startNod e.getPrevi ous(c))&&a (p)&&e(p)& &t.push(p) ;(p=F.star tNode.getN ext(c))&&a (p)&&e(p)& &t.push(p) ;for(p=F.s tartNode;( p=p.getPar ent())&&e( p);)t.push (p);E.move ToBookmark (F);if(F=u ){F=n.rang e;if("text "==n.type& &n.inlineS tylesRoot) {M=n.inlin eStylesPea k;E=M.getD ocument(). createText ("{cke-pea k}");for(t =n.inlineS tylesRoot. getParent( );!M.equal s(t);)E=E. appendTo(M .clone()), M=M.getPar ent();        
346   u=E.getOut erHtml().s plit("{cke -peak}").j oin(u)}M=n .blockLimi t.getName( );if(/^\s+ |\s+$/.tes t(u)&&"spa n"in CKEDI TOR.dtd[M] ){var U='\ x3cspan da ta-cke-mar ker\x3d"1" \x3e\x26nb sp;\x3c/sp an\x3e';u= U+u+U}u=n. editor.dat aProcessor .toHtml(u, {context:n ull,fixFor Body:!1,pr otectedWhi tespaces:! !U,dontFil ter:n.dont Filter,fil ter:n.edit or.activeF ilter,ente rMode:n.ed itor.activ eEnterMode });M=F.doc ument.crea teElement( "body");M. setHtml(u) ;U&&(M.get First().re move(),M.g etLast().r emove());i f((U=F.sta rtPath().b lock)&&(1! =        
347   U.getChild Count()||! U.getBogus ()))a:{var  J;if(1==M .getChildC ount()&&a( J=M.getFir st())&&J.i s(q)&&!J.h asAttribut e("content editable") ){U=J.getE lementsByT ag("*");F= 0;for(t=U. count();F< t;F++)if(E =U.getItem (F),!E.is( w))break a ;J.moveChi ldren(J.ge tParent(1) );J.remove ()}}n.data Wrapper=M; F=u}if(F){ J=n.range; F=J.docume nt;var L;M =n.blockLi mit;t=0;va r S,U=[],Q ,aa;u=p=0; var V,da;E =J.startCo ntainer;va r y=n.endP ath.elemen ts[0],ba,r =y.getPosi tion(E),W= !!y.getCom monAncesto r(E)&&r!=C KEDITOR.PO SITION_IDE NTICAL&&!( r&        
348   CKEDITOR.P OSITION_CO NTAINS+CKE DITOR.POSI TION_IS_CO NTAINED);E =b(n.dataW rapper,n); for(l(E,J) ;t<E.lengt h;t++){r=E [t];if(L=r .isLineBre ak){L=J;V= M;var X=vo id 0,ea=vo id 0;r.has BlockSibli ng?L=1:(X= L.startCon tainer.get Ascendant( k.$block,1 ))&&X.is({ div:1,p:1} )?(ea=X.ge tPosition( V),ea==CKE DITOR.POSI TION_IDENT ICAL||ea== CKEDITOR.P OSITION_CO NTAINS?L=0 :(V=L.spli tElement(X ),L.moveTo Position(V ,CKEDITOR. POSITION_A FTER_START ),L=1)):L= 0}if(L)u=0 <t;else{L= J.startPat h();!r.isB lock&&m(n. editor,L.b lock,L.blo ckLimit)&& (aa=        
349   f(n.editor ))&&(aa=F. createElem ent(aa),aa .appendBog us(),J.ins ertNode(aa ),CKEDITOR .env.needs BrFiller&& (S=aa.getB ogus())&&S .remove(), J.moveToPo sition(aa, CKEDITOR.P OSITION_BE FORE_END)) ;if((L=J.s tartPath() .block)&&! L.equals(Q )){if(S=L. getBogus() )S.remove( ),U.push(L );Q=L}r.fi rstNotAllo wed&&(p=1) ;if(p&&r.i sElement){ L=J.startC ontainer;f or(V=null; L&&!k[L.ge tName()][r .name];){i f(L.equals (M)){L=nul l;break}V= L;L=L.getP arent()}if (L)V&&(da= J.splitEle ment(V),n. zombies.pu sh(da),n.z ombies.pus h(V));else {V=M.getNa me();        
350   ba=!t;L=t= =E.length- 1;V=d(r.no de,V);for( var X=[],e a=V.length ,ca=0,ga=v oid 0,fa=0 ,ia=-1;ca< ea;ca++)ga =V[ca]," " ==ga?(fa|| ba&&!ca||( X.push(new  CKEDITOR. dom.text("  ")),ia=X. length),fa =1):(X.pus h(ga),fa=0 );L&&ia==X .length&&X .pop();ba= X}}if(ba){ for(;L=ba. pop();)J.i nsertNode( L);ba=0}el se J.inser tNode(r.no de);r.last NotAllowed &&t<E.leng th-1&&((da =W?y:da)&& J.setEndAt (da,CKEDIT OR.POSITIO N_AFTER_ST ART),p=0); J.collapse ()}}1!=E.l ength?S=!1 :(S=E[0],S =S.isEleme nt&&"false "==S.node. getAttribu te("conten teditable" ));        
351   S&&(u=!0,L =E[0].node ,J.setStar tAt(L,CKED ITOR.POSIT ION_BEFORE _START),J. setEndAt(L ,CKEDITOR. POSITION_A FTER_END)) ;n.dontMov eCaret=u;n .bogusNeed edBlocks=U }S=n.range ;var Z;da= n.bogusNee dedBlocks; for(ba=S.c reateBookm ark();Q=n. zombies.po p();)Q.get Parent()&& (aa=S.clon e(),aa.mov eToElement EditStart( Q),aa.remo veEmptyBlo cksAtEnd() );if(da)fo r(;Q=da.po p();)CKEDI TOR.env.ne edsBrFille r?Q.append Bogus():Q. append(S.d ocument.cr eateText("  "));for(; Q=n.mergeC andidates. pop();)Q.m ergeSiblin gs();S.mov eToBookmar k(ba);if(! n.dontMove Caret){for (Q=        
352   g(S);Q&&a( Q)&&!Q.is( k.$empty); ){if(Q.isB lockBounda ry())S.mov eToPositio n(Q,CKEDIT OR.POSITIO N_BEFORE_E ND);else{i f(e(Q)&&Q. getHtml(). match(/(\s |&nbsp;)$/ g)){Z=null ;break}Z=S .clone();Z .moveToPos ition(Q,CK EDITOR.POS ITION_BEFO RE_END)}Q= Q.getLast( c)}Z&&S.mo veToRange( Z)}}}}(),u =function( ){function  a(b){b=ne w CKEDITOR .dom.walke r(b);b.gua rd=functio n(a,b){if( b)return!1 ;if(a.type ==CKEDITOR .NODE_ELEM ENT)return  a.is(CKED ITOR.dtd.$ tableConte nt)};b.eva luator=fun ction(a){r eturn a.ty pe==CKEDIT OR.NODE_EL EMENT};ret urn b}        
353   function b (a,c,d){c= a.getDocum ent().crea teElement( c);a.appen d(c,d);ret urn c}func tion c(a){ var b=a.co unt(),d;fo r(b;0<b--; )d=a.getIt em(b),CKED ITOR.tools .trim(d.ge tHtml())|| (d.appendB ogus(),CKE DITOR.env. ie&&9>CKED ITOR.env.v ersion&&d. getChildCo unt()&&d.g etFirst(). remove())} return fun ction(d){v ar f=d.sta rtContaine r,g=f.getA scendant(" table",1), e=!1;c(g.g etElements ByTag("td" ));c(g.get ElementsBy Tag("th")) ;g=d.clone ();g.setSt art(f,0);g =a(g).last Backward() ;g||(g=d.c lone(),g.s etEndAt(f, CKEDITOR.P OSITION_BE FORE_END),        
354   g=a(g).las tForward() ,e=!0);g|| (g=f);g.is ("table")? (d.setStar tAt(g,CKED ITOR.POSIT ION_BEFORE _START),d. collapse(! 0),g.remov e()):(g.is ({tbody:1, thead:1,tf oot:1})&&( g=b(g,"tr" ,e)),g.is( "tr")&&(g= b(g,g.getP arent().is ("thead")? "th":"td", e)),(f=g.g etBogus()) &&f.remove (),d.moveT oPosition( g,e?CKEDIT OR.POSITIO N_AFTER_ST ART:CKEDIT OR.POSITIO N_BEFORE_E ND))}}(),w ={eol:{det ect:functi on(a,b){va r c=a.rang e,d=c.clon e(),f=c.cl one(),g=ne w CKEDITOR .dom.eleme ntPath(c.s tartContai ner,b),e=n ew CKEDITO R.dom.elem entPath(c. endContain er,        
355   b);d.colla pse(1);f.c ollapse(); g.block&&d .checkBoun daryOfElem ent(g.bloc k,CKEDITOR .END)&&(c. setStartAf ter(g.bloc k),a.prepe ndEolBr=1) ;e.block&& f.checkBou ndaryOfEle ment(e.blo ck,CKEDITO R.START)&& (c.setEndB efore(e.bl ock),a.app endEolBr=1 )},fix:fun ction(a,b) {var c=b.g etDocument (),d;a.app endEolBr&& (d=this.cr eateEolBr( c),a.fragm ent.append (d));!a.pr ependEolBr ||d&&!d.ge tPrevious( )||a.fragm ent.append (this.crea teEolBr(c) ,1)},creat eEolBr:fun ction(a){r eturn a.cr eateElemen t("br",{at tributes:{ "data-cke- eol":1}})} },        
356   bogus:{exc lude:funct ion(a){var  b=a.range .getBounda ryNodes(), c=b.startN ode,b=b.en dNode;!b|| !t(b)||c&& c.equals(b )||a.range .setEndBef ore(b)}},t ree:{rebui ld:functio n(a,b){var  c=a.range ,d=c.getCo mmonAncest or(),f=new  CKEDITOR. dom.elemen tPath(d,b) ,g=new CKE DITOR.dom. elementPat h(c.startC ontainer,b ),c=new CK EDITOR.dom .elementPa th(c.endCo ntainer,b) ,e;d.type= =CKEDITOR. NODE_TEXT& &(d=d.getP arent());i f(f.blockL imit.is({t r:1,table: 1})){var h =f.contain s("table") .getParent ();e=funct ion(a){ret urn!a.equa ls(h)}}els e if(f.blo ck&&        
357   f.block.is (CKEDITOR. dtd.$listI tem)&&(g=g .contains( CKEDITOR.d td.$list), c=c.contai ns(CKEDITO R.dtd.$lis t),!g.equa ls(c))){va r l=f.cont ains(CKEDI TOR.dtd.$l ist).getPa rent();e=f unction(a) {return!a. equals(l)} }e||(e=fun ction(a){r eturn!a.eq uals(f.blo ck)&&!a.eq uals(f.blo ckLimit)}) ;this.rebu ildFragmen t(a,b,d,e) },rebuildF ragment:fu nction(a,b ,c,d){for( var f;c&&! c.equals(b )&&d(c);)f =c.clone(0 ,1),a.frag ment.appen dTo(f),a.f ragment=f, c=c.getPar ent()}},ce ll:{shrink :function( a){a=a.ran ge;var b=a .startCont ainer,c=a. endContain er,        
358   d=a.startO ffset,f=a. endOffset; b.type==CK EDITOR.NOD E_ELEMENT& &b.equals( c)&&b.is(" tr")&&++d= =f&&a.shri nk(CKEDITO R.SHRINK_T EXT)}}},y= function() {function  a(b,c){var  d=b.getPa rent();if( d.is(CKEDI TOR.dtd.$i nline))b[c ?"insertBe fore":"ins ertAfter"] (d)}functi on b(c,d,f ){a(d);a(f ,1);for(va r g;g=f.ge tNext();)g .insertAft er(d),d=g; r(c)&&c.re move()}fun ction c(a, b){var d=n ew CKEDITO R.dom.rang e(a);d.set StartAfter (b.startNo de);d.setE ndBefore(b .endNode); return d}r eturn{list :{detectMe rge:functi on(a,b){va r d=c(b,a. bookmark),        
359   f=d.startP ath(),g=d. endPath(), e=f.contai ns(CKEDITO R.dtd.$lis t),h=g.con tains(CKED ITOR.dtd.$ list);a.me rgeList=e& &h&&e.getP arent().eq uals(h.get Parent())& &!e.equals (h);a.merg eListItems =f.block&& g.block&&f .block.is( CKEDITOR.d td.$listIt em)&&g.blo ck.is(CKED ITOR.dtd.$ listItem); if(a.merge List||a.me rgeListIte ms)d=d.clo ne(),d.set StartBefor e(a.bookma rk.startNo de),d.setE ndAfter(a. bookmark.e ndNode),a. mergeListB ookmark=d. createBook mark()},me rge:functi on(a,c){if (a.mergeLi stBookmark ){var d=a. mergeListB ookmark.st artNode,        
360   f=a.mergeL istBookmar k.endNode, g=new CKED ITOR.dom.e lementPath (d,c),e=ne w CKEDITOR .dom.eleme ntPath(f,c );if(a.mer geList){va r h=g.cont ains(CKEDI TOR.dtd.$l ist),l=e.c ontains(CK EDITOR.dtd .$list);h. equals(l)| |(l.moveCh ildren(h), l.remove() )}a.mergeL istItems&& (g=g.conta ins(CKEDIT OR.dtd.$li stItem),e= e.contains (CKEDITOR. dtd.$listI tem),g.equ als(e)||b( e,d,f));d. remove();f .remove()} }},block:{ detectMerg e:function (a,b){if(! a.tableCon tentsRange s&&!a.merg eListBookm ark){var c =new CKEDI TOR.dom.ra nge(b);c.s etStartBef ore(a.book mark.start Node);        
361   c.setEndAf ter(a.book mark.endNo de);a.merg eBlockBook mark=c.cre ateBookmar k()}},merg e:function (a,c){if(a .mergeBloc kBookmark& &!a.purgeT ableBookma rk){var d= a.mergeBlo ckBookmark .startNode ,f=a.merge BlockBookm ark.endNod e,g=new CK EDITOR.dom .elementPa th(d,c),e= new CKEDIT OR.dom.ele mentPath(f ,c),g=g.bl ock,e=e.bl ock;g&&e&& !g.equals( e)&&b(e,d, f);d.remov e();f.remo ve()}}},ta ble:functi on(){funct ion a(c){v ar f=[],g, e=new CKED ITOR.dom.w alker(c),h =c.startPa th().conta ins(d),l=c .endPath() .contains( d),k={};e. guard=func tion(a,        
362   e){if(a.ty pe==CKEDIT OR.NODE_EL EMENT){var  m="visite d_"+(e?"ou t":"in");i f(a.getCus tomData(m) )return;CK EDITOR.dom .element.s etMarker(k ,a,m,1)}if (e&&h&&a.e quals(h))g =c.clone() ,g.setEndA t(h,CKEDIT OR.POSITIO N_BEFORE_E ND),f.push (g);else i f(!e&&l&&a .equals(l) )g=c.clone (),g.setSt artAt(l,CK EDITOR.POS ITION_AFTE R_START),f .push(g);e lse{if(m=! e)m=a.type ==CKEDITOR .NODE_ELEM ENT&&a.is( d)&&(!h||b (a,h))&&(! l||b(a,l)) ;m&&(g=c.c lone(),g.s electNodeC ontents(a) ,f.push(g) )}};e.last Forward(); CKEDITOR.d om.element .clearAllM arkers(k);        
363   return f}f unction b( a,c){var d =CKEDITOR. POSITION_C ONTAINS+CK EDITOR.POS ITION_IS_C ONTAINED,f =a.getPosi tion(c);re turn f===C KEDITOR.PO SITION_IDE NTICAL?!1: 0===(f&d)} var d={td: 1,th:1,cap tion:1};re turn{detec tPurge:fun ction(a){v ar b=a.ran ge,c=b.clo ne();c.enl arge(CKEDI TOR.ENLARG E_ELEMENT) ;var c=new  CKEDITOR. dom.walker (c),f=0;c. evaluator= function(a ){a.type== CKEDITOR.N ODE_ELEMEN T&&a.is(d) &&++f};c.c heckForwar d();if(1<f ){var c=b. startPath( ).contains ("table"), g=b.endPat h().contai ns("table" );c&&g&&b. checkBound aryOfEleme nt(c,        
364   CKEDITOR.S TART)&&b.c heckBounda ryOfElemen t(g,CKEDIT OR.END)&&( b=a.range. clone(),b. setStartBe fore(c),b. setEndAfte r(g),a.pur geTableBoo kmark=b.cr eateBookma rk())}},de tectRanges :function( f,g){var e =c(g,f.boo kmark),h=e .clone(),l ,k,m=e.get CommonAnce stor();m.i s(CKEDITOR .dtd.$tabl eContent)& &!m.is(d)& &(m=m.getA scendant(" table",!0) );k=m;m=ne w CKEDITOR .dom.eleme ntPath(e.s tartContai ner,k);k=n ew CKEDITO R.dom.elem entPath(e. endContain er,k);m=m. contains(" table");k= k.contains ("table"); if(m||k)m& &k&&b(m,k) ?(f.tableS urrounding Range=        
365   h,h.setSta rtAt(m,CKE DITOR.POSI TION_AFTER _END),h.se tEndAt(k,C KEDITOR.PO SITION_BEF ORE_START) ,h=e.clone (),h.setEn dAt(m,CKED ITOR.POSIT ION_AFTER_ END),l=e.c lone(),l.s etStartAt( k,CKEDITOR .POSITION_ BEFORE_STA RT),l=a(h) .concat(a( l))):m?k|| (f.tableSu rroundingR ange=h,h.s etStartAt( m,CKEDITOR .POSITION_ AFTER_END) ,e.setEndA t(m,CKEDIT OR.POSITIO N_AFTER_EN D)):(f.tab leSurround ingRange=h ,h.setEndA t(k,CKEDIT OR.POSITIO N_BEFORE_S TART),e.se tStartAt(k ,CKEDITOR. POSITION_A FTER_START )),f.table ContentsRa nges=l?l:a (e)},delet eRanges:fu nction(a){ for(var b; b=        
366   a.tableCon tentsRange s.pop();)b .extractCo ntents(),r (b.startCo ntainer)&& b.startCon tainer.app endBogus() ;a.tableSu rroundingR ange&&a.ta bleSurroun dingRange. extractCon tents()},p urge:funct ion(a){if( a.purgeTab leBookmark ){var b=a. doc,c=a.ra nge.clone( ),b=b.crea teElement( "p");b.ins ertBefore( a.purgeTab leBookmark .startNode );c.moveTo Bookmark(a .purgeTabl eBookmark) ;c.deleteC ontents(); a.range.mo veToPositi on(b,CKEDI TOR.POSITI ON_AFTER_S TART)}}}}( ),detectEx tractMerge :function( a){return! (a.range.s tartPath() .contains( CKEDITOR.d td.$listIt em)&&        
367   a.range.en dPath().co ntains(CKE DITOR.dtd. $listItem) )},fixUned itableRang ePosition: function(a ){a.startC ontainer.g etDtd()["# "]||a.move ToClosestE ditablePos ition(null ,!0)},auto Paragraph: function(a ,b){var c= b.startPat h(),d;m(a, c.block,c. blockLimit )&&(d=f(a) )&&(d=b.do cument.cre ateElement (d),d.appe ndBogus(), b.insertNo de(d),b.mo veToPositi on(d,CKEDI TOR.POSITI ON_AFTER_S TART))}}}( )}(),funct ion(){func tion a(){v ar a=this. _.fakeSele ction,b;a& &(b=this.g etSelectio n(1),b&&b. isHidden() ||(a.reset (),a=0));i f(!a&&(a=b ||        
368   this.getSe lection(1) ,!a||a.get Type()==CK EDITOR.SEL ECTION_NON E))return; this.fire( "selection Check",a); b=this.ele mentPath() ;b.compare (this._.se lectionPre viousPath) ||(CKEDITO R.env.webk it&&(this. _.previous Active=thi s.document .getActive ()),this._ .selection PreviousPa th=b,this. fire("sele ctionChang e",{select ion:a,path :b}))}func tion e(){q =!0;t||(b. call(this) ,t=CKEDITO R.tools.se tTimeout(b ,200,this) )}function  b(){t=nul l;q&&(CKED ITOR.tools .setTimeou t(a,0,this ),q=!1)}fu nction c(a ){return p (a)||a.typ e==CKEDITO R.NODE_ELE MENT&&        
369   !a.is(CKED ITOR.dtd.$ empty)?!0: !1}functio n d(a){fun ction b(c, d){return  c&&c.type! =CKEDITOR. NODE_TEXT? a.clone()[ "moveToEle mentEdit"+ (d?"End":" Start")](c ):!1}if(!( a.root ins tanceof CK EDITOR.edi table))ret urn!1;var  d=a.startC ontainer,f =a.getPrev iousNode(c ,null,d),g =a.getNext Node(c,nul l,d);retur n b(f)||b( g,1)||!(f| |g||d.type ==CKEDITOR .NODE_ELEM ENT&&d.isB lockBounda ry()&&d.ge tBogus())? !0:!1}func tion k(a){ return a.g etCustomDa ta("cke-fi llingChar" )}function  m(a,b){va r c=a&&a.r emoveCusto mData("cke -fillingCh ar");        
370   if(c){if(! 1!==b){var  d,g=a.get Document() .getSelect ion().getN ative(),e= g&&"None"! =g.type&&g .getRangeA t(0);1<c.g etLength() &&e&&e.int ersectsNod e(c.$)&&(d =l(g),e=g. focusNode= =c.$&&0<g. focusOffse t,g.anchor Node==c.$& &0<g.ancho rOffset&&d [0].offset --,e&&d[1] .offset--) }c.setText (f(c.getTe xt()));d&& h(a.getDoc ument().$, d)}}functi on f(a){re turn a.rep lace(/\u20 0B( )?/g,f unction(a) {return a[ 1]?" ":""} )}function  l(a){retu rn[{node:a .anchorNod e,offset:a .anchorOff set},{node :a.focusNo de,offset: a.focusOff set}]}func tion h(a,        
371   b){var c=a .getSelect ion(),d=a. createRang e();d.setS tart(b[0]. node,b[0]. offset);d. collapse(! 0);c.remov eAllRanges ();c.addRa nge(d);c.e xtend(b[1] .node,b[1] .offset)}f unction g( a){var b=C KEDITOR.do m.element. createFrom Html('\x3c div data-c ke-hidden- sel\x3d"1"  data-cke- temp\x3d"1 " style\x3 d"'+(CKEDI TOR.env.ie ?"display: none":"pos ition:fixe d;top:0;le ft:-1000px ")+'"\x3e\ x26nbsp;\x 3c/div\x3e ',a.docume nt);a.fire ("lockSnap shot");a.e ditable(). append(b); var c=a.ge tSelection (1),d=a.cr eateRange( ),f=c.root .on("selec tionchange ",        
372   function(a ){a.cancel ()},null,n ull,0);d.s etStartAt( b,CKEDITOR .POSITION_ AFTER_STAR T);d.setEn dAt(b,CKED ITOR.POSIT ION_BEFORE _END);c.se lectRanges ([d]);f.re moveListen er();a.fir e("unlockS napshot"); a._.hidden SelectionC ontainer=b }function  n(a){var b ={37:1,39: 1,8:1,46:1 };return f unction(c) {var d=c.d ata.getKey stroke();i f(b[d]){va r f=a.getS election() .getRanges (),g=f[0]; 1==f.lengt h&&g.colla psed&&(d=g [38>d?"get PreviousEd itableNode ":"getNext EditableNo de"]())&&d .type==CKE DITOR.NODE _ELEMENT&& "false"==d .getAttrib ute("conte nteditable ")&&        
373   (a.getSele ction().fa ke(d),c.da ta.prevent Default(), c.cancel() )}}}functi on r(a){fo r(var b=0; b<a.length ;b++){var  c=a[b];c.g etCommonAn cestor().i sReadOnly( )&&a.splic e(b,1);if( !c.collaps ed){if(c.s tartContai ner.isRead Only())for (var d=c.s tartContai ner,f;d&&! ((f=d.type ==CKEDITOR .NODE_ELEM ENT)&&d.is ("body")|| !d.isReadO nly());)f& &"false"== d.getAttri bute("cont entEditabl e")&&c.set StartAfter (d),d=d.ge tParent(); d=c.startC ontainer;f =c.endCont ainer;var  g=c.startO ffset,e=c. endOffset, h=c.clone( );d&&d.typ e==CKEDITO R.NODE_TEX T&&        
374   (g>=d.getL ength()?h. setStartAf ter(d):h.s etStartBef ore(d));f& &f.type==C KEDITOR.NO DE_TEXT&&( e?h.setEnd After(f):h .setEndBef ore(f));d= new CKEDIT OR.dom.wal ker(h);d.e valuator=f unction(d) {if(d.type ==CKEDITOR .NODE_ELEM ENT&&d.isR eadOnly()) {var f=c.c lone();c.s etEndBefor e(d);c.col lapsed&&a. splice(b-- ,1);d.getP osition(h. endContain er)&CKEDIT OR.POSITIO N_CONTAINS ||(f.setSt artAfter(d ),f.collap sed||a.spl ice(b+1,0, f));return !0}return! 1};d.next( )}}return  a}var t,q, p=CKEDITOR .dom.walke r.invisibl e(1),u=fun ction(){fu nction a(b ){return f unction(a) {var c=        
375   a.editor.c reateRange ();c.moveT oClosestEd itablePosi tion(a.sel ected,b)&& a.editor.g etSelectio n().select Ranges([c] );return!1 }}function  b(a){retu rn functio n(b){var c =b.editor, d=c.create Range(),f; (f=d.moveT oClosestEd itablePosi tion(b.sel ected,a))| |(f=d.move ToClosestE ditablePos ition(b.se lected,!a) );f&&c.get Selection( ).selectRa nges([d]); c.fire("sa veSnapshot ");b.selec ted.remove ();f||(d.m oveToEleme ntEditable Position(c .editable( )),c.getSe lection(). selectRang es([d]));c .fire("sav eSnapshot" );return!1 }}var c=a( ),        
376   d=a(1);ret urn{37:c,3 8:c,39:d,4 0:d,8:b(), 46:b(1)}}( );CKEDITOR .on("insta nceCreated ",function (b){functi on c(){var  a=d.getSe lection(); a&&a.remov eAllRanges ()}var d=b .editor;d. on("conten tDom",func tion(){fun ction b(){ u=new CKED ITOR.dom.s election(d .getSelect ion());u.l ock()}func tion c(){g .removeLis tener("mou seup",c);k .removeLis tener("mou seup",c);v ar a=CKEDI TOR.docume nt.$.selec tion,b=a.c reateRange ();"None"! =a.type&&b .parentEle ment().own erDocument ==f.$&&b.s elect()}va r f=d.docu ment,g=CKE DITOR.docu ment,h=d.e ditable(),        
377   l=f.getBod y(),k=f.ge tDocumentE lement(),q =h.isInlin e(),E,u;CK EDITOR.env .gecko&&h. attachList ener(h,"fo cus",funct ion(a){a.r emoveListe ner();0!== E&&(a=d.ge tSelection ().getNati ve())&&a.i sCollapsed &&a.anchor Node==h.$& &(a=d.crea teRange(), a.moveToEl ementEditS tart(h),a. select())} ,null,null ,-2);h.att achListene r(h,CKEDIT OR.env.web kit?"DOMFo cusIn":"fo cus",funct ion(){E&&C KEDITOR.en v.webkit&& (E=d._.pre viousActiv e&&d._.pre viousActiv e.equals(f .getActive ()));d.unl ockSelecti on(E);E=0} ,null,null ,-1);h.att achListene r(h,        
378   "mousedown ",function (){E=0});i f(CKEDITOR .env.ie||q )w?h.attac hListener( h,"befored eactivate" ,b,null,nu ll,-1):h.a ttachListe ner(d,"sel ectionChec k",b,null, null,-1),h .attachLis tener(h,CK EDITOR.env .webkit?"D OMFocusOut ":"blur",f unction(){ d.lockSele ction(u);E =1},null,n ull,-1),h. attachList ener(h,"mo usedown",f unction(){ E=0});if(C KEDITOR.en v.ie&&!q){ var t;h.at tachListen er(h,"mous edown",fun ction(a){2 ==a.data.$ .button&&( (a=d.docum ent.getSel ection())& &a.getType ()!=CKEDIT OR.SELECTI ON_NONE||( t=d.window .getScroll Position() ))});        
379   h.attachLi stener(h," mouseup",f unction(a) {2==a.data .$.button& &t&&(d.doc ument.$.do cumentElem ent.scroll Left=t.x,d .document. $.document Element.sc rollTop=t. y);t=null} );if("Back Compat"!=f .$.compatM ode){if(CK EDITOR.env .ie7Compat ||CKEDITOR .env.ie6Co mpat)k.on( "mousedown ",function (a){functi on b(a){a= a.data.$;i f(d){var c =l.$.creat eTextRange ();try{c.m oveToPoint (a.clientX ,a.clientY )}catch(f) {}d.setEnd Point(0>e. compareEnd Points("St artToStart ",c)?"EndT oEnd":"Sta rtToStart" ,c);d.sele ct()}}func tion c(){k .removeLis tener("mou semove",        
380   b);g.remov eListener( "mouseup", c);k.remov eListener( "mouseup", c);d.selec t()}a=a.da ta;if(a.ge tTarget(). is("html") &&a.$.y<k. $.clientHe ight&&a.$. x<k.$.clie ntWidth){v ar d=l.$.c reateTextR ange();try {d.moveToP oint(a.$.c lientX,a.$ .clientY)} catch(f){} var e=d.du plicate(); k.on("mous emove",b); g.on("mous eup",c);k. on("mouseu p",c)}});i f(7<CKEDIT OR.env.ver sion&&11>C KEDITOR.en v.version) k.on("mous edown",fun ction(a){a .data.getT arget().is ("html")&& (g.on("mou seup",c),k .on("mouse up",c))})} }h.attachL istener(h, "selection change",        
381   a,d);h.att achListene r(h,"keyup ",e,d);h.a ttachListe ner(h,CKED ITOR.env.w ebkit?"DOM FocusIn":" focus",fun ction(){d. forceNextS electionCh eck();d.se lectionCha nge(1)});i f(q&&(CKED ITOR.env.w ebkit||CKE DITOR.env. gecko)){va r p;h.atta chListener (h,"moused own",funct ion(){p=1} );h.attach Listener(f .getDocume ntElement( ),"mouseup ",function (){p&&e.ca ll(d);p=0} )}else h.a ttachListe ner(CKEDIT OR.env.ie? h:f.getDoc umentEleme nt(),"mous eup",e,d); CKEDITOR.e nv.webkit& &h.attachL istener(f, "keydown", function(a ){switch(a .data.getK ey()){case  13:case 3 3:case 34: case 35:ca se 36:case  37:case 3 9:case 8:c ase 45:cas e 46:m(h)} },        
382   null,null, -1);h.atta chListener (h,"keydow n",n(d),nu ll,null,-1 )});d.on(" setData",f unction(){ d.unlockSe lection(); CKEDITOR.e nv.webkit& &c()});d.o n("content DomUnload" ,function( ){d.unlock Selection( )});if(CKE DITOR.env. ie9Compat) d.on("befo reDestroy" ,c,null,nu ll,9);d.on ("dataRead y",functio n(){delete  d._.fakeS election;d elete d._. hiddenSele ctionConta iner;d.sel ectionChan ge(1)});d. on("loadSn apshot",fu nction(){v ar a=CKEDI TOR.dom.wa lker.nodeT ype(CKEDIT OR.NODE_EL EMENT),b=d .editable( ).getLast( a);b&&b.ha sAttribute ("data-cke -hidden-se l")&&        
383   (b.remove( ),CKEDITOR .env.gecko &&(a=d.edi table().ge tFirst(a)) &&a.is("br ")&&a.getA ttribute(" _moz_edito r_bogus_no de")&&a.re move())},n ull,null,1 00);d.on(" key",funct ion(a){if( "wysiwyg"= =d.mode){v ar b=d.get Selection( );if(b.isF ake){var c =u[a.data. keyCode];i f(c)return  c({editor :d,selecte d:b.getSel ectedEleme nt(),selec tion:b,key Event:a})} }})});CKED ITOR.on("i nstanceRea dy",functi on(a){func tion b(){v ar a=d.edi table();if (a&&(a=k(a ))){var c= d.document .$.getSele ction();"N one"==c.ty pe||c.anch orNode!=a. $&&c.focus Node!=        
384   a.$||(e=l( c));g=a.ge tText();a. setText(f( g))}}funct ion c(){va r a=d.edit able();a&& (a=k(a))&& (a.setText (g),e&&(h( d.document .$,e),e=nu ll))}var d =a.editor, g,e;CKEDIT OR.env.web kit&&(d.on ("selectio nChange",f unction(){ var a=d.ed itable(),b =k(a);b&&( b.getCusto mData("rea dy")?m(a): b.setCusto mData("rea dy",1))},n ull,null,- 1),d.on("b eforeSetMo de",functi on(){m(d.e ditable()) },null,nul l,-1),d.on ("beforeUn doImage",b ),d.on("af terUndoIma ge",c),d.o n("beforeG etData",b, null,null, 0),d.on("g etData",c) )});CKEDIT OR.editor. prototype. selectionC hange=        
385   function(b ){(b?a:e). call(this) };CKEDITOR .editor.pr ototype.ge tSelection =function( a){return! this._.sav edSelectio n&&!this._ .fakeSelec tion||a?(a =this.edit able())&&" wysiwyg"== this.mode? new CKEDIT OR.dom.sel ection(a): null:this. _.savedSel ection||th is._.fakeS election}; CKEDITOR.e ditor.prot otype.lock Selection= function(a ){a=a||thi s.getSelec tion(1);re turn a.get Type()!=CK EDITOR.SEL ECTION_NON E?(!a.isLo cked&&a.lo ck(),this. _.savedSel ection=a,! 0):!1};CKE DITOR.edit or.prototy pe.unlockS election=f unction(a) {var b=thi s._.savedS election;        
386   return b?( b.unlock(a ),delete t his._.save dSelection ,!0):!1};C KEDITOR.ed itor.proto type.force NextSelect ionCheck=f unction(){ delete thi s._.select ionPreviou sPath};CKE DITOR.dom. document.p rototype.g etSelectio n=function (){return  new CKEDIT OR.dom.sel ection(thi s)};CKEDIT OR.dom.ran ge.prototy pe.select= function() {var a=thi s.root ins tanceof CK EDITOR.edi table?this .root.edit or.getSele ction():ne w CKEDITOR .dom.selec tion(this. root);a.se lectRanges ([this]);r eturn a};C KEDITOR.SE LECTION_NO NE=1;CKEDI TOR.SELECT ION_TEXT=2 ;        
387   CKEDITOR.S ELECTION_E LEMENT=3;v ar w="func tion"!=typ eof window .getSelect ion,y=1;CK EDITOR.dom .selection =function( a){if(a in stanceof C KEDITOR.do m.selectio n){var b=a ;a=a.root} var c=a in stanceof C KEDITOR.do m.element; this.rev=b ?b.rev:y++ ;this.docu ment=a ins tanceof CK EDITOR.dom .document? a:a.getDoc ument();th is.root=c? a:this.doc ument.getB ody();this .isLocked= 0;this._={ cache:{}}; if(b)retur n CKEDITOR .tools.ext end(this._ .cache,b._ .cache),th is.isFake= b.isFake,t his.isLock ed=b.isLoc ked,this;a =this.getN ative();va r d,        
388   f;if(a)if( a.getRange At)d=(f=a. rangeCount &&a.getRan geAt(0))&& new CKEDIT OR.dom.nod e(f.common AncestorCo ntainer);e lse{try{f= a.createRa nge()}catc h(g){}d=f& &CKEDITOR. dom.elemen t.get(f.it em&&f.item (0)||f.par entElement ())}if(!d| |d.type!=C KEDITOR.NO DE_ELEMENT &&d.type!= CKEDITOR.N ODE_TEXT|| !this.root .equals(d) &&!this.ro ot.contain s(d))this. _.cache.ty pe=CKEDITO R.SELECTIO N_NONE,thi s._.cache. startEleme nt=null,th is._.cache .selectedE lement=nul l,this._.c ache.selec tedText="" ,this._.ca che.ranges =new CKEDI TOR.dom.ra ngeList;        
389   return thi s};var B={ img:1,hr:1 ,li:1,tabl e:1,tr:1,t d:1,th:1,e mbed:1,obj ect:1,ol:1 ,ul:1,a:1, input:1,fo rm:1,selec t:1,textar ea:1,butto n:1,fields et:1,thead :1,tfoot:1 };CKEDITOR .dom.selec tion.proto type={getN ative:func tion(){ret urn void 0 !==this._. cache.nati veSel?this ._.cache.n ativeSel:t his._.cach e.nativeSe l=w?this.d ocument.$. selection: this.docum ent.getWin dow().$.ge tSelection ()},getTyp e:w?functi on(){var a =this._.ca che;if(a.t ype)return  a.type;va r b=CKEDIT OR.SELECTI ON_NONE;tr y{var c=th is.getNati ve(),d=c.t ype;        
390   "Text"==d& &(b=CKEDIT OR.SELECTI ON_TEXT);" Control"== d&&(b=CKED ITOR.SELEC TION_ELEME NT);c.crea teRange(). parentElem ent()&&(b= CKEDITOR.S ELECTION_T EXT)}catch (f){}retur n a.type=b }:function (){var a=t his._.cach e;if(a.typ e)return a .type;var  b=CKEDITOR .SELECTION _TEXT,c=th is.getNati ve();if(!c ||!c.range Count)b=CK EDITOR.SEL ECTION_NON E;else if( 1==c.range Count){var  c=c.getRa ngeAt(0),d =c.startCo ntainer;d= =c.endCont ainer&&1== d.nodeType &&1==c.end Offset-c.s tartOffset &&B[d.chil dNodes[c.s tartOffset ].nodeName .toLowerCa se()]&&        
391   (b=CKEDITO R.SELECTIO N_ELEMENT) }return a. type=b},ge tRanges:fu nction(){v ar a=w?fun ction(){fu nction a(b ){return(n ew CKEDITO R.dom.node (b)).getIn dex()}var  b=function (b,c){b=b. duplicate( );b.collap se(c);var  d=b.parent Element(); if(!d.hasC hildNodes( ))return{c ontainer:d ,offset:0} ;for(var f =d.childre n,g,e,h=b. duplicate( ),l=0,k=f. length-1,m =-1,n,q;l< =k;)if(m=M ath.floor( (l+k)/2),g =f[m],h.mo veToElemen tText(g),n =h.compare EndPoints( "StartToSt art",b),0< n)k=m-1;el se if(0>n) l=m+1;else  return{co ntainer:d, offset:a(g )};        
392   if(-1==m|| m==f.lengt h-1&&0>n){ h.moveToEl ementText( d);h.setEn dPoint("St artToStart ",b);h=h.t ext.replac e(/(\r\n|\ r)/g,"\n") .length;f= d.childNod es;if(!h)r eturn g=f[ f.length-1 ],g.nodeTy pe!=CKEDIT OR.NODE_TE XT?{contai ner:d,offs et:f.lengt h}:{contai ner:g,offs et:g.nodeV alue.lengt h};for(d=f .length;0< h&&0<d;)e= f[--d],e.n odeType==C KEDITOR.NO DE_TEXT&&( q=e,h-=e.n odeValue.l ength);ret urn{contai ner:q,offs et:-h}}h.c ollapse(0< n?!0:!1);h .setEndPoi nt(0<n?"St artToStart ":"EndToSt art",b);h= h.text.rep lace(/(\r\ n|\r)/g,"\ n").length ;        
393   if(!h)retu rn{contain er:d,offse t:a(g)+(0< n?0:1)};fo r(;0<h;)tr y{e=g[0<n? "previousS ibling":"n extSibling "],e.nodeT ype==CKEDI TOR.NODE_T EXT&&(h-=e .nodeValue .length,q= e),g=e}cat ch(u){retu rn{contain er:d,offse t:a(g)}}re turn{conta iner:q,off set:0<n?-h :q.nodeVal ue.length+ h}};return  function( ){var a=th is.getNati ve(),c=a&& a.createRa nge(),d=th is.getType ();if(!a)r eturn[];if (d==CKEDIT OR.SELECTI ON_TEXT)re turn a=new  CKEDITOR. dom.range( this.root) ,d=b(c,!0) ,a.setStar t(new CKED ITOR.dom.n ode(d.cont ainer),d.o ffset),d=b (c),        
394   a.setEnd(n ew CKEDITO R.dom.node (d.contain er),d.offs et),a.endC ontainer.g etPosition (a.startCo ntainer)&C KEDITOR.PO SITION_PRE CEDING&&a. endOffset< =a.startCo ntainer.ge tIndex()&& a.collapse (),[a];if( d==CKEDITO R.SELECTIO N_ELEMENT) {for(var d =[],f=0;f< c.length;f ++){for(va r g=c.item (f),e=g.pa rentNode,h =0,a=new C KEDITOR.do m.range(th is.root);h <e.childNo des.length &&e.childN odes[h]!=g ;h++);a.se tStart(new  CKEDITOR. dom.node(e ),h);a.set End(new CK EDITOR.dom .node(e),h +1);d.push (a)}return  d}return[ ]}}():func tion(){var  a=        
395   [],b,c=thi s.getNativ e();if(!c) return a;f or(var d=0 ;d<c.range Count;d++) {var f=c.g etRangeAt( d);b=new C KEDITOR.do m.range(th is.root);b .setStart( new CKEDIT OR.dom.nod e(f.startC ontainer), f.startOff set);b.set End(new CK EDITOR.dom .node(f.en dContainer ),f.endOff set);a.pus h(b)}retur n a};retur n function (b){var c= this._.cac he,d=c.ran ges;d||(c. ranges=d=n ew CKEDITO R.dom.rang eList(a.ca ll(this))) ;return b? r(new CKED ITOR.dom.r angeList(d .slice())) :d}}(),get StartEleme nt:functio n(){var a= this._.cac he;if(void  0!==a.sta rtElement) return a.s tartElemen t;        
396   var b;swit ch(this.ge tType()){c ase CKEDIT OR.SELECTI ON_ELEMENT :return th is.getSele ctedElemen t();case C KEDITOR.SE LECTION_TE XT:var c=t his.getRan ges()[0];i f(c){if(c. collapsed) b=c.startC ontainer,b .type!=CKE DITOR.NODE _ELEMENT&& (b=b.getPa rent());el se{for(c.o ptimize(); b=c.startC ontainer,c .startOffs et==(b.get ChildCount ?b.getChil dCount():b .getLength ())&&!b.is BlockBound ary();)c.s etStartAft er(b);b=c. startConta iner;if(b. type!=CKED ITOR.NODE_ ELEMENT)re turn b.get Parent();i f((b=b.get Child(c.st artOffset) )&&b.type= =        
397   CKEDITOR.N ODE_ELEMEN T)for(c=b. getFirst() ;c&&c.type ==CKEDITOR .NODE_ELEM ENT;)b=c,c =c.getFirs t();else b =c.startCo ntainer}b= b.$}}retur n a.startE lement=b?n ew CKEDITO R.dom.elem ent(b):nul l},getSele ctedElemen t:function (){var a=t his._.cach e;if(void  0!==a.sele ctedElemen t)return a .selectedE lement;var  b=this,c= CKEDITOR.t ools.tryTh ese(functi on(){retur n b.getNat ive().crea teRange(). item(0)},f unction(){ for(var a= b.getRange s()[0].clo ne(),c,d,f =2;f&&!((c =a.getEncl osedNode() )&&c.type= =CKEDITOR. NODE_ELEME NT&&B[c.ge tName()]&&        
398   (d=c));f-- )a.shrink( CKEDITOR.S HRINK_ELEM ENT);retur n d&&d.$}) ;return a. selectedEl ement=c?ne w CKEDITOR .dom.eleme nt(c):null },getSelec tedText:fu nction(){v ar a=this. _.cache;if (void 0!== a.selected Text)retur n a.select edText;var  b=this.ge tNative(), b=w?"Contr ol"==b.typ e?"":b.cre ateRange() .text:b.to String();r eturn a.se lectedText =b},lock:f unction(){ this.getRa nges();thi s.getStart Element(); this.getSe lectedElem ent();this .getSelect edText();t his._.cach e.nativeSe l=null;thi s.isLocked =1},unlock :function( a){if(this .isLocked) {if(a)var  b=        
399   this.getSe lectedElem ent(),c=!b &&this.get Ranges(),d =this.isFa ke;this.is Locked=0;t his.reset( );a&&(a=b| |c[0]&&c[0 ].getCommo nAncestor( ))&&a.getA scendant(" body",1)&& (d?this.fa ke(b):b?th is.selectE lement(b): this.selec tRanges(c) )}},reset: function() {this._.ca che={};thi s.isFake=0 ;var a=thi s.root.edi tor;if(a&& a._.fakeSe lection&&t his.rev==a ._.fakeSel ection.rev ){delete a ._.fakeSel ection;var  b=a._.hid denSelecti onContaine r;if(b){va r c=a.chec kDirty();a .fire("loc kSnapshot" );b.remove ();a.fire( "unlockSna pshot");!c &&        
400   a.resetDir ty()}delet e a._.hidd enSelectio nContainer }this.rev= y++},selec tElement:f unction(a) {var b=new  CKEDITOR. dom.range( this.root) ;b.setStar tBefore(a) ;b.setEndA fter(a);th is.selectR anges([b]) },selectRa nges:funct ion(a){var  b=this.ro ot.editor, b=b&&b._.h iddenSelec tionContai ner;this.r eset();if( b)for(var  b=this.roo t,c,f=0;f< a.length;+ +f)c=a[f], c.endConta iner.equal s(b)&&(c.e ndOffset=M ath.min(c. endOffset, b.getChild Count())); if(a.lengt h)if(this. isLocked){ var g=CKED ITOR.docum ent.getAct ive();this .unlock(); this.selec tRanges(a) ;        
401   this.lock( );g&&!g.eq uals(this. root)&&g.f ocus()}els e{var e;a: {var h,l;i f(1==a.len gth&&!(l=a [0]).colla psed&&(e=l .getEnclos edNode())& &e.type==C KEDITOR.NO DE_ELEMENT &&(l=l.clo ne(),l.shr ink(CKEDIT OR.SHRINK_ ELEMENT,!0 ),(h=l.get EnclosedNo de())&&h.t ype==CKEDI TOR.NODE_E LEMENT&&(e =h),"false "==e.getAt tribute("c ontentedit able")))br eak a;e=vo id 0}if(e) this.fake( e);else{if (w){l=CKED ITOR.dom.w alker.whit espaces(!0 );h=/\ufef f|\u00a0/; b={table:1 ,tbody:1,t r:1};1<a.l ength&&(e= a[a.length -1],a[0].s etEnd(e.en dContainer ,        
402   e.endOffse t));e=a[0] ;a=e.colla psed;var k ,n,q;if((c =e.getEncl osedNode() )&&c.type= =CKEDITOR. NODE_ELEME NT&&c.getN ame()in B& &(!c.is("a ")||!c.get Text()))tr y{q=c.$.cr eateContro lRange();q .addElemen t(c.$);q.s elect();re turn}catch (E){}if(e. startConta iner.type= =CKEDITOR. NODE_ELEME NT&&e.star tContainer .getName() in b||e.en dContainer .type==CKE DITOR.NODE _ELEMENT&& e.endConta iner.getNa me()in b)e .shrink(CK EDITOR.NOD E_ELEMENT, !0),a=e.co llapsed;q= e.createBo okmark();b =q.startNo de;a||(g=q .endNode); q=e.docume nt.$.body. createText Range();        
403   q.moveToEl ementText( b.$);q.mov eStart("ch aracter",1 );g?(h=e.d ocument.$. body.creat eTextRange (),h.moveT oElementTe xt(g.$),q. setEndPoin t("EndToEn d",h),q.mo veEnd("cha racter",-1 )):(k=b.ge tNext(l),n =b.hasAsce ndant("pre "),k=!(k&& k.getText& &k.getText ().match(h ))&&(n||!b .hasPrevio us()||b.ge tPrevious( ).is&&b.ge tPrevious( ).is("br") ),n=e.docu ment.creat eElement(" span"),n.s etHtml("\x 26#65279;" ),n.insert Before(b), k&&e.docum ent.create Text(""). insertBefo re(b));e.s etStartBef ore(b);b.r emove();a? (k?(q.move Start("cha racter",        
404   -1),q.sele ct(),e.doc ument.$.se lection.cl ear()):q.s elect(),e. moveToPosi tion(n,CKE DITOR.POSI TION_BEFOR E_START),n .remove()) :(e.setEnd Before(g), g.remove() ,q.select( ))}else{g= this.getNa tive();if( !g)return; this.remov eAllRanges ();for(q=0 ;q<a.lengt h;q++){if( q<a.length -1&&(k=a[q ],n=a[q+1] ,h=k.clone (),h.setSt art(k.endC ontainer,k .endOffset ),h.setEnd (n.startCo ntainer,n. startOffse t),!h.coll apsed&&(h. shrink(CKE DITOR.NODE _ELEMENT,! 0),e=h.get CommonAnce stor(),h=h .getEnclos edNode(),e .isReadOnl y()||h&&h. isReadOnly ()))){n.se tStart(k.s tartContai ner,        
405   k.startOff set);a.spl ice(q--,1) ;continue} e=a[q];n=t his.docume nt.$.creat eRange();e .collapsed &&CKEDITOR .env.webki t&&d(e)&&( k=this.roo t,m(k,!1), h=k.getDoc ument().cr eateText(" ​"),k.setC ustomData( "cke-filli ngChar",h) ,e.insertN ode(h),(k= h.getNext( ))&&!h.get Previous() &&k.type== CKEDITOR.N ODE_ELEMEN T&&"br"==k .getName() ?(m(this.r oot),e.mov eToPositio n(k,CKEDIT OR.POSITIO N_BEFORE_S TART)):e.m oveToPosit ion(h,CKED ITOR.POSIT ION_AFTER_ END));n.se tStart(e.s tartContai ner.$,e.st artOffset) ;try{n.set End(e.endC ontainer.$ ,        
406   e.endOffse t)}catch(u ){if(0<=u. toString() .indexOf(" NS_ERROR_I LLEGAL_VAL UE"))e.col lapse(1),n .setEnd(e. endContain er.$,e.end Offset);el se throw u ;}g.addRan ge(n)}}thi s.reset(); this.root. fire("sele ctionchang e")}}},fak e:function (a){var b= this.root. editor;thi s.reset(); g(b);var c =this._.ca che,d=new  CKEDITOR.d om.range(t his.root); d.setStart Before(a); d.setEndAf ter(a);c.r anges=new  CKEDITOR.d om.rangeLi st(d);c.se lectedElem ent=c.star tElement=a ;c.type=CK EDITOR.SEL ECTION_ELE MENT;c.sel ectedText= c.nativeSe l=null;thi s.isFake=        
407   1;this.rev =y++;b._.f akeSelecti on=this;th is.root.fi re("select ionchange" )},isHidde n:function (){var a=t his.getCom monAncesto r();a&&a.t ype==CKEDI TOR.NODE_T EXT&&(a=a. getParent( ));return! (!a||!a.da ta("cke-hi dden-sel") )},createB ookmarks:f unction(a) {a=this.ge tRanges(). createBook marks(a);t his.isFake &&(a.isFak e=1);retur n a},creat eBookmarks 2:function (a){a=this .getRanges ().createB ookmarks2( a);this.is Fake&&(a.i sFake=1);r eturn a},s electBookm arks:funct ion(a){for (var b=[], c,d=0;d<a. length;d++ ){var f=ne w CKEDITOR .dom.range (this.root );        
408   f.moveToBo okmark(a[d ]);b.push( f)}a.isFak e&&(c=b[0] .getEnclos edNode(),c &&c.type== CKEDITOR.N ODE_ELEMEN T||(a.isFa ke=0));a.i sFake?this .fake(c):t his.select Ranges(b); return thi s},getComm onAncestor :function( ){var a=th is.getRang es();retur n a.length ?a[0].star tContainer .getCommon Ancestor(a [a.length- 1].endCont ainer):nul l},scrollI ntoView:fu nction(){t his.type!= CKEDITOR.S ELECTION_N ONE&&this. getRanges( )[0].scrol lIntoView( )},removeA llRanges:f unction(){ if(this.ge tType()!=C KEDITOR.SE LECTION_NO NE){var a= this.getNa tive();        
409   try{a&&a[w ?"empty":" removeAllR anges"]()} catch(b){} this.reset ()}}}}()," use strict ",CKEDITOR .STYLE_BLO CK=1,CKEDI TOR.STYLE_ INLINE=2,C KEDITOR.ST YLE_OBJECT =3,functio n(){functi on a(a,b){ for(var c, d;(a=a.get Parent())& &!a.equals (b);)if(a. getAttribu te("data-n ostyle"))c =a;else if (!d){var f =a.getAttr ibute("con tentEditab le");"fals e"==f?c=a: "true"==f& &(d=1)}ret urn c}func tion e(a,b ,c,d){retu rn(a.getPo sition(b)| d)==d&&(!c .childRule ||c.childR ule(a))}fu nction b(c ){var f=c. document;i f(c.collap sed)f=w(th is,f),c.in sertNode(f ),        
410   c.moveToPo sition(f,C KEDITOR.PO SITION_BEF ORE_END);e lse{var g= this.eleme nt,h=this. _.definiti on,l,k=h.i gnoreReado nly,m=k||h .includeRe adonly;nul l==m&&(m=c .root.getC ustomData( "cke_inclu deReadonly "));var n= CKEDITOR.d td[g];n||( l=!0,n=CKE DITOR.dtd. span);c.en large(CKED ITOR.ENLAR GE_INLINE, 1);c.trim( );var u=c. createBook mark(),t=u .startNode ,p=u.endNo de,y=t,r;i f(!k){var  v=c.getCom monAncesto r(),k=a(t, v),v=a(p,v );k&&(y=k. getNextSou rceNode(!0 ));v&&(p=v )}for(y.ge tPosition( p)==CKEDIT OR.POSITIO N_FOLLOWIN G&&(y=0);y ;){k=        
411   !1;if(y.eq uals(p))y= null,k=!0; else{var B =y.type==C KEDITOR.NO DE_ELEMENT ?y.getName ():null,v= B&&"false" ==y.getAtt ribute("co ntentEdita ble"),z=B& &y.getAttr ibute("dat a-nostyle" );if(B&&y. data("cke- bookmark") ){y=y.getN extSourceN ode(!0);co ntinue}if( v&&m&&CKED ITOR.dtd.$ block[B])f or(var C=y ,x=d(C),A= void 0,D=x .length,G= 0,C=D&&new  CKEDITOR. dom.range( C.getDocum ent());G<D ;++G){var  A=x[G],ga= CKEDITOR.f ilter.inst ances[A.da ta("cke-fi lter")];if (ga?ga.che ck(this):1 )C.selectN odeContent s(A),b.cal l(this,C)} x=B?!n[B]| |        
412   z?0:v&&!m? 0:e(y,p,h, H):1;if(x) if(A=y.get Parent(),x =h,D=g,G=l ,!A||!(A.g etDtd()||C KEDITOR.dt d.span)[D] &&!G||x.pa rentRule&& !x.parentR ule(A))k=! 0;else{if( r||B&&CKED ITOR.dtd.$ removeEmpt y[B]&&(y.g etPosition (p)|H)!=H| |(r=c.clon e(),r.setS tartBefore (y)),B=y.t ype,B==CKE DITOR.NODE _TEXT||v|| B==CKEDITO R.NODE_ELE MENT&&!y.g etChildCou nt()){for( var B=y,fa ;(k=!B.get Next(F))&& (fa=B.getP arent(),n[ fa.getName ()])&&e(fa ,t,h,K);)B =fa;r.setE ndAfter(B) }}else k=! 0;y=y.getN extSourceN ode(z||v)} if(k&&r&&! r.collapse d){for(var  k=        
413   w(this,f), v=k.hasAtt ributes(), z=r.getCom monAncesto r(),B={},x ={},A={},D ={},I,Z,ha ;k&&z;){if (z.getName ()==g){for (I in h.at tributes)! D[I]&&(ha= z.getAttri bute(Z))&& (k.getAttr ibute(I)== ha?x[I]=1: D[I]=1);fo r(Z in h.s tyles)!A[Z ]&&(ha=z.g etStyle(Z) )&&(k.getS tyle(Z)==h a?B[Z]=1:A [Z]=1)}z=z .getParent ()}for(I i n x)k.remo veAttribut e(I);for(Z  in B)k.re moveStyle( Z);v&&!k.h asAttribut es()&&(k=n ull);k?(r. extractCon tents().ap pendTo(k), r.insertNo de(k),q.ca ll(this,k) ,k.mergeSi blings(),C KEDITOR.en v.ie||k.$. normalize( )):        
414   (k=new CKE DITOR.dom. element("s pan"),r.ex tractConte nts().appe ndTo(k),r. insertNode (k),q.call (this,k),k .remove(!0 ));r=null} }c.moveToB ookmark(u) ;c.shrink( CKEDITOR.S HRINK_TEXT );c.shrink (CKEDITOR. NODE_ELEME NT,!0)}}fu nction c(a ){function  b(){for(v ar a=new C KEDITOR.do m.elementP ath(d.getP arent()),c =new CKEDI TOR.dom.el ementPath( k.getParen t()),f=nul l,g=null,e =0;e<a.ele ments.leng th;e++){va r h=a.elem ents[e];if (h==a.bloc k||h==a.bl ockLimit)b reak;m.che ckElementR emovable(h ,!0)&&(f=h )}for(e=0; e<c.elemen ts.length; e++){h=        
415   c.elements [e];if(h== c.block||h ==c.blockL imit)break ;m.checkEl ementRemov able(h,!0) &&(g=h)}g& &k.breakPa rent(g);f& &d.breakPa rent(f)}a. enlarge(CK EDITOR.ENL ARGE_INLIN E,1);var c =a.createB ookmark(), d=c.startN ode;if(a.c ollapsed){ for(var f= new CKEDIT OR.dom.ele mentPath(d .getParent (),a.root) ,g,e=0,h;e <f.element s.length&& (h=f.eleme nts[e])&&h !=f.block& &h!=f.bloc kLimit;e++ )if(this.c heckElemen tRemovable (h)){var l ;a.collaps ed&&(a.che ckBoundary OfElement( h,CKEDITOR .END)||(l= a.checkBou ndaryOfEle ment(h,CKE DITOR.STAR T)))?        
416   (g=h,g.mat ch=l?"star t":"end"): (h.mergeSi blings(),h .is(this.e lement)?t. call(this, h):p(h,v(t his)[h.get Name()]))} if(g){h=d; for(e=0;;e ++){l=f.el ements[e]; if(l.equal s(g))break ;else if(l .match)con tinue;else  l=l.clone ();l.appen d(h);h=l}h ["start"== g.match?"i nsertBefor e":"insert After"](g) }}else{var  k=c.endNo de,m=this; b();for(f= d;!f.equal s(k);)g=f. getNextSou rceNode(), f.type==CK EDITOR.NOD E_ELEMENT& &this.chec kElementRe movable(f) &&(f.getNa me()==this .element?t .call(this ,f):p(f,v( this)[f.ge tName()]), g.type==CK EDITOR.NOD E_ELEMENT& &        
417   g.contains (d)&&(b(), g=d.getNex t())),f=g} a.moveToBo okmark(c); a.shrink(C KEDITOR.NO DE_ELEMENT ,!0)}funct ion d(a){v ar b=[];a. forEach(fu nction(a){ if("true"= =a.getAttr ibute("con tenteditab le"))retur n b.push(a ),!1},CKED ITOR.NODE_ ELEMENT,!0 );return b }function  k(a){var b =a.getEncl osedNode() ||a.getCom monAncesto r(!1,!0);( a=(new CKE DITOR.dom. elementPat h(b,a.root )).contain s(this.ele ment,1))&& !a.isReadO nly()&&y(a ,this)}fun ction m(a) {var b=a.g etCommonAn cestor(!0, !0);if(a=( new CKEDIT OR.dom.ele mentPath(b ,a.root)). contains(t his.elemen t,        
418   1)){var b= this._.def inition,c= b.attribut es;if(c)fo r(var d in  c)a.remov eAttribute (d,c[d]);i f(b.styles )for(var f  in b.styl es)b.style s.hasOwnPr operty(f)& &a.removeS tyle(f)}}f unction f( a){var b=a .createBoo kmark(!0), c=a.create Iterator() ;c.enforce RealBlocks =!0;this._ .enterMode &&(c.enlar geBr=this. _.enterMod e!=CKEDITO R.ENTER_BR );for(var  d,f=a.docu ment,g;d=c .getNextPa ragraph(); )!d.isRead Only()&&(c .activeFil ter?c.acti veFilter.c heck(this) :1)&&(g=w( this,f,d), h(d,g));a. moveToBook mark(b)}fu nction l(a ){var b=a. createBook mark(1),        
419   c=a.create Iterator() ;c.enforce RealBlocks =!0;c.enla rgeBr=this ._.enterMo de!=CKEDIT OR.ENTER_B R;for(var  d,f;d=c.ge tNextParag raph();)th is.checkEl ementRemov able(d)&&( d.is("pre" )?((f=this ._.enterMo de==CKEDIT OR.ENTER_B R?null:a.d ocument.cr eateElemen t(this._.e nterMode== CKEDITOR.E NTER_P?"p" :"div"))&& d.copyAttr ibutes(f), h(d,f)):t. call(this, d));a.move ToBookmark (b)}functi on h(a,b){ var c=!b;c &&(b=a.get Document() .createEle ment("div" ),a.copyAt tributes(b ));var d=b &&b.is("pr e"),f=a.is ("pre"),e= !d&&f;if(d &&!f){f=b; (e=        
420   a.getBogus ())&&e.rem ove();e=a. getHtml(); e=n(e,/(?: ^[ \t\n\r] +)|(?:[ \t \n\r]+$)/g ,"");e=e.r eplace(/[  \t\r\n]*(< br[^>]*>)[  \t\r\n]*/ gi,"$1");e =e.replace (/([ \t\n\ r]+|&nbsp; )/g," ");e =e.replace (/<br\b[^> ]*>/gi,"\n ");if(CKED ITOR.env.i e){var h=a .getDocume nt().creat eElement(" div");h.ap pend(f);f. $.outerHTM L="\x3cpre \x3e"+e+"\ x3c/pre\x3 e";f.copyA ttributes( h.getFirst ());f=h.ge tFirst().r emove()}el se f.setHt ml(e);b=f} else e?b=r (c?[a.getH tml()]:g(a ),b):a.mov eChildren( b);b.repla ce(a);if(d ){var c=b, l;(l=c.get Previous(I ))&&        
421   l.type==CK EDITOR.NOD E_ELEMENT& &l.is("pre ")&&(d=n(l .getHtml() ,/\n$/,"") +"\n\n"+n( c.getHtml( ),/^\n/,"" ),CKEDITOR .env.ie?c. $.outerHTM L="\x3cpre \x3e"+d+"\ x3c/pre\x3 e":c.setHt ml(d),l.re move())}el se c&&u(b) }function  g(a){var b =[];n(a.ge tOuterHtml (),/(\S\s* )\n(?:\s|( <span[^>]+ data-cke-b ookmark.*? \/span>))* \n(?!$)/gi ,function( a,b,c){ret urn b+"\x3 c/pre\x3e" +c+"\x3cpr e\x3e"}).r eplace(/<p re\b.*?>([ \s\S]*?)<\ /pre>/gi,f unction(a, c){b.push( c)});retur n b}functi on n(a,b,c ){var d="" ,f="";a=a. replace(/( ^<span[^>] +data-cke- bookmark.* ?\/span>)| (<span[^>] +data-cke- bookmark.* ?\/span>$) /gi,        
422   function(a ,b,c){b&&( d=b);c&&(f =c);return ""});retur n d+a.repl ace(b,c)+f }function  r(a,b){var  c;1<a.len gth&&(c=ne w CKEDITOR .dom.docum entFragmen t(b.getDoc ument())); for(var d= 0;d<a.leng th;d++){va r f=a[d],f =f.replace (/(\r\n|\r )/g,"\n"), f=n(f,/^[  \t]*\n/,"" ),f=n(f,/\ n$/,""),f= n(f,/^[ \t ]+|[ \t]+$ /g,functio n(a,b){ret urn 1==a.l ength?"\x2 6nbsp;":b? " "+CKEDIT OR.tools.r epeat("\x2 6nbsp;",a. length-1): CKEDITOR.t ools.repea t("\x26nbs p;",a.leng th-1)+" "} ),f=f.repl ace(/\n/g, "\x3cbr\x3 e"),f=f.re place(/[ \ t]{2,}/g,f unction(a) {return CK EDITOR.too ls.repeat( "\x26nbsp; ",        
423   a.length-1 )+" "});if (c){var g= b.clone(); g.setHtml( f);c.appen d(g)}else  b.setHtml( f)}return  c||b}funct ion t(a,b) {var c=thi s._.defini tion,d=c.a ttributes, c=c.styles ,f=v(this) [a.getName ()],g=CKED ITOR.tools .isEmpty(d )&&CKEDITO R.tools.is Empty(c),e ;for(e in  d)if("clas s"!=e&&!th is._.defin ition.full Match||a.g etAttribut e(e)==z(e, d[e]))b&&" data-"==e. slice(0,5) ||(g=a.has Attribute( e),a.remov eAttribute (e));for(v ar h in c) this._.def inition.fu llMatch&&a .getStyle( h)!=z(h,c[ h],!0)||(g =g||!!a.ge tStyle(h), a.removeSt yle(h));        
424   p(a,f,x[a. getName()] );g&&(this ._.definit ion.always RemoveElem ent?u(a,1) :!CKEDITOR .dtd.$bloc k[a.getNam e()]||this ._.enterMo de==CKEDIT OR.ENTER_B R&&!a.hasA ttributes( )?u(a):a.r enameNode( this._.ent erMode==CK EDITOR.ENT ER_P?"p":" div"))}fun ction q(a) {for(var b =v(this),c =a.getElem entsByTag( this.eleme nt),d,f=c. count();0< =--f;)d=c. getItem(f) ,d.isReadO nly()||t.c all(this,d ,!0);for(v ar g in b) if(g!=this .element)f or(c=a.get ElementsBy Tag(g),f=c .count()-1 ;0<=f;f--) d=c.getIte m(f),d.isR eadOnly()| |p(d,b[g]) }function  p(a,        
425   b,c){if(b= b&&b.attri butes)for( var d=0;d< b.length;d ++){var f= b[d][0],g; if(g=a.get Attribute( f)){var e= b[d][1];(n ull===e||e .test&&e.t est(g)||"s tring"==ty peof e&&g= =e)&&a.rem oveAttribu te(f)}}c|| u(a)}funct ion u(a,b) {if(!a.has Attributes ()||b)if(C KEDITOR.dt d.$block[a .getName() ]){var c=a .getPrevio us(I),d=a. getNext(I) ;!c||c.typ e!=CKEDITO R.NODE_TEX T&&c.isBlo ckBoundary ({br:1})|| a.append(" br",1);!d| |d.type!=C KEDITOR.NO DE_TEXT&&d .isBlockBo undary({br :1})||a.ap pend("br") ;a.remove( !0)}else c =a.getFirs t(),d=a.ge tLast(),        
426   a.remove(! 0),c&&(c.t ype==CKEDI TOR.NODE_E LEMENT&&c. mergeSibli ngs(),d&&! c.equals(d )&&d.type= =CKEDITOR. NODE_ELEME NT&&d.merg eSiblings( ))}functio n w(a,b,c) {var d;d=a .element;" *"==d&&(d= "span");d= new CKEDIT OR.dom.ele ment(d,b); c&&c.copyA ttributes( d);d=y(d,a );b.getCus tomData("d oc_process ing_style" )&&d.hasAt tribute("i d")?d.remo veAttribut e("id"):b. setCustomD ata("doc_p rocessing_ style",1); return d}f unction y( a,b){var c =b._.defin ition,d=c. attributes ,c=CKEDITO R.style.ge tStyleText (c);if(d)f or(var f i n d)a.setA ttribute(f ,        
427   d[f]);c&&a .setAttrib ute("style ",c);retur n a}functi on B(a,b){ for(var c  in a)a[c]= a[c].repla ce(G,funct ion(a,c){r eturn b[c] })}functio n v(a){if( a._.overri des)return  a._.overr ides;var b =a._.overr ides={},c= a._.defini tion.overr ides;if(c) {CKEDITOR. tools.isAr ray(c)||(c =[c]);for( var d=0;d< c.length;d ++){var f= c[d],g,e;" string"==t ypeof f?g= f.toLowerC ase():(g=f .element?f .element.t oLowerCase ():a.eleme nt,e=f.att ributes);f =b[g]||(b[ g]={});if( e){var f=f .attribute s=f.attrib utes||[],h ;for(h in  e)f.push([ h.toLowerC ase(),        
428   e[h]])}}}r eturn b}fu nction z(a ,b,c){var  d=new CKED ITOR.dom.e lement("sp an");d[c?" setStyle": "setAttrib ute"](a,b) ;return d[ c?"getStyl e":"getAtt ribute"](a )}function  C(a,b,c){ var d=a.do cument,f=a .getRanges ();b=b?thi s.removeFr omRange:th is.applyTo Range;for( var g,e=f. createIter ator();g=e .getNextRa nge();)b.c all(this,g ,c);a.sele ctRanges(f );d.remove CustomData ("doc_proc essing_sty le")}var x ={address: 1,div:1,h1 :1,h2:1,h3 :1,h4:1,h5 :1,h6:1,p: 1,pre:1,se ction:1,he ader:1,foo ter:1,nav: 1,article: 1,aside:1, figure:1,d ialog:1,        
429   hgroup:1,t ime:1,mete r:1,menu:1 ,command:1 ,keygen:1, output:1,p rogress:1, details:1, datagrid:1 ,datalist: 1},A={a:1, blockquote :1,embed:1 ,hr:1,img: 1,li:1,obj ect:1,ol:1 ,table:1,t d:1,tr:1,t h:1,ul:1,d l:1,dt:1,d d:1,form:1 ,audio:1,v ideo:1},D= /\s*(?:;\s *|$)/,G=/# \((.+?)\)/ g,F=CKEDIT OR.dom.wal ker.bookma rk(0,1),I= CKEDITOR.d om.walker. whitespace s(1);CKEDI TOR.style= function(a ,b){if("st ring"==typ eof a.type )return ne w CKEDITOR .style.cus tomHandler s[a.type]( a);var c=a .attribute s;c&&c.sty le&&(a.sty les=CKEDIT OR.tools.e xtend({},        
430   a.styles,C KEDITOR.to ols.parseC ssText(c.s tyle)),del ete c.styl e);b&&(a=C KEDITOR.to ols.clone( a),B(a.att ributes,b) ,B(a.style s,b));c=th is.element =a.element ?"string"= =typeof a. element?a. element.to LowerCase( ):a.elemen t:"*";this .type=a.ty pe||(x[c]? CKEDITOR.S TYLE_BLOCK :A[c]?CKED ITOR.STYLE _OBJECT:CK EDITOR.STY LE_INLINE) ;"object"= =typeof th is.element &&(this.ty pe=CKEDITO R.STYLE_OB JECT);this ._={defini tion:a}};C KEDITOR.st yle.protot ype={apply :function( a){if(a in stanceof C KEDITOR.do m.document )return C. call(this, a.getSelec tion());        
431   if(this.ch eckApplica ble(a.elem entPath(), a)){var b= this._.ent erMode;b|| (this._.en terMode=a. activeEnte rMode);C.c all(this,a .getSelect ion(),0,a) ;this._.en terMode=b} },remove:f unction(a) {if(a inst anceof CKE DITOR.dom. document)r eturn C.ca ll(this,a. getSelecti on(),1);if (this.chec kApplicabl e(a.elemen tPath(),a) ){var b=th is._.enter Mode;b||(t his._.ente rMode=a.ac tiveEnterM ode);C.cal l(this,a.g etSelectio n(),1,a);t his._.ente rMode=b}}, applyToRan ge:functio n(a){this. applyToRan ge=this.ty pe==CKEDIT OR.STYLE_I NLINE?b:th is.type==        
432   CKEDITOR.S TYLE_BLOCK ?f:this.ty pe==CKEDIT OR.STYLE_O BJECT?k:nu ll;return  this.apply ToRange(a) },removeFr omRange:fu nction(a){ this.remov eFromRange =this.type ==CKEDITOR .STYLE_INL INE?c:this .type==CKE DITOR.STYL E_BLOCK?l: this.type= =CKEDITOR. STYLE_OBJE CT?m:null; return thi s.removeFr omRange(a) },applyToO bject:func tion(a){y( a,this)},c heckActive :function( a,b){switc h(this.typ e){case CK EDITOR.STY LE_BLOCK:r eturn this .checkElem entRemovab le(a.block ||a.blockL imit,!0,b) ;case CKED ITOR.STYLE _OBJECT:ca se CKEDITO R.STYLE_IN LINE:for(v ar c=        
433   a.elements ,d=0,f;d<c .length;d+ +)if(f=c[d ],this.typ e!=CKEDITO R.STYLE_IN LINE||f!=a .block&&f! =a.blockLi mit){if(th is.type==C KEDITOR.ST YLE_OBJECT ){var g=f. getName(); if(!("stri ng"==typeo f this.ele ment?g==th is.element :g in this .element)) continue}i f(this.che ckElementR emovable(f ,!0,b))ret urn!0}}ret urn!1},che ckApplicab le:functio n(a,b,c){b &&b instan ceof CKEDI TOR.filter &&(c=b);if (c&&!c.che ck(this))r eturn!1;sw itch(this. type){case  CKEDITOR. STYLE_OBJE CT:return! !a.contain s(this.ele ment);case  CKEDITOR. STYLE_BLOC K:return!! a.blockLim it.getDtd( )[this.ele ment]}retu rn!0},        
434   checkEleme ntMatch:fu nction(a,b ){var c=th is._.defin ition;if(! a||!c.igno reReadonly &&a.isRead Only())ret urn!1;var  d=a.getNam e();if("st ring"==typ eof this.e lement?d== this.eleme nt:d in th is.element ){if(!b&&! a.hasAttri butes())re turn!0;if( d=c._AC)c= d;else{var  d={},f=0, g=c.attrib utes;if(g) for(var e  in g)f++,d [e]=g[e];i f(e=CKEDIT OR.style.g etStyleTex t(c))d.sty le||f++,d. style=e;d. _length=f; c=c._AC=d} if(c._leng th){for(va r h in c)i f("_length "!=h){f=a. getAttribu te(h)||""; if("style" ==h)a:{d=c [h];"strin g"==typeof  d&&        
435   (d=CKEDITO R.tools.pa rseCssText (d));"stri ng"==typeo f f&&(f=CK EDITOR.too ls.parseCs sText(f,!0 ));e=void  0;for(e in  d)if(!(e  in f)||f[e ]!=d[e]&&" inherit"!= d[e]&&"inh erit"!=f[e ]){d=!1;br eak a}d=!0 }else d=c[ h]==f;if(d ){if(!b)re turn!0}els e if(b)ret urn!1}if(b )return!0} else retur n!0}return !1},checkE lementRemo vable:func tion(a,b,c ){if(this. checkEleme ntMatch(a, b,c))retur n!0;if(b=v (this)[a.g etName()]) {var d;if( !(b=b.attr ibutes))re turn!0;for (c=0;c<b.l ength;c++) if(d=b[c][ 0],d=a.get Attribute( d)){var f= b[c][1];if (null===        
436   f)return!0 ;if("strin g"==typeof  f){if(d== f)return!0 }else if(f .test(d))r eturn!0}}r eturn!1},b uildPrevie w:function (a){var b= this._.def inition,c= [],d=b.ele ment;"bdo" ==d&&(d="s pan");var  c=["\x3c", d],f=b.att ributes;if (f)for(var  g in f)c. push(" ",g ,'\x3d"',f [g],'"');( f=CKEDITOR .style.get StyleText( b))&&c.pus h(' style\ x3d"',f,'" ');c.push( "\x3e",a|| b.name,"\x 3c/",d,"\x 3e");retur n c.join(" ")},getDef inition:fu nction(){r eturn this ._.definit ion}};CKED ITOR.style .getStyleT ext=functi on(a){var  b=a._ST;if (b)return  b;        
437   var b=a.st yles,c=a.a ttributes& &a.attribu tes.style| |"",d="";c .length&&( c=c.replac e(D,";")); for(var f  in b){var  g=b[f],e=( f+":"+g).r eplace(D," ;");"inher it"==g?d+= e:c+=e}c.l ength&&(c= CKEDITOR.t ools.norma lizeCssTex t(c,!0));r eturn a._S T=c+d};CKE DITOR.styl e.customHa ndlers={}; CKEDITOR.s tyle.addCu stomHandle r=function (a){var b= function(a ){this._={ definition :a};this.s etup&&this .setup(a)} ;b.prototy pe=CKEDITO R.tools.ex tend(CKEDI TOR.tools. prototyped Copy(CKEDI TOR.style. prototype) ,{assigned To:CKEDITO R.STYLE_OB JECT},        
438   a,!0);retu rn this.cu stomHandle rs[a.type] =b};var H= CKEDITOR.P OSITION_PR ECEDING|CK EDITOR.POS ITION_IDEN TICAL|CKED ITOR.POSIT ION_IS_CON TAINED,K=C KEDITOR.PO SITION_FOL LOWING|CKE DITOR.POSI TION_IDENT ICAL|CKEDI TOR.POSITI ON_IS_CONT AINED}(),C KEDITOR.st yleCommand =function( a,e){this. requiredCo ntent=this .allowedCo ntent=this .style=a;C KEDITOR.to ols.extend (this,e,!0 )},CKEDITO R.styleCom mand.proto type.exec= function(a ){a.focus( );this.sta te==CKEDIT OR.TRISTAT E_OFF?a.ap plyStyle(t his.style) :this.stat e==CKEDITO R.TRISTATE _ON&&        
439   a.removeSt yle(this.s tyle)},CKE DITOR.styl esSet=new  CKEDITOR.r esourceMan ager("","s tylesSet") ,CKEDITOR. addStylesS et=CKEDITO R.tools.bi nd(CKEDITO R.stylesSe t.add,CKED ITOR.style sSet),CKED ITOR.loadS tylesSet=f unction(a, e,b){CKEDI TOR.styles Set.addExt ernal(a,e, "");CKEDIT OR.stylesS et.load(a, b)},CKEDIT OR.tools.e xtend(CKED ITOR.edito r.prototyp e,{attachS tyleStateC hange:func tion(a,e){ var b=this ._.styleSt ateChangeC allbacks;b ||(b=this. _.styleSta teChangeCa llbacks=[] ,this.on(" selectionC hange",fun ction(a){f or(var d=0 ;d<        
440   b.length;d ++){var e= b[d],m=e.s tyle.check Active(a.d ata.path,t his)?CKEDI TOR.TRISTA TE_ON:CKED ITOR.TRIST ATE_OFF;e. fn.call(th is,m)}})); b.push({st yle:a,fn:e })},applyS tyle:funct ion(a){a.a pply(this) },removeSt yle:functi on(a){a.re move(this) },getStyle sSet:funct ion(a){if( this._.sty lesDefinit ions)a(thi s._.styles Definition s);else{va r e=this,b =e.config. stylesComb o_stylesSe t||e.confi g.stylesSe t;if(!1=== b)a(null); else if(b  instanceof  Array)e._ .stylesDef initions=b ,a(b);else {b||(b="de fault");va r b=b.spli t(":"),c=b [0];        
441   CKEDITOR.s tylesSet.a ddExternal (c,b[1]?b. slice(1).j oin(":"):C KEDITOR.ge tUrl("styl es.js"),"" );CKEDITOR .stylesSet .load(c,fu nction(b){ e._.styles Definition s=b[c];a(e ._.stylesD efinitions )})}}}}),C KEDITOR.do m.comment= function(a ,e){"strin g"==typeof  a&&(a=(e? e.$:docume nt).create Comment(a) );CKEDITOR .dom.domOb ject.call( this,a)},C KEDITOR.do m.comment. prototype= new CKEDIT OR.dom.nod e,CKEDITOR .tools.ext end(CKEDIT OR.dom.com ment.proto type,{type :CKEDITOR. NODE_COMME NT,getOute rHtml:func tion(){ret urn"\x3c!- -"+this.$. nodeValue+        
442   "--\x3e"}} ),"use str ict",funct ion(){var  a={},e={}, b;for(b in  CKEDITOR. dtd.$block Limit)b in  CKEDITOR. dtd.$list| |(a[b]=1); for(b in C KEDITOR.dt d.$block)b  in CKEDIT OR.dtd.$bl ockLimit|| b in CKEDI TOR.dtd.$e mpty||(e[b ]=1);CKEDI TOR.dom.el ementPath= function(b ,d){var k= null,m=nul l,f=[],l=b ,h;d=d||b. getDocumen t().getBod y();do if( l.type==CK EDITOR.NOD E_ELEMENT) {f.push(l) ;if(!this. lastElemen t&&(this.l astElement =l,l.is(CK EDITOR.dtd .$object)| |"false"== l.getAttri bute("cont enteditabl e")))conti nue;if(l.e quals(d))b reak;        
443   if(!m&&(h= l.getName( ),"true"== l.getAttri bute("cont enteditabl e")?m=l:!k &&e[h]&&(k =l),a[h])) {if(h=!k&& "div"==h){ a:{h=l.get Children() ;for(var g =0,n=h.cou nt();g<n;g ++){var r= h.getItem( g);if(r.ty pe==CKEDIT OR.NODE_EL EMENT&&CKE DITOR.dtd. $block[r.g etName()]) {h=!0;brea k a}}h=!1} h=!h}h?k=l :m=l}}whil e(l=l.getP arent());m ||(m=d);th is.block=k ;this.bloc kLimit=m;t his.root=d ;this.elem ents=f}}() ,CKEDITOR. dom.elemen tPath.prot otype={com pare:funct ion(a){var  e=this.el ements;a=a &&a.elemen ts;if(!a|| e.length!= a.length)r eturn!1;        
444   for(var b= 0;b<e.leng th;b++)if( !e[b].equa ls(a[b]))r eturn!1;re turn!0},co ntains:fun ction(a,e, b){var c;" string"==t ypeof a&&( c=function (b){return  b.getName ()==a});a  instanceof  CKEDITOR. dom.elemen t?c=functi on(b){retu rn b.equal s(a)}:CKED ITOR.tools .isArray(a )?c=functi on(b){retu rn-1<CKEDI TOR.tools. indexOf(a, b.getName( ))}:"funct ion"==type of a?c=a:" object"==t ypeof a&&( c=function (b){return  b.getName ()in a});v ar d=this. elements,k =d.length; e&&k--;b&& (d=Array.p rototype.s lice.call( d,0),d.rev erse());fo r(e=0;e<k; e++)if(c(d [e]))retur n d[e];        
445   return nul l},isConte xtFor:func tion(a){va r e;return  a in CKED ITOR.dtd.$ block?(e=t his.contai ns(CKEDITO R.dtd.$int ermediate) ||this.roo t.equals(t his.block) &&this.blo ck||this.b lockLimit, !!e.getDtd ()[a]):!0} ,direction :function( ){return(t his.block| |this.bloc kLimit||th is.root).g etDirectio n(1)}},CKE DITOR.dom. text=funct ion(a,e){" string"==t ypeof a&&( a=(e?e.$:d ocument).c reateTextN ode(a));th is.$=a},CK EDITOR.dom .text.prot otype=new  CKEDITOR.d om.node,CK EDITOR.too ls.extend( CKEDITOR.d om.text.pr ototype,{t ype:CKEDIT OR.NODE_TE XT,        
446   getLength: function() {return th is.$.nodeV alue.lengt h},getText :function( ){return t his.$.node Value},set Text:funct ion(a){thi s.$.nodeVa lue=a},spl it:functio n(a){var e =this.$.pa rentNode,b =e.childNo des.length ,c=this.ge tLength(), d=this.get Document() ,k=new CKE DITOR.dom. text(this. $.splitTex t(a),d);e. childNodes .length==b &&(a>=c?(k =d.createT ext(""),k. insertAfte r(this)):( a=d.create Text(""),a .insertAft er(k),a.re move()));r eturn k},s ubstring:f unction(a, e){return" number"!=t ypeof e?th is.$.nodeV alue.subst r(a):this. $.nodeValu e.substrin g(a,        
447   e)}}),func tion(){fun ction a(a, c,d){var e =a.seriali zable,m=c[ d?"endCont ainer":"st artContain er"],f=d?" endOffset" :"startOff set",l=e?c .document. getById(a. startNode) :a.startNo de;a=e?c.d ocument.ge tById(a.en dNode):a.e ndNode;m.e quals(l.ge tPrevious( ))?(c.star tOffset=c. startOffse t-m.getLen gth()-a.ge tPrevious( ).getLengt h(),m=a.ge tNext()):m .equals(a. getPreviou s())&&(c.s tartOffset -=m.getLen gth(),m=a. getNext()) ;m.equals( l.getParen t())&&c[f] ++;m.equal s(a.getPar ent())&&c[ f]++;c[d?" endContain er":"start Container" ]=        
448   m;return c }CKEDITOR. dom.rangeL ist=functi on(a){if(a  instanceo f CKEDITOR .dom.range List)retur n a;a?a in stanceof C KEDITOR.do m.range&&( a=[a]):a=[ ];return C KEDITOR.to ols.extend (a,e)};var  e={create Iterator:f unction(){ var a=this ,c=CKEDITO R.dom.walk er.bookmar k(),d=[],e ;return{ge tNextRange :function( m){e=void  0===e?0:e+ 1;var f=a[ e];if(f&&1 <a.length) {if(!e)for (var l=a.l ength-1;0< =l;l--)d.u nshift(a[l ].createBo okmark(!0) );if(m)for (var h=0;a [e+h+1];){ var g=f.do cument;m=0 ;l=g.getBy Id(d[h].en dNode);for (g=g.getBy Id(d[h+        
449   1].startNo de);;){l=l .getNextSo urceNode(! 1);if(g.eq uals(l))m= 1;else if( c(l)||l.ty pe==CKEDIT OR.NODE_EL EMENT&&l.i sBlockBoun dary())con tinue;brea k}if(!m)br eak;h++}fo r(f.moveTo Bookmark(d .shift()); h--;)l=a[+ +e],l.move ToBookmark (d.shift() ),f.setEnd (l.endCont ainer,l.en dOffset)}r eturn f}}} ,createBoo kmarks:fun ction(b){f or(var c=[ ],d,e=0;e< this.lengt h;e++){c.p ush(d=this [e].create Bookmark(b ,!0));for( var m=e+1; m<this.len gth;m++)th is[m]=a(d, this[m]),t his[m]=a(d ,this[m],! 0)}return  c},createB ookmarks2: function(a ){for(var  c=        
450   [],d=0;d<t his.length ;d++)c.pus h(this[d]. createBook mark2(a)); return c}, moveToBook marks:func tion(a){fo r(var c=0; c<this.len gth;c++)th is[c].move ToBookmark (a[c])}}}( ),function (){functio n a(){retu rn CKEDITO R.getUrl(C KEDITOR.sk inName.spl it(",")[1] ||"skins/" +CKEDITOR. skinName.s plit(",")[ 0]+"/")}fu nction e(b ){var c=CK EDITOR.ski n["ua_"+b] ,d=CKEDITO R.env;if(c )for(var c =c.split(" ,").sort(f unction(a, b){return  a>b?-1:1}) ,f=0,e;f<c .length;f+ +)if(e=c[f ],d.ie&&(e .replace(/ ^ie/,"")== d.version| |d.quirks& &"iequirks "==        
451   e)&&(e="ie "),d[e]){b +="_"+c[f] ;break}ret urn CKEDIT OR.getUrl( a()+b+".cs s")}functi on b(a,b){ k[a]||(CKE DITOR.docu ment.appen dStyleShee t(e(a)),k[ a]=1);b&&b ()}functio n c(a){var  b=a.getBy Id(m);b||( b=a.getHea d().append ("style"), b.setAttri bute("id", m),b.setAt tribute("t ype","text /css"));re turn b}fun ction d(a, b,c){var d ,f,e;if(CK EDITOR.env .webkit)fo r(b=b.spli t("}").sli ce(0,-1),f =0;f<b.len gth;f++)b[ f]=b[f].sp lit("{");f or(var l=0 ;l<a.lengt h;l++)if(C KEDITOR.en v.webkit)f or(f=0;f<b .length;f+ +){e=b[f][ 1];for(d=0 ;d<        
452   c.length;d ++)e=e.rep lace(c[d][ 0],c[d][1] );a[l].$.s heet.addRu le(b[f][0] ,e)}else{e =b;for(d=0 ;d<c.lengt h;d++)e=e. replace(c[ d][0],c[d] [1]);CKEDI TOR.env.ie &&11>CKEDI TOR.env.ve rsion?a[l] .$.styleSh eet.cssTex t+=e:a[l]. $.innerHTM L+=e}}var  k={};CKEDI TOR.skin={ path:a,loa dPart:func tion(c,d){ CKEDITOR.s kin.name!= CKEDITOR.s kinName.sp lit(",")[0 ]?CKEDITOR .scriptLoa der.load(C KEDITOR.ge tUrl(a()+" skin.js"), function() {b(c,d)}): b(c,d)},ge tPath:func tion(a){re turn CKEDI TOR.getUrl (e(a))},ic ons:{},add Icon:funct ion(a,b,c, d){a=        
453   a.toLowerC ase();this .icons[a]| |(this.ico ns[a]={pat h:b,offset :c||0,bgsi ze:d||"16p x"})},getI conStyle:f unction(a, b,c,d,f){v ar e;a&&(a =a.toLower Case(),b&& (e=this.ic ons[a+"-rt l"]),e||(e =this.icon s[a]));a=c ||e&&e.pat h||"";d=d| |e&&e.offs et;f=f||e& &e.bgsize| |"16px";re turn a&&"b ackground- image:url( "+CKEDITOR .getUrl(a) +");backgr ound-posit ion:0 "+d+ "px;backgr ound-size: "+f+";"}}; CKEDITOR.t ools.exten d(CKEDITOR .editor.pr ototype,{g etUiColor: function() {return th is.uiColor },setUiCol or:functio n(a){var b =c(CKEDITO R.document );        
454   return(thi s.setUiCol or=functio n(a){this. uiColor=a; var c=CKED ITOR.skin. chameleon, e="",h=""; "function" ==typeof c &&(e=c(thi s,"editor" ),h=c(this ,"panel")) ;a=[[l,a]] ;d([b],e,a );d(f,h,a) }).call(th is,a)}});v ar m="cke_ ui_color", f=[],l=/\$ color/g;CK EDITOR.on( "instanceL oaded",fun ction(a){i f(!CKEDITO R.env.ie|| !CKEDITOR. env.quirks ){var b=a. editor;a=f unction(a) {a=(a.data [0]||a.dat a).element .getElemen tsByTag("i frame").ge tItem(0).g etFrameDoc ument();if (!a.getByI d("cke_ui_ color")){a =c(a);f.pu sh(a);var  e=b.getUiC olor();        
455   e&&d([a],C KEDITOR.sk in.chamele on(b,"pane l"),[[l,e] ])}};b.on( "panelShow ",a);b.on( "menuShow" ,a);b.conf ig.uiColor &&b.setUiC olor(b.con fig.uiColo r)}})}(),f unction(){ if(CKEDITO R.env.webk it)CKEDITO R.env.hc=! 1;else{var  a=CKEDITO R.dom.elem ent.create FromHtml(' \x3cdiv st yle\x3d"wi dth:0;heig ht:0;posit ion:absolu te;left:-1 0000px;bor der:1px so lid;border -color:red  blue"\x3e \x3c/div\x 3e',CKEDIT OR.documen t);a.appen dTo(CKEDIT OR.documen t.getHead( ));try{var  e=a.getCo mputedStyl e("border- top-color" ),b=a.getC omputedSty le("border -right-col or");        
456   CKEDITOR.e nv.hc=!(!e ||e!=b)}ca tch(c){CKE DITOR.env. hc=!1}a.re move()}CKE DITOR.env. hc&&(CKEDI TOR.env.cs sClass+="  cke_hc");C KEDITOR.do cument.app endStyleTe xt(".cke{v isibility: hidden;}") ;CKEDITOR. status="lo aded";CKED ITOR.fireO nce("loade d");if(a=C KEDITOR._. pending)fo r(delete C KEDITOR._. pending,e= 0;e<a.leng th;e++)CKE DITOR.edit or.prototy pe.constru ctor.apply (a[e][0],a [e][1]),CK EDITOR.add (a[e][0])} (),CKEDITO R.skin.nam e="moono", CKEDITOR.s kin.ua_edi tor="ie,ie quirks,ie7 ,ie8,gecko ",CKEDITOR .skin.ua_d ialog="ie, iequirks,i e7,ie8",        
457   CKEDITOR.s kin.chamel eon=functi on(){var a =function( ){return f unction(a, b){for(var  e=a.match (/[^#]./g) ,m=0;3>m;m ++){var f= m,l;l=pars eInt(e[m], 16);l=("0" +(0>b?0|l* (1+b):0|l+ (255-l)*b) .toString( 16)).slice (-2);e[f]= l}return"# "+e.join(" ")}}(),e=f unction(){ var a=new  CKEDITOR.t emplate("b ackground: #{to};back ground-ima ge:linear- gradient(t o bottom,{ from},{to} );filter:p rogid:DXIm ageTransfo rm.Microso ft.gradien t(gradient Type\x3d0, startColor str\x3d'{f rom}',endC olorstr\x3 d'{to}');" );return f unction(b, e){return  a.output({ from:b,        
458   to:e})}}() ,b={editor :new CKEDI TOR.templa te("{id}.c ke_chrome  [border-co lor:{defau ltBorder}; ] {id} .ck e_top [ {d efaultGrad ient}borde r-bottom-c olor:{defa ultBorder} ;] {id} .c ke_bottom  [{defaultG radient}bo rder-top-c olor:{defa ultBorder} ;] {id} .c ke_resizer  [border-r ight-color :{ckeResiz er}] {id}  .cke_dialo g_title [{ defaultGra dient}bord er-bottom- color:{def aultBorder };] {id} . cke_dialog _footer [{ defaultGra dient}outl ine-color: {defaultBo rder};bord er-top-col or:{defaul tBorder};]  {id} .cke _dialog_ta b [{lightG radient}bo rder-color :{defaultB order};] { id} .cke_d ialog_tab: hover [{me diumGradie nt}] {id}  .cke_dialo g_contents  [border-t op-color:{ defaultBor der};] {id } .cke_dia log_tab_se lected, {i d} .cke_di alog_tab_s elected:ho ver [backg round:{dia logTabSele cted};bord er-bottom- color:{dia logTabSele ctedBorder };] {id} . cke_dialog _body [bac kground:{d ialogBody} ;border-co lor:{defau ltBorder}; ] {id} .ck e_toolgrou p [{lightG radient}bo rder-color :{defaultB order};] { id} a.cke_ button_off :hover, {i d} a.cke_b utton_off: focus, {id } a.cke_bu tton_off:a ctive [{me diumGradie nt}] {id}  .cke_butto n_on [{cke ButtonOn}]  {id} .cke _toolbar_s eparator [ background -color: {c keToolbarS eparator}; ] {id} .ck e_combo_bu tton [bord er-color:{ defaultBor der};{ligh tGradient} ] {id} a.c ke_combo_b utton:hove r, {id} a. cke_combo_ button:foc us, {id} . cke_combo_ on a.cke_c ombo_butto n [border- color:{def aultBorder };{mediumG radient}]  {id} .cke_ path_item  [color:{el ementsPath Color};] { id} a.cke_ path_item: hover, {id } a.cke_pa th_item:fo cus, {id}  a.cke_path _item:acti ve [backgr ound-color :{elements PathBg};]  {id}.cke_p anel [bord er-color:{ defaultBor der};] "),        
459   panel:new  CKEDITOR.t emplate(". cke_panel_ grouptitle  [{lightGr adient}bor der-color: {defaultBo rder};] .c ke_menubut ton_icon [ background -color:{me nubuttonIc on};] .cke _menubutto n:hover .c ke_menubut ton_icon,  .cke_menub utton:focu s .cke_men ubutton_ic on, .cke_m enubutton: active .ck e_menubutt on_icon [b ackground- color:{men ubuttonIco nHover};]  .cke_menus eparator [ background -color:{me nubuttonIc on};] a:ho ver.cke_co lorbox, a: focus.cke_ colorbox,  a:active.c ke_colorbo x [border- color:{def aultBorder };] a:hove r.cke_colo rauto, a:h over.cke_c olormore,  a:focus.ck e_coloraut o, a:focus .cke_color more, a:ac tive.cke_c olorauto,  a:active.c ke_colormo re [backgr ound-color :{ckeColor auto};bord er-color:{ defaultBor der};] ")} ;        
460   return fun ction(c,d) {var k=c.u iColor,k={ id:"."+c.i d,defaultB order:a(k, -.1),defau ltGradient :e(a(k,.9) ,k),lightG radient:e( a(k,1),a(k ,.7)),medi umGradient :e(a(k,.8) ,a(k,.5)), ckeButtonO n:e(a(k,.6 ),a(k,.7)) ,ckeResize r:a(k,-.4) ,ckeToolba rSeparator :a(k,.5),c keColoraut o:a(k,.8), dialogBody :a(k,.7),d ialogTabSe lected:e(" #FFFFFF"," #FFFFFF"), dialogTabS electedBor der:"#FFF" ,elementsP athColor:a (k,-.6),el ementsPath Bg:k,menub uttonIcon: a(k,.5),me nubuttonIc onHover:a( k,.3)};ret urn b[d].o utput(k).r eplace(/\[ /g,"{").re place(/\]/ g,        
461   "}")}}(),C KEDITOR.pl ugins.add( "dialogui" ,{onLoad:f unction(){ var a=func tion(a){th is._||(thi s._={});th is._["defa ult"]=this ._.initVal ue=a["defa ult"]||""; this._.req uired=a.re quired||!1 ;for(var b =[this._], c=1;c<argu ments.leng th;c++)b.p ush(argume nts[c]);b. push(!0);C KEDITOR.to ols.extend .apply(CKE DITOR.tool s,b);retur n this._}, e={build:f unction(a, b,c){retur n new CKED ITOR.ui.di alog.textI nput(a,b,c )}},b={bui ld:functio n(a,b,c){r eturn new  CKEDITOR.u i.dialog[b .type](a,b ,c)}},c={i sChanged:f unction(){ return thi s.getValue ()!=        
462   this.getIn itValue()} ,reset:fun ction(a){t his.setVal ue(this.ge tInitValue (),a)},set InitValue: function() {this._.in itValue=th is.getValu e()},reset InitValue: function() {this._.in itValue=th is._["defa ult"]},get InitValue: function() {return th is._.initV alue}},d=C KEDITOR.to ols.extend ({},CKEDIT OR.ui.dial og.uiEleme nt.prototy pe.eventPr ocessors,{ onChange:f unction(a, b){this._. domOnChang eRegistere d||(a.on(" load",func tion(){thi s.getInput Element(). on("change ",function (){a.parts .dialog.is Visible()& &this.fire ("change", {value:thi s.getValue ()})},        
463   this)},thi s),this._. domOnChang eRegistere d=!0);this .on("chang e",b)}},!0 ),k=/^on([ A-Z]\w+)/, m=function (a){for(va r b in a)( k.test(b)| |"title"== b||"type"= =b)&&delet e a[b];ret urn a},f=f unction(a) {a=a.data. getKeystro ke();a==CK EDITOR.SHI FT+CKEDITO R.ALT+36?t his.setDir ectionMark er("ltr"): a==CKEDITO R.SHIFT+CK EDITOR.ALT +35&&this. setDirecti onMarker(" rtl")};CKE DITOR.tool s.extend(C KEDITOR.ui .dialog,{l abeledElem ent:functi on(b,c,d,f ){if(!(4>a rguments.l ength)){va r e=a.call (this,c);e .labelId=C KEDITOR.to ols.getNex tId()+        
464   "_label";t his._.chil dren=[];va r k={role: c.role||"p resentatio n"};c.incl udeLabel&& (k["aria-l abelledby" ]=e.labelI d);CKEDITO R.ui.dialo g.uiElemen t.call(thi s,b,c,d,"d iv",null,k ,function( ){var a=[] ,d=c.requi red?" cke_ required": "";"horizo ntal"!=c.l abelLayout ?a.push('\ x3clabel c lass\x3d"c ke_dialog_ ui_labeled _label'+d+ '" ',' id\ x3d"'+e.la belId+'"', e.inputId? ' for\x3d" '+e.inputI d+'"':"",( c.labelSty le?' style \x3d"'+c.l abelStyle+ '"':"")+"\ x3e",c.lab el,"\x3c/l abel\x3e", '\x3cdiv c lass\x3d"c ke_dialog_ ui_labeled _content"' ,        
465   c.controlS tyle?' sty le\x3d"'+c .controlSt yle+'"':"" ,' role\x3 d"presenta tion"\x3e' ,f.call(th is,b,c),"\ x3c/div\x3 e"):(d={ty pe:"hbox", widths:c.w idths,padd ing:0,chil dren:[{typ e:"html",h tml:'\x3cl abel class \x3d"cke_d ialog_ui_l abeled_lab el'+d+'" i d\x3d"'+e. labelId+'"  for\x3d"' +e.inputId +'"'+(c.la belStyle?'  style\x3d "'+c.label Style+'"': "")+"\x3e" +CKEDITOR. tools.html Encode(c.l abel)+"\x3 c/label\x3 e"},{type: "html",htm l:'\x3cspa n class\x3 d"cke_dial og_ui_labe led_conten t"'+(c.con trolStyle? ' style\x3 d"'+c.cont rolStyle+        
466   '"':"")+"\ x3e"+f.cal l(this,b,c )+"\x3c/sp an\x3e"}]} ,CKEDITOR. dialog._.u iElementBu ilders.hbo x.build(b, d,a));retu rn a.join( "")})}},te xtInput:fu nction(b,c ,d){if(!(3 >arguments .length)){ a.call(thi s,c);var e =this._.in putId=CKED ITOR.tools .getNextId ()+"_textI nput",k={" class":"ck e_dialog_u i_input_"+ c.type,id: e,type:c.t ype};c.val idate&&(th is.validat e=c.valida te);c.maxL ength&&(k. maxlength= c.maxLengt h);c.size& &(k.size=c .size);c.i nputStyle& &(k.style= c.inputSty le);var m= this,q=!1; b.on("load ",function (){m.getIn putElement ().on("key down",        
467   function(a ){13==a.da ta.getKeys troke()&&( q=!0)});m. getInputEl ement().on ("keyup",f unction(a) {13==a.dat a.getKeyst roke()&&q& &(b.getBut ton("ok")& &setTimeou t(function (){b.getBu tton("ok") .click()}, 0),q=!1);m .bidi&&f.c all(m,a)}, null,null, 1E3)});CKE DITOR.ui.d ialog.labe ledElement .call(this ,b,c,d,fun ction(){va r a=['\x3c div class\ x3d"cke_di alog_ui_in put_',c.ty pe,'" role \x3d"prese ntation"'] ;c.width&& a.push('st yle\x3d"wi dth:'+c.wi dth+'" '); a.push("\x 3e\x3cinpu t ");k["ar ia-labelle dby"]=this ._.labelId ;this._.re quired&&        
468   (k["aria-r equired"]= this._.req uired);for (var b in  k)a.push(b +'\x3d"'+k [b]+'" '); a.push(" / \x3e\x3c/d iv\x3e");r eturn a.jo in("")})}} ,textarea: function(b ,c,d){if(! (3>argumen ts.length) ){a.call(t his,c);var  e=this,k= this._.inp utId=CKEDI TOR.tools. getNextId( )+"_textar ea",m={};c .validate& &(this.val idate=c.va lidate);m. rows=c.row s||5;m.col s=c.cols|| 20;m["clas s"]="cke_d ialog_ui_i nput_texta rea "+(c[" class"]||" ");"undefi ned"!=type of c.input Style&&(m. style=c.in putStyle); c.dir&&(m. dir=c.dir) ;if(e.bidi )b.on("loa d",        
469   function() {e.getInpu tElement() .on("keyup ",f)},e);C KEDITOR.ui .dialog.la beledEleme nt.call(th is,b,c,d,f unction(){ m["aria-la belledby"] =this._.la belId;this ._.require d&&(m["ari a-required "]=this._. required); var a=['\x 3cdiv clas s\x3d"cke_ dialog_ui_ input_text area" role \x3d"prese ntation"\x 3e\x3ctext area id\x3 d"',k,'" ' ],b;for(b  in m)a.pus h(b+'\x3d" '+CKEDITOR .tools.htm lEncode(m[ b])+'" '); a.push("\x 3e",CKEDIT OR.tools.h tmlEncode( e._["defau lt"]),"\x3 c/textarea \x3e\x3c/d iv\x3e");r eturn a.jo in("")})}} ,checkbox: function(b ,        
470   c,d){if(!( 3>argument s.length)) {var f=a.c all(this,c ,{"default ":!!c["def ault"]});c .validate& &(this.val idate=c.va lidate);CK EDITOR.ui. dialog.uiE lement.cal l(this,b,c ,d,"span", null,null, function() {var a=CKE DITOR.tool s.extend({ },c,{id:c. id?c.id+"_ checkbox": CKEDITOR.t ools.getNe xtId()+"_c heckbox"}, !0),d=[],e =CKEDITOR. tools.getN extId()+"_ label",g={ "class":"c ke_dialog_ ui_checkbo x_input",t ype:"check box","aria -labelledb y":e};m(a) ;c["defaul t"]&&(g.ch ecked="che cked");"un defined"!= typeof a.i nputStyle& &(a.style= a.inputSty le);        
471   f.checkbox =new CKEDI TOR.ui.dia log.uiElem ent(b,a,d, "input",nu ll,g);d.pu sh(' \x3cl abel id\x3 d"',e,'" f or\x3d"',g .id,'"'+(c .labelStyl e?' style\ x3d"'+c.la belStyle+' "':"")+"\x 3e",CKEDIT OR.tools.h tmlEncode( c.label)," \x3c/label \x3e");ret urn d.join ("")})}},r adio:funct ion(b,c,d) {if(!(3>ar guments.le ngth)){a.c all(this,c );this._[" default"]| |(this._[" default"]= this._.ini tValue=c.i tems[0][1] );c.valida te&&(this. validate=c .validate) ;var f=[], e=this;c.r ole="radio group";c.i ncludeLabe l=!0;CKEDI TOR.ui.dia log.labele dElement.c all(this,        
472   b,c,d,func tion(){for (var a=[], d=[],g=(c. id?c.id:CK EDITOR.too ls.getNext Id())+"_ra dio",k=0;k <c.items.l ength;k++) {var w=c.i tems[k],y= void 0!==w [2]?w[2]:w [0],B=void  0!==w[1]? w[1]:w[0], v=CKEDITOR .tools.get NextId()+" _radio_inp ut",z=v+"_ label",v=C KEDITOR.to ols.extend ({},c,{id: v,title:nu ll,type:nu ll},!0),y= CKEDITOR.t ools.exten d({},v,{ti tle:y},!0) ,C={type:" radio","cl ass":"cke_ dialog_ui_ radio_inpu t",name:g, value:B,"a ria-labell edby":z},x =[];e._["d efault"]== B&&(C.chec ked="check ed");m(v); m(y);"unde fined"!=ty peof v.inp utStyle&&        
473   (v.style=v .inputStyl e);v.keybo ardFocusab le=!0;f.pu sh(new CKE DITOR.ui.d ialog.uiEl ement(b,v, x,"input", null,C));x .push(" ") ;new CKEDI TOR.ui.dia log.uiElem ent(b,y,x, "label",nu ll,{id:z," for":C.id} ,w[0]);a.p ush(x.join (""))}new  CKEDITOR.u i.dialog.h box(b,f,a, d);return  d.join("") });this._. children=f }},button: function(b ,c,d){if(a rguments.l ength){"fu nction"==t ypeof c&&( c=c(b.getP arentEdito r()));a.ca ll(this,c, {disabled: c.disabled ||!1});CKE DITOR.even t.implemen tOn(this); var f=this ;b.on("loa d",functio n(){var a= this.getEl ement();        
474   (function( ){a.on("cl ick",funct ion(a){f.c lick();a.d ata.preven tDefault() });a.on("k eydown",fu nction(a){ a.data.get Keystroke( )in{32:1}& &(f.click( ),a.data.p reventDefa ult())})}) ();a.unsel ectable()} ,this);var  e=CKEDITO R.tools.ex tend({},c) ;delete e. style;var  k=CKEDITOR .tools.get NextId()+" _label";CK EDITOR.ui. dialog.uiE lement.cal l(this,b,e ,d,"a",nul l,{style:c .style,hre f:"javascr ipt:void(0 )",title:c .label,hid efocus:"tr ue","class ":c["class "],role:"b utton","ar ia-labelle dby":k},'\ x3cspan id \x3d"'+k+' " class\x3 d"cke_dial og_ui_butt on"\x3e'+        
475   CKEDITOR.t ools.htmlE ncode(c.la bel)+"\x3c /span\x3e" )}},select :function( b,c,d){if( !(3>argume nts.length )){var f=a .call(this ,c);c.vali date&&(thi s.validate =c.validat e);f.input Id=CKEDITO R.tools.ge tNextId()+ "_select"; CKEDITOR.u i.dialog.l abeledElem ent.call(t his,b,c,d, function() {var a=CKE DITOR.tool s.extend({ },c,{id:c. id?c.id+"_ select":CK EDITOR.too ls.getNext Id()+"_sel ect"},!0), d=[],e=[], g={id:f.in putId,"cla ss":"cke_d ialog_ui_i nput_selec t","aria-l abelledby" :this._.la belId};d.p ush('\x3cd iv class\x 3d"cke_dia log_ui_inp ut_',        
476   c.type,'"  role\x3d"p resentatio n"');c.wid th&&d.push ('style\x3 d"width:'+ c.width+'"  ');d.push ("\x3e");v oid 0!==c. size&&(g.s ize=c.size );void 0!= =c.multipl e&&(g.mult iple=c.mul tiple);m(a );for(var  k=0,w;k<c. items.leng th&&(w=c.i tems[k]);k ++)e.push( '\x3coptio n value\x3 d"',CKEDIT OR.tools.h tmlEncode( void 0!==w [1]?w[1]:w [0]).repla ce(/"/g,"\ x26quot;") ,'" /\x3e  ',CKEDITOR .tools.htm lEncode(w[ 0]));"unde fined"!=ty peof a.inp utStyle&&( a.style=a. inputStyle );f.select =new CKEDI TOR.ui.dia log.uiElem ent(b,a,d, "select",n ull,        
477   g,e.join(" "));d.push ("\x3c/div \x3e");ret urn d.join ("")})}},f ile:functi on(b,c,d){ if(!(3>arg uments.len gth)){void  0===c["de fault"]&&( c["default "]="");var  f=CKEDITO R.tools.ex tend(a.cal l(this,c), {definitio n:c,button s:[]});c.v alidate&&( this.valid ate=c.vali date);b.on ("load",fu nction(){C KEDITOR.do cument.get ById(f.fra meId).getP arent().ad dClass("ck e_dialog_u i_input_fi le")});CKE DITOR.ui.d ialog.labe ledElement .call(this ,b,c,d,fun ction(){f. frameId=CK EDITOR.too ls.getNext Id()+"_fil eInput";va r a=['\x3c iframe fra meborder\x 3d"0" allo wtranspare ncy\x3d"0"  class\x3d "cke_dialo g_ui_input _file" rol e\x3d"pres entation"  id\x3d"',        
478   f.frameId, '" title\x 3d"',c.lab el,'" src\ x3d"javasc ript:void( '];a.push( CKEDITOR.e nv.ie?"(fu nction(){" +encodeURI Component( "document. open();("+ CKEDITOR.t ools.fixDo main+")(); document.c lose();")+ "})()":"0" );a.push(' )"\x3e\x3c /iframe\x3 e');return  a.join("" )})}},file Button:fun ction(b,c, d){var f=t his;if(!(3 >arguments .length)){ a.call(thi s,c);c.val idate&&(th is.validat e=c.valida te);var e= CKEDITOR.t ools.exten d({},c),k= e.onClick; e.classNam e=(e.class Name?e.cla ssName+" " :"")+"cke_ dialog_ui_ button";e. onClick=fu nction(a){ var d=        
479   c["for"];k &&!1===k.c all(this,a )||(b.getC ontentElem ent(d[0],d [1]).submi t(),this.d isable())} ;b.on("loa d",functio n(){b.getC ontentElem ent(c["for "][0],c["f or"][1])._ .buttons.p ush(f)});C KEDITOR.ui .dialog.bu tton.call( this,b,e,d )}},html:f unction(){ var a=/^\s *<[\w:]+\s +([^>]*)?> /,b=/^(\s* <[\w:]+(?: \s+[^>]*)? )((?:.|\r| \n)+)$/,c= /\/$/;retu rn functio n(d,f,e){i f(!(3>argu ments.leng th)){var k =[],m=f.ht ml;"\x3c"! =m.charAt( 0)&&(m="\x 3cspan\x3e "+m+"\x3c/ span\x3e") ;var u=f.f ocus;if(u) {var w=thi s.focus;th is.focus=f unction(){ ("function "==        
480   typeof u?u :w).call(t his);this. fire("focu s")};f.isF ocusable&& (this.isFo cusable=th is.isFocus able);this .keyboardF ocusable=! 0}CKEDITOR .ui.dialog .uiElement .call(this ,d,f,k,"sp an",null,n ull,"");k= k.join("") .match(a); m=m.match( b)||["","" ,""];c.tes t(m[1])&&( m[1]=m[1]. slice(0,-1 ),m[2]="/" +m[2]);e.p ush([m[1], " ",k[1]|| "",m[2]].j oin(""))}} }(),fields et:functio n(a,b,c,d, f){var e=f .label;thi s._={child ren:b};CKE DITOR.ui.d ialog.uiEl ement.call (this,a,f, d,"fieldse t",null,nu ll,functio n(){var a= [];e&&a.pu sh("\x3cle gend"+        
481   (f.labelSt yle?' styl e\x3d"'+f. labelStyle +'"':"")+" \x3e"+e+"\ x3c/legend \x3e");for (var b=0;b <c.length; b++)a.push (c[b]);ret urn a.join ("")})}},! 0);CKEDITO R.ui.dialo g.html.pro totype=new  CKEDITOR. ui.dialog. uiElement; CKEDITOR.u i.dialog.l abeledElem ent.protot ype=CKEDIT OR.tools.e xtend(new  CKEDITOR.u i.dialog.u iElement,{ setLabel:f unction(a) {var b=CKE DITOR.docu ment.getBy Id(this._. labelId);1 >b.getChil dCount()?( new CKEDIT OR.dom.tex t(a,CKEDIT OR.documen t)).append To(b):b.ge tChild(0). $.nodeValu e=a;return  this},get Label:func tion(){var  a=        
482   CKEDITOR.d ocument.ge tById(this ._.labelId );return!a ||1>a.getC hildCount( )?"":a.get Child(0).g etText()}, eventProce ssors:d},! 0);CKEDITO R.ui.dialo g.button.p rototype=C KEDITOR.to ols.extend (new CKEDI TOR.ui.dia log.uiElem ent,{click :function( ){return t his._.disa bled?!1:th is.fire("c lick",{dia log:this._ .dialog})} ,enable:fu nction(){t his._.disa bled=!1;va r a=this.g etElement( );a&&a.rem oveClass(" cke_disabl ed")},disa ble:functi on(){this. _.disabled =!0;this.g etElement( ).addClass ("cke_disa bled")},is Visible:fu nction(){r eturn this .getElemen t().getFir st().isVis ible()},        
483   isEnabled: function() {return!th is._.disab led},event Processors :CKEDITOR. tools.exte nd({},CKED ITOR.ui.di alog.uiEle ment.proto type.event Processors ,{onClick: function(a ,b){this.o n("click", function() {b.apply(t his,argume nts)})}},! 0),accessK eyUp:funct ion(){this .click()}, accessKeyD own:functi on(){this. focus()},k eyboardFoc usable:!0} ,!0);CKEDI TOR.ui.dia log.textIn put.protot ype=CKEDIT OR.tools.e xtend(new  CKEDITOR.u i.dialog.l abeledElem ent,{getIn putElement :function( ){return C KEDITOR.do cument.get ById(this. _.inputId) },        
484   focus:func tion(){var  a=this.se lectParent Tab();setT imeout(fun ction(){va r b=a.getI nputElemen t();b&&b.$ .focus()}, 0)},select :function( ){var a=th is.selectP arentTab() ;setTimeou t(function (){var b=a .getInputE lement();b &&(b.$.foc us(),b.$.s elect())}, 0)},access KeyUp:func tion(){thi s.select() },setValue :function( a){if(this .bidi){var  b=a&&a.ch arAt(0);(b ="‪"==b?"l tr":"‫"==b ?"rtl":nul l)&&(a=a.s lice(1));t his.setDir ectionMark er(b)}a||( a="");retu rn CKEDITO R.ui.dialo g.uiElemen t.prototyp e.setValue .apply(thi s,argument s)},        
485   getValue:f unction(){ var a=CKED ITOR.ui.di alog.uiEle ment.proto type.getVa lue.call(t his);if(th is.bidi&&a ){var b=th is.getDire ctionMarke r();b&&(a= ("ltr"==b? "‪":"‫")+a )}return a },setDirec tionMarker :function( a){var b=t his.getInp utElement( );a?b.setA ttributes( {dir:a,"da ta-cke-dir -marker":a }):this.ge tDirection Marker()&& b.removeAt tributes([ "dir","dat a-cke-dir- marker"])} ,getDirect ionMarker: function() {return th is.getInpu tElement() .data("cke -dir-marke r")},keybo ardFocusab le:!0},c,! 0);CKEDITO R.ui.dialo g.textarea .prototype =        
486   new CKEDIT OR.ui.dial og.textInp ut;CKEDITO R.ui.dialo g.select.p rototype=C KEDITOR.to ols.extend (new CKEDI TOR.ui.dia log.labele dElement,{ getInputEl ement:func tion(){ret urn this._ .select.ge tElement() },add:func tion(a,b,c ){var d=ne w CKEDITOR .dom.eleme nt("option ",this.get Dialog().g etParentEd itor().doc ument),f=t his.getInp utElement( ).$;d.$.te xt=a;d.$.v alue=void  0===b||nul l===b?a:b; void 0===c ||null===c ?CKEDITOR. env.ie?f.a dd(d.$):f. add(d.$,nu ll):f.add( d.$,c);ret urn this}, remove:fun ction(a){t his.getInp utElement( ).$.remove (a);        
487   return thi s},clear:f unction(){ for(var a= this.getIn putElement ().$;0<a.l ength;)a.r emove(0);r eturn this },keyboard Focusable: !0},c,!0); CKEDITOR.u i.dialog.c heckbox.pr ototype=CK EDITOR.too ls.extend( new CKEDIT OR.ui.dial og.uiEleme nt,{getInp utElement: function() {return th is._.check box.getEle ment()},se tValue:fun ction(a,b) {this.getI nputElemen t().$.chec ked=a;!b&& this.fire( "change",{ value:a})} ,getValue: function() {return th is.getInpu tElement() .$.checked },accessKe yUp:functi on(){this. setValue(! this.getVa lue())},ev entProcess ors:{onCha nge:functi on(a,        
488   b){if(!CKE DITOR.env. ie||8<CKED ITOR.env.v ersion)ret urn d.onCh ange.apply (this,argu ments);a.o n("load",f unction(){ var a=this ._.checkbo x.getEleme nt();a.on( "propertyc hange",fun ction(b){b =b.data.$; "checked"= =b.propert yName&&thi s.fire("ch ange",{val ue:a.$.che cked})},th is)},this) ;this.on(" change",b) ;return nu ll}},keybo ardFocusab le:!0},c,! 0);CKEDITO R.ui.dialo g.radio.pr ototype=CK EDITOR.too ls.extend( new CKEDIT OR.ui.dial og.uiEleme nt,{setVal ue:functio n(a,b){for (var c=thi s._.childr en,d,f=0;f <c.length& &(d=c[f]); f++)d.getE lement().$ .checked=        
489   d.getValue ()==a;!b&& this.fire( "change",{ value:a})} ,getValue: function() {for(var a =this._.ch ildren,b=0 ;b<a.lengt h;b++)if(a [b].getEle ment().$.c hecked)ret urn a[b].g etValue(); return nul l},accessK eyUp:funct ion(){var  a=this._.c hildren,b; for(b=0;b< a.length;b ++)if(a[b] .getElemen t().$.chec ked){a[b]. getElement ().focus() ;return}a[ 0].getElem ent().focu s()},event Processors :{onChange :function( a,b){if(CK EDITOR.env .ie)a.on(" load",func tion(){for (var a=thi s._.childr en,b=this, c=0;c<a.le ngth;c++)a [c].getEle ment().on( "propertyc hange",        
490   function(a ){a=a.data .$;"checke d"==a.prop ertyName&& this.$.che cked&&b.fi re("change ",{value:t his.getAtt ribute("va lue")})})} ,this),thi s.on("chan ge",b);els e return d .onChange. apply(this ,arguments );return n ull}}},c,! 0);CKEDITO R.ui.dialo g.file.pro totype=CKE DITOR.tool s.extend(n ew CKEDITO R.ui.dialo g.labeledE lement,c,{ getInputEl ement:func tion(){var  a=CKEDITO R.document .getById(t his._.fram eId).getFr ameDocumen t();return  0<a.$.for ms.length? new CKEDIT OR.dom.ele ment(a.$.f orms[0].el ements[0]) :this.getE lement()}, submit:fun ction(){th is.getInpu tElement() .getParent ().$.submi t();        
491   return thi s},getActi on:functio n(){return  this.getI nputElemen t().getPar ent().$.ac tion},regi sterEvents :function( a){var b=/ ^on([A-Z]\ w+)/,c,d=f unction(a, b,c,d){a.o n("formLoa ded",funct ion(){a.ge tInputElem ent().on(c ,d,a)})},f ;for(f in  a)if(c=f.m atch(b))th is.eventPr ocessors[f ]?this.eve ntProcesso rs[f].call (this,this ._.dialog, a[f]):d(th is,this._. dialog,c[1 ].toLowerC ase(),a[f] );return t his},reset :function( ){function  a(){c.$.o pen();var  l="";d.siz e&&(l=d.si ze-(CKEDIT OR.env.ie? 7:0));var  y=b.frameI d+"_input" ;        
492   c.$.write( ['\x3chtml  dir\x3d"' +m+'" lang \x3d"'+u+' "\x3e\x3ch ead\x3e\x3 ctitle\x3e \x3c/title \x3e\x3c/h ead\x3e\x3 cbody styl e\x3d"marg in: 0; ove rflow: hid den; backg round: tra nsparent;" \x3e','\x3 cform enct ype\x3d"mu ltipart/fo rm-data" m ethod\x3d" POST" dir\ x3d"'+m+'"  lang\x3d" '+u+'" act ion\x3d"', CKEDITOR.t ools.htmlE ncode(d.ac tion),'"\x 3e\x3clabe l id\x3d"' ,b.labelId ,'" for\x3 d"',y,'" s tyle\x3d"d isplay:non e"\x3e',CK EDITOR.too ls.htmlEnc ode(d.labe l),'\x3c/l abel\x3e\x 3cinput st yle\x3d"wi dth:100%"  id\x3d"',y ,        
493   '" aria-la belledby\x 3d"',b.lab elId,'" ty pe\x3d"fil e" name\x3 d"',CKEDIT OR.tools.h tmlEncode( d.id||"cke _upload"), '" size\x3 d"',CKEDIT OR.tools.h tmlEncode( 0<l?l:""), '" /\x3e\x 3c/form\x3 e\x3c/body \x3e\x3c/h tml\x3e\x3 cscript\x3 e',CKEDITO R.env.ie?" ("+CKEDITO R.tools.fi xDomain+") ();":"","w indow.pare nt.CKEDITO R.tools.ca llFunction ("+e+");", "window.on beforeunlo ad \x3d fu nction() { window.par ent.CKEDIT OR.tools.c allFunctio n("+k+")}" ,"\x3c/scr ipt\x3e"]. join("")); c.$.close( );for(l=0; l<f.length ;l++)f[l]. enable()}v ar b=        
494   this._,c=C KEDITOR.do cument.get ById(b.fra meId).getF rameDocume nt(),d=b.d efinition, f=b.button s,e=this.f ormLoadedN umber,k=th is.formUnl oadNumber, m=b.dialog ._.editor. lang.dir,u =b.dialog. _.editor.l angCode;e| |(e=this.f ormLoadedN umber=CKED ITOR.tools .addFuncti on(functio n(){this.f ire("formL oaded")},t his),k=thi s.formUnlo adNumber=C KEDITOR.to ols.addFun ction(func tion(){thi s.getInput Element(). clearCusto mData()},t his),this. getDialog( )._.editor .on("destr oy",functi on(){CKEDI TOR.tools. removeFunc tion(e);CK EDITOR.too ls.removeF unction(k) }));        
495   CKEDITOR.e nv.gecko?s etTimeout( a,500):a() },getValue :function( ){return t his.getInp utElement( ).$.value| |""},setIn itValue:fu nction(){t his._.init Value=""}, eventProce ssors:{onC hange:func tion(a,b){ this._.dom OnChangeRe gistered|| (this.on(" formLoaded ",function (){this.ge tInputElem ent().on(" change",fu nction(){t his.fire(" change",{v alue:this. getValue() })},this)} ,this),thi s._.domOnC hangeRegis tered=!0); this.on("c hange",b)} },keyboard Focusable: !0},!0);CK EDITOR.ui. dialog.fil eButton.pr ototype=ne w CKEDITOR .ui.dialog .button;        
496   CKEDITOR.u i.dialog.f ieldset.pr ototype=CK EDITOR.too ls.clone(C KEDITOR.ui .dialog.hb ox.prototy pe);CKEDIT OR.dialog. addUIEleme nt("text", e);CKEDITO R.dialog.a ddUIElemen t("passwor d",e);CKED ITOR.dialo g.addUIEle ment("text area",b);C KEDITOR.di alog.addUI Element("c heckbox",b );CKEDITOR .dialog.ad dUIElement ("radio",b );CKEDITOR .dialog.ad dUIElement ("button", b);CKEDITO R.dialog.a ddUIElemen t("select" ,b);CKEDIT OR.dialog. addUIEleme nt("file", b);CKEDITO R.dialog.a ddUIElemen t("fileBut ton",b);CK EDITOR.dia log.addUIE lement("ht ml",        
497   b);CKEDITO R.dialog.a ddUIElemen t("fieldse t",{build: function(a ,b,c){for( var d=b.ch ildren,f,e =[],k=[],m =0;m<d.len gth&&(f=d[ m]);m++){v ar u=[];e. push(u);k. push(CKEDI TOR.dialog ._.uiEleme ntBuilders [f.type].b uild(a,f,u ))}return  new CKEDIT OR.ui.dial og[b.type] (a,k,e,c,b )}})}}),CK EDITOR.DIA LOG_RESIZE _NONE=0,CK EDITOR.DIA LOG_RESIZE _WIDTH=1,C KEDITOR.DI ALOG_RESIZ E_HEIGHT=2 ,CKEDITOR. DIALOG_RES IZE_BOTH=3 ,CKEDITOR. DIALOG_STA TE_IDLE=1, CKEDITOR.D IALOG_STAT E_BUSY=2,f unction(){ function a (){for(var  a=this._. tabIdList. length,        
498   b=CKEDITOR .tools.ind exOf(this. _.tabIdLis t,this._.c urrentTabI d)+a,c=b-1 ;c>b-a;c-- )if(this._ .tabs[this ._.tabIdLi st[c%a]][0 ].$.offset Height)ret urn this._ .tabIdList [c%a];retu rn null}fu nction e() {for(var a =this._.ta bIdList.le ngth,b=CKE DITOR.tool s.indexOf( this._.tab IdList,thi s._.curren tTabId),c= b+1;c<b+a; c++)if(thi s._.tabs[t his._.tabI dList[c%a] ][0].$.off setHeight) return thi s._.tabIdL ist[c%a];r eturn null }function  b(a,b){for (var c=a.$ .getElemen tsByTagNam e("input") ,d=0,f=c.l ength;d<f; d++){var e =new CKEDI TOR.dom.el ement(c[d] );        
499   "text"==e. getAttribu te("type") .toLowerCa se()&&(b?( e.setAttri bute("valu e",e.getCu stomData(" fake_value ")||""),e. removeCust omData("fa ke_value") ):(e.setCu stomData(" fake_value ",e.getAtt ribute("va lue")),e.s etAttribut e("value", "")))}}fun ction c(a, b){var c=t his.getInp utElement( );c&&(a?c. removeAttr ibute("ari a-invalid" ):c.setAtt ribute("ar ia-invalid ",!0));a|| (this.sele ct?this.se lect():thi s.focus()) ;b&&alert( b);this.fi re("valida ted",{vali d:a,msg:b} )}function  d(){var a =this.getI nputElemen t();a&&a.r emoveAttri bute("aria -invalid") }        
500   function k (a){var b= CKEDITOR.d om.element .createFro mHtml(CKED ITOR.addTe mplate("di alog",p).o utput({id: CKEDITOR.t ools.getNe xtNumber() ,editorId: a.id,langD ir:a.lang. dir,langCo de:a.langC ode,editor DialogClas s:"cke_edi tor_"+a.na me.replace (/\./g,"\\ .")+"_dial og",closeT itle:a.lan g.common.c lose,hidpi :CKEDITOR. env.hidpi? "cke_hidpi ":""})),c= b.getChild ([0,0,0,0, 0]),d=c.ge tChild(0), f=c.getChi ld(1);a.pl ugins.clip board&&CKE DITOR.plug ins.clipbo ard.preven tDefaultDr opOnElemen t(c);!CKED ITOR.env.i e||CKEDITO R.env.quir ks||        
501   CKEDITOR.e nv.edge||( a="javascr ipt:void(f unction(){ "+encodeUR IComponent ("document .open();(" +CKEDITOR. tools.fixD omain+")() ;document. close();") +"}())",CK EDITOR.dom .element.c reateFromH tml('\x3ci frame fram eBorder\x3 d"0" class \x3d"cke_i frame_shim " src\x3d" '+a+'" tab Index\x3d" -1"\x3e\x3 c/iframe\x 3e').appen dTo(c.getP arent())); d.unselect able();f.u nselectabl e();return {element:b ,parts:{di alog:b.get Child(0),t itle:d,clo se:f,tabs: c.getChild (2),conten ts:c.getCh ild([3,0,0 ,0]),foote r:c.getChi ld([3,0,1, 0])}}}func tion m(a,        
502   b,c){this. element=b; this.focus Index=c;th is.tabInde x=0;this.i sFocusable =function( ){return!b .getAttrib ute("disab led")&&b.i sVisible() };this.foc us=functio n(){a._.cu rrentFocus Index=this .focusInde x;this.ele ment.focus ()};b.on(" keydown",f unction(a) {a.data.ge tKeystroke ()in{32:1, 13:1}&&thi s.fire("cl ick")});b. on("focus" ,function( ){this.fir e("mouseov er")});b.o n("blur",f unction(){ this.fire( "mouseout" )})}functi on f(a){fu nction b() {a.layout( )}var c=CK EDITOR.doc ument.getW indow();c. on("resize ",b);a.on( "hide",fun ction(){c. removeList ener("resi ze",        
503   b)})}funct ion l(a,b) {this._={d ialog:a};C KEDITOR.to ols.extend (this,b)}f unction h( a){functio n b(c){var  h=a.getSi ze(),l=CKE DITOR.docu ment.getWi ndow().get ViewPaneSi ze(),m=c.d ata.$.scre enX,n=c.da ta.$.scree nY,u=m-d.x ,w=n-d.y;d ={x:m,y:n} ;f.x+=u;f. y+=w;a.mov e(f.x+k[3] <g?-k[3]:f .x-k[1]>l. width-h.wi dth-g?l.wi dth-h.widt h+("rtl"== e.lang.dir ?0:k[1]):f .x,f.y+k[0 ]<g?-k[0]: f.y-k[2]>l .height-h. height-g?l .height-h. height+k[2 ]:f.y,1);c .data.prev entDefault ()}functio n c(){CKED ITOR.docum ent.remove Listener(" mousemove" ,        
504   b);CKEDITO R.document .removeLis tener("mou seup",c);i f(CKEDITOR .env.ie6Co mpat){var  a=x.getChi ld(0).getF rameDocume nt();a.rem oveListene r("mousemo ve",b);a.r emoveListe ner("mouse up",c)}}va r d=null,f =null,e=a. getParentE ditor(),g= e.config.d ialog_magn etDistance ,k=CKEDITO R.skin.mar gins||[0,0 ,0,0];"und efined"==t ypeof g&&( g=20);a.pa rts.title. on("moused own",funct ion(e){d={ x:e.data.$ .screenX,y :e.data.$. screenY};C KEDITOR.do cument.on( "mousemove ",b);CKEDI TOR.docume nt.on("mou seup",c);f =a.getPosi tion();if( CKEDITOR.e nv.ie6Comp at){var g=        
505   x.getChild (0).getFra meDocument ();g.on("m ousemove", b);g.on("m ouseup",c) }e.data.pr eventDefau lt()},a)}f unction g( a){functio n b(c){var  n="rtl"== e.lang.dir ,u=m.width ,w=m.heigh t,q=u+(c.d ata.$.scre enX-l.x)*( n?-1:1)*(a ._.moved?1 :2),y=w+(c .data.$.sc reenY-l.y) *(a._.move d?1:2),t=a ._.element .getFirst( ),t=n&&t.g etComputed Style("rig ht"),p=a.g etPosition ();p.y+y>h .height&&( y=h.height -p.y);(n?t :p.x)+q>h. width&&(q= h.width-(n ?t:p.x));i f(f==CKEDI TOR.DIALOG _RESIZE_WI DTH||f==CK EDITOR.DIA LOG_RESIZE _BOTH)u=Ma th.max(d.m inWidth||        
506   0,q-g);if( f==CKEDITO R.DIALOG_R ESIZE_HEIG HT||f==CKE DITOR.DIAL OG_RESIZE_ BOTH)w=Mat h.max(d.mi nHeight||0 ,y-k);a.re size(u,w); a._.moved| |a.layout( );c.data.p reventDefa ult()}func tion c(){C KEDITOR.do cument.rem oveListene r("mouseup ",c);CKEDI TOR.docume nt.removeL istener("m ousemove", b);n&&(n.r emove(),n= null);if(C KEDITOR.en v.ie6Compa t){var a=x .getChild( 0).getFram eDocument( );a.remove Listener(" mouseup",c );a.remove Listener(" mousemove" ,b)}}var d =a.definit ion,f=d.re sizable;if (f!=CKEDIT OR.DIALOG_ RESIZE_NON E){var e=a .getParent Editor(),        
507   g,k,h,l,m, n,u=CKEDIT OR.tools.a ddFunction (function( d){m=a.get Size();var  f=a.parts .contents; f.$.getEle mentsByTag Name("ifra me").lengt h&&(n=CKED ITOR.dom.e lement.cre ateFromHtm l('\x3cdiv  class\x3d "cke_dialo g_resize_c over" styl e\x3d"heig ht: 100%;  position:  absolute;  width: 100 %;"\x3e\x3 c/div\x3e' ),f.append (n));k=m.h eight-a.pa rts.conten ts.getSize ("height", !(CKEDITOR .env.gecko ||CKEDITOR .env.ie&&C KEDITOR.en v.quirks)) ;g=m.width -a.parts.c ontents.ge tSize("wid th",1);l={ x:d.screen X,y:d.scre enY};h=CKE DITOR.docu ment.getWi ndow().get ViewPaneSi ze();        
508   CKEDITOR.d ocument.on ("mousemov e",b);CKED ITOR.docum ent.on("mo useup",c); CKEDITOR.e nv.ie6Comp at&&(f=x.g etChild(0) .getFrameD ocument(), f.on("mous emove",b), f.on("mous eup",c));d .preventDe fault&&d.p reventDefa ult()});a. on("load", function() {var b=""; f==CKEDITO R.DIALOG_R ESIZE_WIDT H?b=" cke_ resizer_ho rizontal": f==CKEDITO R.DIALOG_R ESIZE_HEIG HT&&(b=" c ke_resizer _vertical" );b=CKEDIT OR.dom.ele ment.creat eFromHtml( '\x3cdiv c lass\x3d"c ke_resizer '+b+" cke_ resizer_"+ e.lang.dir +'" title\ x3d"'+CKED ITOR.tools .htmlEncod e(e.lang.c ommon.resi ze)+        
509   '" onmouse down\x3d"C KEDITOR.to ols.callFu nction('+u +', event  )"\x3e'+(" ltr"==e.la ng.dir?"◢" :"◣")+"\x3 c/div\x3e" );a.parts. footer.app end(b,1)}) ;e.on("des troy",func tion(){CKE DITOR.tool s.removeFu nction(u)} )}}functio n n(a){a.d ata.preven tDefault(1 )}function  r(a){var  b=CKEDITOR .document. getWindow( ),c=a.conf ig,d=c.dia log_backgr oundCoverC olor||"whi te",f=c.di alog_backg roundCover Opacity,e= c.baseFloa tZIndex,c= CKEDITOR.t ools.genKe y(d,f,e),g =C[c];g?g. show():(e= ['\x3cdiv  tabIndex\x 3d"-1" sty le\x3d"pos ition: ',C KEDITOR.en v.ie6Compa t?        
510   "absolute" :"fixed"," ; z-index:  ",e,"; to p: 0px; le ft: 0px; " ,CKEDITOR. env.ie6Com pat?"":"ba ckground-c olor: "+d, '" class\x 3d"cke_dia log_backgr ound_cover "\x3e'],CK EDITOR.env .ie6Compat &&(d="\x3c html\x3e\x 3cbody sty le\x3d\\'b ackground- color:"+d+ ";\\'\x3e\ x3c/body\x 3e\x3c/htm l\x3e",e.p ush('\x3ci frame hide focus\x3d" true" fram eborder\x3 d"0" id\x3 d"cke_dial og_backgro und_iframe " src\x3d" javascript :'),e.push ("void((fu nction(){" +encodeURI Component( "document. open();("+ CKEDITOR.t ools.fixDo main+")(); document.w rite( '"+        
511   d+"' );doc ument.clos e();")+"}) ())"),e.pu sh('" styl e\x3d"posi tion:absol ute;left:0 ;top:0;wid th:100%;he ight: 100% ;filter: p rogid:DXIm ageTransfo rm.Microso ft.Alpha(o pacity\x3d 0)"\x3e\x3 c/iframe\x 3e')),e.pu sh("\x3c/d iv\x3e"),g =CKEDITOR. dom.elemen t.createFr omHtml(e.j oin("")),g .setOpacit y(void 0!= =f?f:.5),g .on("keydo wn",n),g.o n("keypres s",n),g.on ("keyup",n ),g.append To(CKEDITO R.document .getBody() ),C[c]=g); a.focusMan ager.add(g );x=g;a=fu nction(){v ar a=b.get ViewPaneSi ze();g.set Styles({wi dth:a.widt h+"px",hei ght:a.heig ht+        
512   "px"})};va r k=functi on(){var a =b.getScro llPosition (),c=CKEDI TOR.dialog ._.current Top;g.setS tyles({lef t:a.x+"px" ,top:a.y+" px"});if(c ){do a=c.g etPosition (),c.move( a.x,a.y);w hile(c=c._ .parentDia log)}};z=a ;b.on("res ize",a);a( );CKEDITOR .env.mac&& CKEDITOR.e nv.webkit| |g.focus() ;if(CKEDIT OR.env.ie6 Compat){va r h=functi on(){k();a rguments.c allee.prev ScrollHand ler.apply( this,argum ents)};b.$ .setTimeou t(function (){h.prevS crollHandl er=window. onscroll|| function() {};window. onscroll=h },0);k()}} function t (a){x&&(a. focusManag er.remove( x),        
513   a=CKEDITOR .document. getWindow( ),x.hide() ,a.removeL istener("r esize",z), CKEDITOR.e nv.ie6Comp at&&a.$.se tTimeout(f unction(){ window.ons croll=wind ow.onscrol l&&window. onscroll.p revScrollH andler||nu ll},0),z=n ull)}var q =CKEDITOR. tools.cssL ength,p='\ x3cdiv cla ss\x3d"cke _reset_all  {editorId } {editorD ialogClass } {hidpi}"  dir\x3d"{ langDir}"  lang\x3d"{ langCode}"  role\x3d" dialog" ar ia-labelle dby\x3d"ck e_dialog_t itle_{id}" \x3e\x3cta ble class\ x3d"cke_di alog '+CKE DITOR.env. cssClass+'  cke_{lang Dir}" styl e\x3d"posi tion:absol ute" role\ x3d"presen tation"\x3 e\x3ctr\x3 e\x3ctd ro le\x3d"pre sentation" \x3e\x3cdi v class\x3 d"cke_dial og_body" r ole\x3d"pr esentation "\x3e\x3cd iv id\x3d" cke_dialog _title_{id }" class\x 3d"cke_dia log_title"  role\x3d" presentati on"\x3e\x3 c/div\x3e\ x3ca id\x3 d"cke_dial og_close_b utton_{id} " class\x3 d"cke_dial og_close_b utton" hre f\x3d"java script:voi d(0)" titl e\x3d"{clo seTitle}"  role\x3d"b utton"\x3e \x3cspan c lass\x3d"c ke_label"\ x3eX\x3c/s pan\x3e\x3 c/a\x3e\x3 cdiv id\x3 d"cke_dial og_tabs_{i d}" class\ x3d"cke_di alog_tabs"  role\x3d" tablist"\x 3e\x3c/div \x3e\x3cta ble class\ x3d"cke_di alog_conte nts" role\ x3d"presen tation"\x3 e\x3ctr\x3 e\x3ctd id \x3d"cke_d ialog_cont ents_{id}"  class\x3d "cke_dialo g_contents _body" rol e\x3d"pres entation"\ x3e\x3c/td \x3e\x3c/t r\x3e\x3ct r\x3e\x3ct d id\x3d"c ke_dialog_ footer_{id }" class\x 3d"cke_dia log_footer " role\x3d "presentat ion"\x3e\x 3c/td\x3e\ x3c/tr\x3e \x3c/table \x3e\x3c/d iv\x3e\x3c /td\x3e\x3 c/tr\x3e\x 3c/table\x 3e\x3c/div \x3e';        
514   CKEDITOR.d ialog=func tion(b,f){ function l (){var a=x ._.focusLi st;a.sort( function(a ,b){return  a.tabInde x!=b.tabIn dex?b.tabI ndex-a.tab Index:a.fo cusIndex-b .focusInde x});for(va r b=a.leng th,c=0;c<b ;c++)a[c]. focusIndex =c}functio n m(a){var  b=x._.foc usList;a=a ||0;if(!(1 >b.length) ){var c=x. _.currentF ocusIndex; x._.tabBar Mode&&0>a& &(c=0);try {b[c].getI nputElemen t().$.blur ()}catch(d ){}var f=c ,e=1<x._.p ageCount;d o{f+=a;if( e&&!x._.ta bBarMode&& (f==b.leng th||-1==f) ){x._.tabB arMode=!0; x._.tabs[x ._.current TabId][0]. focus();        
515   x._.curren tFocusInde x=-1;retur n}f=(f+b.l ength)%b.l ength;if(f ==c)break} while(a&&! b[f].isFoc usable()); b[f].focus ();"text"= =b[f].type &&b[f].sel ect()}}fun ction n(c) {if(x==CKE DITOR.dial og._.curre ntTop){var  d=c.data. getKeystro ke(),f="rt l"==b.lang .dir,g=[37 ,38,39,40] ;B=z=0;if( 9==d||d==C KEDITOR.SH IFT+9)m(d= =CKEDITOR. SHIFT+9?-1 :1),B=1;el se if(d==C KEDITOR.AL T+121&&!x. _.tabBarMo de&&1<x.ge tPageCount ())x._.tab BarMode=!0 ,x._.tabs[ x._.curren tTabId][0] .focus(),x ._.current FocusIndex =-1,B=1;el se if(-1!= CKEDITOR.t ools.index Of(g,        
516   d)&&x._.ta bBarMode)d =-1!=CKEDI TOR.tools. indexOf([f ?39:37,38] ,d)?a.call (x):e.call (x),x.sele ctPage(d), x._.tabs[d ][0].focus (),B=1;els e if(13!=d &&32!=d||! x._.tabBar Mode)if(13 ==d)d=c.da ta.getTarg et(),d.is( "a","butto n","select ","textare a")||d.is( "input")&& "button"== d.$.type|| ((d=this.g etButton(" ok"))&&CKE DITOR.tool s.setTimeo ut(d.click ,0,d),B=1) ,z=1;else  if(27==d)( d=this.get Button("ca ncel"))?CK EDITOR.too ls.setTime out(d.clic k,0,d):!1! ==this.fir e("cancel" ,{hide:!0} ).hide&&th is.hide(), z=1;else r eturn;else  this.sele ctPage(thi s._.curren tTabId),        
517   this._.tab BarMode=!1 ,this._.cu rrentFocus Index=-1,m (1),B=1;w( c)}}functi on w(a){B? a.data.pre ventDefaul t(1):z&&a. data.stopP ropagation ()}var q=C KEDITOR.di alog._.dia logDefinit ions[f],y= CKEDITOR.t ools.clone (u),t=b.co nfig.dialo g_buttonsO rder||"OS" ,p=b.lang. dir,r={},B ,z;("OS"== t&&CKEDITO R.env.mac| |"rtl"==t& &"ltr"==p| |"ltr"==t& &"rtl"==p) &&y.button s.reverse( );q=CKEDIT OR.tools.e xtend(q(b) ,y);q=CKED ITOR.tools .clone(q); q=new v(th is,q);y=k( b);this._= {editor:b, element:y. element,na me:f,conte ntSize:{wi dth:0,heig ht:0},        
518   size:{widt h:0,height :0},conten ts:{},butt ons:{},acc essKeyMap: {},tabs:{} ,tabIdList :[],curren tTabId:nul l,currentT abIndex:nu ll,pageCou nt:0,lastT ab:null,ta bBarMode:! 1,focusLis t:[],curre ntFocusInd ex:0,hasFo cus:!1};th is.parts=y .parts;CKE DITOR.tool s.setTimeo ut(functio n(){b.fire ("ariaWidg et",this.p arts.conte nts)},0,th is);y={pos ition:CKED ITOR.env.i e6Compat?" absolute": "fixed",to p:0,visibi lity:"hidd en"};y["rt l"==p?"rig ht":"left" ]=0;this.p arts.dialo g.setStyle s(y);CKEDI TOR.event. call(this) ;this.defi nition=q=C KEDITOR.fi re("dialog Definition ",        
519   {name:f,de finition:q },b).defin ition;if(! ("removeDi alogTabs"i n b._)&&b. config.rem oveDialogT abs){y=b.c onfig.remo veDialogTa bs.split(" ;");for(p= 0;p<y.leng th;p++)if( t=y[p].spl it(":"),2= =t.length) {var C=t[0 ];r[C]||(r [C]=[]);r[ C].push(t[ 1])}b._.re moveDialog Tabs=r}if( b._.remove DialogTabs &&(r=b._.r emoveDialo gTabs[f])) for(p=0;p< r.length;p ++)q.remov eContents( r[p]);if(q .onLoad)th is.on("loa d",q.onLoa d);if(q.on Show)this. on("show", q.onShow); if(q.onHid e)this.on( "hide",q.o nHide);if( q.onOk)thi s.on("ok", function(a ){b.fire(" saveSnapsh ot");        
520   setTimeout (function( ){b.fire(" saveSnapsh ot")},0);! 1===q.onOk .call(this ,a)&&(a.da ta.hide=!1 )});this.s tate=CKEDI TOR.DIALOG _STATE_IDL E;if(q.onC ancel)this .on("cance l",functio n(a){!1=== q.onCancel .call(this ,a)&&(a.da ta.hide=!1 )});var x= this,A=fun ction(a){v ar b=x._.c ontents,c= !1,d;for(d  in b)for( var f in b [d])if(c=a .call(this ,b[d][f])) return};th is.on("ok" ,function( a){A(funct ion(b){if( b.validate ){var d=b. validate(t his),f="st ring"==typ eof d||!1= ==d;f&&(a. data.hide= !1,a.stop( ));c.call( b,!f,"stri ng"==typeo f d?        
521   d:void 0); return f}} )},this,nu ll,0);this .on("cance l",functio n(a){A(fun ction(c){i f(c.isChan ged())retu rn b.confi g.dialog_n oConfirmCa ncel||conf irm(b.lang .common.co nfirmCance l)||(a.dat a.hide=!1) ,!0})},thi s,null,0); this.parts .close.on( "click",fu nction(a){ !1!==this. fire("canc el",{hide: !0}).hide& &this.hide ();a.data. preventDef ault()},th is);this.c hangeFocus =m;var D=t his._.elem ent;b.focu sManager.a dd(D,1);th is.on("sho w",functio n(){D.on(" keydown",n ,this);if( CKEDITOR.e nv.gecko)D .on("keypr ess",w,thi s)});this. on("hide",        
522   function() {D.removeL istener("k eydown",n) ;CKEDITOR. env.gecko& &D.removeL istener("k eypress",w );A(functi on(a){d.ap ply(a)})}) ;this.on(" iframeAdde d",functio n(a){(new  CKEDITOR.d om.documen t(a.data.i frame.$.co ntentWindo w.document )).on("key down",n,th is,null,0) });this.on ("show",fu nction(){l ();var a=1 <x._.pageC ount;b.con fig.dialog _startupFo cusTab&&a? (x._.tabBa rMode=!0,x ._.tabs[x. _.currentT abId][0].f ocus(),x._ .currentFo cusIndex=- 1):this._. hasFocus|| (this._.cu rrentFocus Index=a?-1 :this._.fo cusList.le ngth-1,q.o nFocus?        
523   (a=q.onFoc us.call(th is))&&a.fo cus():m(1) )},this,nu ll,4294967 295);if(CK EDITOR.env .ie6Compat )this.on(" load",func tion(){var  a=this.ge tElement() ,b=a.getFi rst();b.re move();b.a ppendTo(a) },this);h( this);g(th is);(new C KEDITOR.do m.text(q.t itle,CKEDI TOR.docume nt)).appen dTo(this.p arts.title );for(p=0; p<q.conten ts.length; p++)(r=q.c ontents[p] )&&this.ad dPage(r);t his.parts. tabs.on("c lick",func tion(a){va r b=a.data .getTarget ();b.hasCl ass("cke_d ialog_tab" )&&(b=b.$. id,this.se lectPage(b .substring (4,b.lastI ndexOf("_" ))),        
524   this._.tab BarMode&&( this._.tab BarMode=!1 ,this._.cu rrentFocus Index=-1,m (1)),a.dat a.preventD efault())} ,this);p=[ ];r=CKEDIT OR.dialog. _.uiElemen tBuilders. hbox.build (this,{typ e:"hbox",c lassName:" cke_dialog _footer_bu ttons",wid ths:[],chi ldren:q.bu ttons},p). getChild() ;this.part s.footer.s etHtml(p.j oin(""));f or(p=0;p<r .length;p+ +)this._.b uttons[r[p ].id]=r[p] };CKEDITOR .dialog.pr ototype={d estroy:fun ction(){th is.hide(); this._.ele ment.remov e()},resiz e:function (){return  function(a ,b){this._ .contentSi ze&&this._ .contentSi ze.width==        
525   a&&this._. contentSiz e.height== b||(CKEDIT OR.dialog. fire("resi ze",{dialo g:this,wid th:a,heigh t:b},this. _.editor), this.fire( "resize",{ width:a,he ight:b},th is._.edito r),this.pa rts.conten ts.setStyl es({width: a+"px",hei ght:b+"px" }),"rtl"== this._.edi tor.lang.d ir&&this._ .position& &(this._.p osition.x= CKEDITOR.d ocument.ge tWindow(). getViewPan eSize().wi dth-this._ .contentSi ze.width-p arseInt(th is._.eleme nt.getFirs t().getSty le("right" ),10)),thi s._.conten tSize={wid th:a,heigh t:b})}}(), getSize:fu nction(){v ar a=this. _.element. getFirst() ;        
526   return{wid th:a.$.off setWidth|| 0,height:a .$.offsetH eight||0}} ,move:func tion(a,b,c ){var d=th is._.eleme nt.getFirs t(),f="rtl "==this._. editor.lan g.dir,e="f ixed"==d.g etComputed Style("pos ition");CK EDITOR.env .ie&&d.set Style("zoo m","100%") ;e&&this._ .position& &this._.po sition.x== a&&this._. position.y ==b||(this ._.positio n={x:a,y:b },e||(e=CK EDITOR.doc ument.getW indow().ge tScrollPos ition(),a+ =e.x,b+=e. y),f&&(e=t his.getSiz e(),a=CKED ITOR.docum ent.getWin dow().getV iewPaneSiz e().width- e.width-a) ,b={top:(0 <b?b:0)+"p x"},        
527   b[f?"right ":"left"]= (0<a?a:0)+ "px",d.set Styles(b), c&&(this._ .moved=1)) },getPosit ion:functi on(){retur n CKEDITOR .tools.ext end({},thi s._.positi on)},show: function() {var a=thi s._.elemen t,b=this.d efinition; a.getParen t()&&a.get Parent().e quals(CKED ITOR.docum ent.getBod y())?a.set Style("dis play","blo ck"):a.app endTo(CKED ITOR.docum ent.getBod y());this. resize(thi s._.conten tSize&&thi s._.conten tSize.widt h||b.width ||b.minWid th,this._. contentSiz e&&this._. contentSiz e.height|| b.height|| b.minHeigh t);this.re set();this .selectPag e(this.def inition.co ntents[0]. id);        
528   null===CKE DITOR.dial og._.curre ntZIndex&& (CKEDITOR. dialog._.c urrentZInd ex=this._. editor.con fig.baseFl oatZIndex) ;this._.el ement.getF irst().set Style("z-i ndex",CKED ITOR.dialo g._.curren tZIndex+=1 0);null=== CKEDITOR.d ialog._.cu rrentTop?( CKEDITOR.d ialog._.cu rrentTop=t his,this._ .parentDia log=null,r (this._.ed itor)):(th is._.paren tDialog=CK EDITOR.dia log._.curr entTop,thi s._.parent Dialog.get Element(). getFirst() .$.style.z Index-=Mat h.floor(th is._.edito r.config.b aseFloatZI ndex/2),CK EDITOR.dia log._.curr entTop=thi s);        
529   a.on("keyd own",D);a. on("keyup" ,G);this._ .hasFocus= !1;for(var  c in b.co ntents)if( b.contents [c]){var a =b.content s[c],d=thi s._.tabs[a .id],e=a.r equiredCon tent,g=0;i f(d){for(v ar k in th is._.conte nts[a.id]) {var h=thi s._.conten ts[a.id][k ];"hbox"!= h.type&&"v box"!=h.ty pe&&h.getI nputElemen t()&&(h.re quiredCont ent&&!this ._.editor. activeFilt er.check(h .requiredC ontent)?h. disable(): (h.enable( ),g++))}!g ||e&&!this ._.editor. activeFilt er.check(e )?d[0].add Class("cke _dialog_ta b_disabled "):d[0].re moveClass( "cke_dialo g_tab_disa bled")}}CK EDITOR.too ls.setTime out(functi on(){this. layout();        
530   f(this);th is.parts.d ialog.setS tyle("visi bility","" );this.fir eOnce("loa d",{});CKE DITOR.ui.f ire("ready ",this);th is.fire("s how",{});t his._.edit or.fire("d ialogShow" ,this);thi s._.parent Dialog||th is._.edito r.focusMan ager.lock( );this.for each(funct ion(a){a.s etInitValu e&&a.setIn itValue()} )},100,thi s)},layout :function( ){var a=th is.parts.d ialog,b=th is.getSize (),c=CKEDI TOR.docume nt.getWind ow().getVi ewPaneSize (),d=(c.wi dth-b.widt h)/2,f=(c. height-b.h eight)/2;C KEDITOR.en v.ie6Compa t||(b.heig ht+(0<f?f: 0)>c.heigh t||        
531   b.width+(0 <d?d:0)>c. width?a.se tStyle("po sition","a bsolute"): a.setStyle ("position ","fixed") );this.mov e(this._.m oved?this. _.position .x:d,this. _.moved?th is._.posit ion.y:f)}, foreach:fu nction(a){ for(var b  in this._. contents)f or(var c i n this._.c ontents[b] )a.call(th is,this._. contents[b ][c]);retu rn this},r eset:funct ion(){var  a=function (a){a.rese t&&a.reset (1)};retur n function (){this.fo reach(a);r eturn this }}(),setup Content:fu nction(){v ar a=argum ents;this. foreach(fu nction(b){ b.setup&&b .setup.app ly(b,a)})} ,        
532   commitCont ent:functi on(){var a =arguments ;this.fore ach(functi on(b){CKED ITOR.env.i e&&this._. currentFoc usIndex==b .focusInde x&&b.getIn putElement ().$.blur( );b.commit &&b.commit .apply(b,a )})},hide: function() {if(this.p arts.dialo g.isVisibl e()){this. fire("hide ",{});this ._.editor. fire("dial ogHide",th is);this.s electPage( this._.tab IdList[0]) ;var a=thi s._.elemen t;a.setSty le("displa y","none") ;this.part s.dialog.s etStyle("v isibility" ,"hidden") ;for(I(thi s);CKEDITO R.dialog._ .currentTo p!=this;)C KEDITOR.di alog._.cur rentTop.hi de();        
533   if(this._. parentDial og){var b= this._.par entDialog. getElement ().getFirs t();b.setS tyle("z-in dex",parse Int(b.$.st yle.zIndex ,10)+Math. floor(this ._.editor. config.bas eFloatZInd ex/2))}els e t(this._ .editor);i f(CKEDITOR .dialog._. currentTop =this._.pa rentDialog )CKEDITOR. dialog._.c urrentZInd ex-=10;els e{CKEDITOR .dialog._. currentZIn dex=null;a .removeLis tener("key down",D);a .removeLis tener("key up",G);var  c=this._. editor;c.f ocus();set Timeout(fu nction(){c .focusMana ger.unlock ();CKEDITO R.env.iOS& &c.window. focus()},0 )}delete t his._.pare ntDialog;        
534   this.forea ch(functio n(a){a.res etInitValu e&&a.reset InitValue( )});this.s etState(CK EDITOR.DIA LOG_STATE_ IDLE)}},ad dPage:func tion(a){if (!a.requir edContent| |this._.ed itor.filte r.check(a. requiredCo ntent)){fo r(var b=[] ,c=a.label ?' title\x 3d"'+CKEDI TOR.tools. htmlEncode (a.label)+ '"':"",d=C KEDITOR.di alog._.uiE lementBuil ders.vbox. build(this ,{type:"vb ox",classN ame:"cke_d ialog_page _contents" ,children: a.elements ,expand:!! a.expand,p adding:a.p adding,sty le:a.style ||"width:  100%;"},b) ,f=this._. contents[a .id]={},e= d.getChild (),        
535   g=0;d=e.sh ift();)d.n otAllowed| |"hbox"==d .type||"vb ox"==d.typ e||g++,f[d .id]=d,"fu nction"==t ypeof d.ge tChild&&e. push.apply (e,d.getCh ild());g|| (a.hidden= !0);b=CKED ITOR.dom.e lement.cre ateFromHtm l(b.join(" "));b.setA ttribute(" role","tab panel");d= CKEDITOR.e nv;f="cke_ "+a.id+"_" +CKEDITOR. tools.getN extNumber( );c=CKEDIT OR.dom.ele ment.creat eFromHtml( ['\x3ca cl ass\x3d"ck e_dialog_t ab"',0<thi s._.pageCo unt?" cke_ last":"cke _first",c, a.hidden?'  style\x3d "display:n one"':"",'  id\x3d"', f,'"',d.ge cko&&!d.hc ?"":' href \x3d"javas cript:void (0)"',        
536   ' tabIndex \x3d"-1" h idefocus\x 3d"true" r ole\x3d"ta b"\x3e',a. label,"\x3 c/a\x3e"]. join("")); b.setAttri bute("aria -labelledb y",f);this ._.tabs[a. id]=[c,b]; this._.tab IdList.pus h(a.id);!a .hidden&&t his._.page Count++;th is._.lastT ab=c;this. updateStyl e();b.setA ttribute(" name",a.id );b.append To(this.pa rts.conten ts);c.unse lectable() ;this.part s.tabs.app end(c);a.a ccessKey&& (F(this,th is,"CTRL+" +a.accessK ey,K,H),th is._.acces sKeyMap["C TRL+"+a.ac cessKey]=a .id)}},sel ectPage:fu nction(a){ if(this._. currentTab Id!=a&&!th is._.tabs[ a][0].hasC lass("cke_ dialog_tab _disabled" )&&        
537   !1!==this. fire("sele ctPage",{p age:a,curr entPage:th is._.curre ntTabId})) {for(var c  in this._ .tabs){var  d=this._. tabs[c][0] ,f=this._. tabs[c][1] ;c!=a&&(d. removeClas s("cke_dia log_tab_se lected"),f .hide());f .setAttrib ute("aria- hidden",c! =a)}var e= this._.tab s[a];e[0]. addClass(" cke_dialog _tab_selec ted");CKED ITOR.env.i e6Compat|| CKEDITOR.e nv.ie7Comp at?(b(e[1] ),e[1].sho w(),setTim eout(funct ion(){b(e[ 1],1)},0)) :e[1].show ();this._. currentTab Id=a;this. _.currentT abIndex=CK EDITOR.too ls.indexOf (this._.ta bIdList,a) }},        
538   updateStyl e:function (){this.pa rts.dialog [(1===this ._.pageCou nt?"add":" remove")+" Class"]("c ke_single_ page")},hi dePage:fun ction(b){v ar c=this. _.tabs[b]& &this._.ta bs[b][0];c &&1!=this. _.pageCoun t&&c.isVis ible()&&(b ==this._.c urrentTabI d&&this.se lectPage(a .call(this )),c.hide( ),this._.p ageCount-- ,this.upda teStyle()) },showPage :function( a){if(a=th is._.tabs[ a]&&this._ .tabs[a][0 ])a.show() ,this._.pa geCount++, this.updat eStyle()}, getElement :function( ){return t his._.elem ent},getNa me:functio n(){return  this._.na me},        
539   getContent Element:fu nction(a,b ){var c=th is._.conte nts[a];ret urn c&&c[b ]},getValu eOf:functi on(a,b){re turn this. getContent Element(a, b).getValu e()},setVa lueOf:func tion(a,b,c ){return t his.getCon tentElemen t(a,b).set Value(c)}, getButton: function(a ){return t his._.butt ons[a]},cl ick:functi on(a){retu rn this._. buttons[a] .click()}, disableBut ton:functi on(a){retu rn this._. buttons[a] .disable() },enableBu tton:funct ion(a){ret urn this._ .buttons[a ].enable() },getPageC ount:funct ion(){retu rn this._. pageCount} ,getParent Editor:fun ction(){re turn this. _.editor},        
540   getSelecte dElement:f unction(){ return thi s.getParen tEditor(). getSelecti on().getSe lectedElem ent()},add Focusable: function(a ,b){if("un defined"== typeof b)b =this._.fo cusList.le ngth,this. _.focusLis t.push(new  m(this,a, b));else{t his._.focu sList.spli ce(b,0,new  m(this,a, b));for(va r c=b+1;c< this._.foc usList.len gth;c++)th is._.focus List[c].fo cusIndex++ }},setStat e:function (a){if(thi s.state!=a ){this.sta te=a;if(a= =CKEDITOR. DIALOG_STA TE_BUSY){i f(!this.pa rts.spinne r){var b=t his.getPar entEditor( ).lang.dir ,c={attrib utes:{"cla ss":"cke_d ialog_spin ner"},        
541   styles:{"f loat":"rtl "==b?"righ t":"left"} };c.styles ["margin-" +("rtl"==b ?"left":"r ight")]="8 px";this.p arts.spinn er=CKEDITO R.document .createEle ment("div" ,c);this.p arts.spinn er.setHtml ("\x26#898 7;");this. parts.spin ner.append To(this.pa rts.title, 1)}this.pa rts.spinne r.show();t his.getBut ton("ok"). disable()} else a==CK EDITOR.DIA LOG_STATE_ IDLE&&(thi s.parts.sp inner&&thi s.parts.sp inner.hide (),this.ge tButton("o k").enable ());this.f ire("state ",a)}}};CK EDITOR.too ls.extend( CKEDITOR.d ialog,{add :function( a,b){this. _.dialogDe finitions[ a]&&        
542   "function" !=typeof b ||(this._. dialogDefi nitions[a] =b)},exist s:function (a){return !!this._.d ialogDefin itions[a]} ,getCurren t:function (){return  CKEDITOR.d ialog._.cu rrentTop}, isTabEnabl ed:functio n(a,b,c){a =a.config. removeDial ogTabs;ret urn!(a&&a. match(new  RegExp("(? :^|;)"+b+" :"+c+"(?:$ |;)","i")) )},okButto n:function (){var a=f unction(a, b){b=b||{} ;return CK EDITOR.too ls.extend( {id:"ok",t ype:"butto n",label:a .lang.comm on.ok,"cla ss":"cke_d ialog_ui_b utton_ok", onClick:fu nction(a){ a=a.data.d ialog;!1!= =a.fire("o k",        
543   {hide:!0}) .hide&&a.h ide()}},b, !0)};a.typ e="button" ;a.overrid e=function (b){return  CKEDITOR. tools.exte nd(functio n(c){retur n a(c,b)}, {type:"but ton"},!0)} ;return a} (),cancelB utton:func tion(){var  a=functio n(a,b){b=b ||{};retur n CKEDITOR .tools.ext end({id:"c ancel",typ e:"button" ,label:a.l ang.common .cancel,"c lass":"cke _dialog_ui _button_ca ncel",onCl ick:functi on(a){a=a. data.dialo g;!1!==a.f ire("cance l",{hide:! 0}).hide&& a.hide()}} ,b,!0)};a. type="butt on";a.over ride=funct ion(b){ret urn CKEDIT OR.tools.e xtend(func tion(c){re turn a(c,        
544   b)},{type: "button"}, !0)};retur n a}(),add UIElement: function(a ,b){this._ .uiElement Builders[a ]=b}});CKE DITOR.dial og._={uiEl ementBuild ers:{},dia logDefinit ions:{},cu rrentTop:n ull,curren tZIndex:nu ll};CKEDIT OR.event.i mplementOn (CKEDITOR. dialog);CK EDITOR.eve nt.impleme ntOn(CKEDI TOR.dialog .prototype );var u={r esizable:C KEDITOR.DI ALOG_RESIZ E_BOTH,min Width:600, minHeight: 400,button s:[CKEDITO R.dialog.o kButton,CK EDITOR.dia log.cancel Button]},w =function( a,b,c){for (var d=0,f ;f=a[d];d+ +)if(f.id= =b||c&&f[c ]&&(f=w(f[ c],        
545   b,c)))retu rn f;retur n null},y= function(a ,b,c,d,f){ if(c){for( var e=0,g; g=a[e];e++ ){if(g.id= =c)return  a.splice(e ,0,b),b;if (d&&g[d]&& (g=y(g[d], b,c,d,!0)) )return g} if(f)retur n null}a.p ush(b);ret urn b},B=f unction(a, b,c){for(v ar d=0,f;f =a[d];d++) {if(f.id== b)return a .splice(d, 1);if(c&&f [c]&&(f=B( f[c],b,c)) )return f} return nul l},v=funct ion(a,b){t his.dialog =a;for(var  c=b.conte nts,d=0,f; f=c[d];d++ )c[d]=f&&n ew l(a,f); CKEDITOR.t ools.exten d(this,b)} ;v.prototy pe={getCon tents:func tion(a){re turn w(thi s.contents ,        
546   a)},getBut ton:functi on(a){retu rn w(this. buttons,a) },addConte nts:functi on(a,b){re turn y(thi s.contents ,a,b)},add Button:fun ction(a,b) {return y( this.butto ns,a,b)},r emoveConte nts:functi on(a){B(th is.content s,a)},remo veButton:f unction(a) {B(this.bu ttons,a)}} ;l.prototy pe={get:fu nction(a){ return w(t his.elemen ts,a,"chil dren")},ad d:function (a,b){retu rn y(this. elements,a ,b,"childr en")},remo ve:functio n(a){B(thi s.elements ,a,"childr en")}};var  z,C={},x, A={},D=fun ction(a){v ar b=a.dat a.$.ctrlKe y||a.data. $.metaKey, c=        
547   a.data.$.a ltKey,d=a. data.$.shi ftKey,f=St ring.fromC harCode(a. data.$.key Code);(b=A [(b?"CTRL+ ":"")+(c?" ALT+":"")+ (d?"SHIFT+ ":"")+f])& &b.length& &(b=b[b.le ngth-1],b. keydown&&b .keydown.c all(b.uiEl ement,b.di alog,b.key ),a.data.p reventDefa ult())},G= function(a ){var b=a. data.$.ctr lKey||a.da ta.$.metaK ey,c=a.dat a.$.altKey ,d=a.data. $.shiftKey ,f=String. fromCharCo de(a.data. $.keyCode) ;(b=A[(b?" CTRL+":"") +(c?"ALT+" :"")+(d?"S HIFT+":"") +f])&&b.le ngth&&(b=b [b.length- 1],b.keyup &&(b.keyup .call(b.ui Element,b. dialog,b.k ey),        
548   a.data.pre ventDefaul t()))},F=f unction(a, b,c,d,f){( A[c]||(A[c ]=[])).pus h({uiEleme nt:a,dialo g:b,key:c, keyup:f||a .accessKey Up,keydown :d||a.acce ssKeyDown} )},I=funct ion(a){for (var b in  A){for(var  c=A[b],d= c.length-1 ;0<=d;d--) c[d].dialo g!=a&&c[d] .uiElement !=a||c.spl ice(d,1);0 ===c.lengt h&&delete  A[b]}},H=f unction(a, b){a._.acc essKeyMap[ b]&&a.sele ctPage(a._ .accessKey Map[b])},K =function( ){};(funct ion(){CKED ITOR.ui.di alog={uiEl ement:func tion(a,b,c ,d,f,e,g){ if(!(4>arg uments.len gth)){var  k=(d.call? d(b):d)||" div",        
549   h=["\x3c", k," "],m=( f&&f.call? f(b):f)||{ },l=(e&&e. call?e(b): e)||{},n=( g&&g.call? g.call(thi s,a,b):g)| |"",q=this .domId=l.i d||CKEDITO R.tools.ge tNextId()+ "_uiElemen t";b.requi redContent &&!a.getPa rentEditor ().filter. check(b.re quiredCont ent)&&(m.d isplay="no ne",this.n otAllowed= !0);l.id=q ;var u={}; b.type&&(u ["cke_dial og_ui_"+b. type]=1);b .className &&(u[b.cla ssName]=1) ;b.disable d&&(u.cke_ disabled=1 );for(var  w=l["class "]&&l["cla ss"].split ?l["class" ].split("  "):[],q=0; q<w.length ;q++)w[q]& &(u[w[q]]= 1);w=[];fo r(q in u)w .push(q);        
550   l["class"] =w.join("  ");b.title &&(l.title =b.title); u=(b.style ||"").spli t(";");b.a lign&&(w=b .align,m[" margin-lef t"]="left" ==w?0:"aut o",m["marg in-right"] ="right"== w?0:"auto" );for(q in  m)u.push( q+":"+m[q] );b.hidden &&u.push(" display:no ne");for(q =u.length- 1;0<=q;q-- )""===u[q] &&u.splice (q,1);0<u. length&&(l .style=(l. style?l.st yle+"; ":" ")+u.join( "; "));for (q in l)h. push(q+'\x 3d"'+CKEDI TOR.tools. htmlEncode (l[q])+'"  ');h.push( "\x3e",n," \x3c/",k," \x3e");c.p ush(h.join (""));(thi s._||(this ._={})).di alog=a;"bo olean"==        
551   typeof b.i sChanged&& (this.isCh anged=func tion(){ret urn b.isCh anged});"f unction"== typeof b.i sChanged&& (this.isCh anged=b.is Changed);" function"= =typeof b. setValue&& (this.setV alue=CKEDI TOR.tools. override(t his.setVal ue,functio n(a){retur n function (c){a.call (this,b.se tValue.cal l(this,c)) }}));"func tion"==typ eof b.getV alue&&(thi s.getValue =CKEDITOR. tools.over ride(this. getValue,f unction(a) {return fu nction(){r eturn b.ge tValue.cal l(this,a.c all(this)) }}));CKEDI TOR.event. implementO n(this);th is.registe rEvents(b) ;        
552   this.acces sKeyUp&&th is.accessK eyDown&&b. accessKey& &F(this,a, "CTRL+"+b. accessKey) ;var y=thi s;a.on("lo ad",functi on(){var b =y.getInpu tElement() ;if(b){var  c=y.type  in{checkbo x:1,ratio: 1}&&CKEDIT OR.env.ie& &8>CKEDITO R.env.vers ion?"cke_d ialog_ui_f ocused":"" ;b.on("foc us",functi on(){a._.t abBarMode= !1;a._.has Focus=!0;y .fire("foc us");c&&th is.addClas s(c)});b.o n("blur",f unction(){ y.fire("bl ur");c&&th is.removeC lass(c)})} });CKEDITO R.tools.ex tend(this, b);this.ke yboardFocu sable&&(th is.tabInde x=b.tabInd ex||0,this .focusInde x=        
553   a._.focusL ist.push(t his)-1,thi s.on("focu s",functio n(){a._.cu rrentFocus Index=y.fo cusIndex}) )}},hbox:f unction(a, b,c,d,f){i f(!(4>argu ments.leng th)){this. _||(this._ ={});var e =this._.ch ildren=b,g =f&&f.widt hs||null,k =f&&f.heig ht||null,h ,l={role:" presentati on"};f&&f. align&&(l. align=f.al ign);CKEDI TOR.ui.dia log.uiElem ent.call(t his,a,f||{ type:"hbox "},d,"tabl e",{},l,fu nction(){v ar a=['\x3 ctbody\x3e \x3ctr cla ss\x3d"cke _dialog_ui _hbox"\x3e '];for(h=0 ;h<c.lengt h;h++){var  b="cke_di alog_ui_hb ox_child", d=[];0===h &&        
554   (b="cke_di alog_ui_hb ox_first") ;h==c.leng th-1&&(b=" cke_dialog _ui_hbox_l ast");a.pu sh('\x3ctd  class\x3d "',b,'" ro le\x3d"pre sentation"  ');g?g[h] &&d.push(" width:"+q( g[h])):d.p ush("width :"+Math.fl oor(100/c. length)+"% ");k&&d.pu sh("height :"+q(k));f &&void 0!= =f.padding &&d.push(" padding:"+ q(f.paddin g));CKEDIT OR.env.ie& &CKEDITOR. env.quirks &&e[h].ali gn&&d.push ("text-ali gn:"+e[h]. align);0<d .length&&a .push('sty le\x3d"'+d .join("; " )+'" ');a. push("\x3e ",c[h],"\x 3c/td\x3e" )}a.push(" \x3c/tr\x3 e\x3c/tbod y\x3e");re turn a.joi n("")})}},        
555   vbox:funct ion(a,b,c, d,f){if(!( 3>argument s.length)) {this._||( this._={}) ;var e=thi s._.childr en=b,g=f&& f.width||n ull,h=f&&f .heights|| null;CKEDI TOR.ui.dia log.uiElem ent.call(t his,a,f||{ type:"vbox "},d,"div" ,null,{rol e:"present ation"},fu nction(){v ar b=['\x3 ctable rol e\x3d"pres entation"  cellspacin g\x3d"0" b order\x3d" 0" '];b.pu sh('style\ x3d"');f&& f.expand&& b.push("he ight:100%; ");b.push( "width:"+q (g||"100%" ),";");CKE DITOR.env. webkit&&b. push("floa t:none;"); b.push('"' );b.push(' align\x3d" ',CKEDITOR .tools.htm lEncode(f& &        
556   f.align||( "ltr"==a.g etParentEd itor().lan g.dir?"lef t":"right" )),'" ');b .push("\x3 e\x3ctbody \x3e");for (var d=0;d <c.length; d++){var k =[];b.push ('\x3ctr\x 3e\x3ctd r ole\x3d"pr esentation " ');g&&k. push("widt h:"+q(g||" 100%"));h? k.push("he ight:"+q(h [d])):f&&f .expand&&k .push("hei ght:"+Math .floor(100 /c.length) +"%");f&&v oid 0!==f. padding&&k .push("pad ding:"+q(f .padding)) ;CKEDITOR. env.ie&&CK EDITOR.env .quirks&&e [d].align& &k.push("t ext-align: "+e[d].ali gn);0<k.le ngth&&b.pu sh('style\ x3d"',k.jo in("; "),' " ');b.pus h(' class\ x3d"cke_di alog_ui_vb ox_child"\ x3e',        
557   c[d],"\x3c /td\x3e\x3 c/tr\x3e") }b.push("\ x3c/tbody\ x3e\x3c/ta ble\x3e"); return b.j oin("")})} }}})();CKE DITOR.ui.d ialog.uiEl ement.prot otype={get Element:fu nction(){r eturn CKED ITOR.docum ent.getByI d(this.dom Id)},getIn putElement :function( ){return t his.getEle ment()},ge tDialog:fu nction(){r eturn this ._.dialog} ,setValue: function(a ,b){this.g etInputEle ment().set Value(a);! b&&this.fi re("change ",{value:a });return  this},getV alue:funct ion(){retu rn this.ge tInputElem ent().getV alue()},is Changed:fu nction(){r eturn!1},s electParen tTab:funct ion(){for( var a=        
558   this.getIn putElement ();(a=a.ge tParent()) &&-1==a.$. className. search("ck e_dialog_p age_conten ts"););if( !a)return  this;a=a.g etAttribut e("name"); this._.dia log._.curr entTabId!= a&&this._. dialog.sel ectPage(a) ;return th is},focus: function() {this.sele ctParentTa b().getInp utElement( ).focus(); return thi s},registe rEvents:fu nction(a){ var b=/^on ([A-Z]\w+) /,c,d=func tion(a,b,c ,d){b.on(" load",func tion(){a.g etInputEle ment().on( c,d,a)})}, f;for(f in  a)if(c=f. match(b))t his.eventP rocessors[ f]?this.ev entProcess ors[f].cal l(this,        
559   this._.dia log,a[f]): d(this,thi s._.dialog ,c[1].toLo werCase(), a[f]);retu rn this},e ventProces sors:{onLo ad:functio n(a,b){a.o n("load",b ,this)},on Show:funct ion(a,b){a .on("show" ,b,this)}, onHide:fun ction(a,b) {a.on("hid e",b,this) }},accessK eyDown:fun ction(){th is.focus() },accessKe yUp:functi on(){},dis able:funct ion(){var  a=this.get Element(); this.getIn putElement ().setAttr ibute("dis abled","tr ue");a.add Class("cke _disabled" )},enable: function() {var a=thi s.getEleme nt();this. getInputEl ement().re moveAttrib ute("disab led");        
560   a.removeCl ass("cke_d isabled")} ,isEnabled :function( ){return!t his.getEle ment().has Class("cke _disabled" )},isVisib le:functio n(){return  this.getI nputElemen t().isVisi ble()},isF ocusable:f unction(){ return thi s.isEnable d()&&this. isVisible( )?!0:!1}}; CKEDITOR.u i.dialog.h box.protot ype=CKEDIT OR.tools.e xtend(new  CKEDITOR.u i.dialog.u iElement,{ getChild:f unction(a) {if(1>argu ments.leng th)return  this._.chi ldren.conc at();a.spl ice||(a=[a ]);return  2>a.length ?this._.ch ildren[a[0 ]]:this._. children[a [0]]&&this ._.childre n[a[0]].ge tChild?        
561   this._.chi ldren[a[0] ].getChild (a.slice(1 ,a.length) ):null}},! 0);CKEDITO R.ui.dialo g.vbox.pro totype=new  CKEDITOR. ui.dialog. hbox;(func tion(){var  a={build: function(a ,b,c){for( var d=b.ch ildren,f,e =[],g=[],k =0;k<d.len gth&&(f=d[ k]);k++){v ar h=[];e. push(h);g. push(CKEDI TOR.dialog ._.uiEleme ntBuilders [f.type].b uild(a,f,h ))}return  new CKEDIT OR.ui.dial og[b.type] (a,g,e,c,b )}};CKEDIT OR.dialog. addUIEleme nt("hbox", a);CKEDITO R.dialog.a ddUIElemen t("vbox",a )})();CKED ITOR.dialo gCommand=f unction(a, b){this.di alogName=a ;        
562   CKEDITOR.t ools.exten d(this,b,! 0)};CKEDIT OR.dialogC ommand.pro totype={ex ec:functio n(a){a.ope nDialog(th is.dialogN ame)},canU ndo:!1,edi torFocus:1 };(functio n(){var a= /^([a]|[^a ])+$/,b=/^ \d*$/,c=/^ \d*(?:\.\d +)?$/,d=/^ (((\d*(\.\ d+))|(\d*) )(px|\%)?) ?$/,f=/^(( (\d*(\.\d+ ))|(\d*))( px|em|ex|i n|cm|mm|pt |pc|\%)?)? $/i,e=/^(\ s*[\w-]+\s *:\s*[^:;] +(?:;|$))* $/;CKEDITO R.VALIDATE _OR=1;CKED ITOR.VALID ATE_AND=2; CKEDITOR.d ialog.vali date={func tions:func tion(){var  a=argumen ts;return  function() {var b=thi s&&this.ge tValue?thi s.getValue ():        
563   a[0],c,d=C KEDITOR.VA LIDATE_AND ,f=[],e;fo r(e=0;e<a. length;e++ )if("funct ion"==type of a[e])f. push(a[e]) ;else brea k;e<a.leng th&&"strin g"==typeof  a[e]&&(c= a[e],e++); e<a.length &&"number" ==typeof a [e]&&(d=a[ e]);var g= d==CKEDITO R.VALIDATE _AND?!0:!1 ;for(e=0;e <f.length; e++)g=d==C KEDITOR.VA LIDATE_AND ?g&&f[e](b ):g||f[e]( b);return  g?!0:c}},r egex:funct ion(a,b){r eturn func tion(c){c= this&&this .getValue? this.getVa lue():c;re turn a.tes t(c)?!0:b} },notEmpty :function( b){return  this.regex (a,b)},int eger:funct ion(a){ret urn this.r egex(b,        
564   a)},number :function( a){return  this.regex (c,a)},css Length:fun ction(a){r eturn this .functions (function( a){return  f.test(CKE DITOR.tool s.trim(a)) },a)},html Length:fun ction(a){r eturn this .functions (function( a){return  d.test(CKE DITOR.tool s.trim(a)) },a)},inli neStyle:fu nction(a){ return thi s.function s(function (a){return  e.test(CK EDITOR.too ls.trim(a) )},a)},equ als:functi on(a,b){re turn this. functions( function(b ){return b ==a},b)},n otEqual:fu nction(a,b ){return t his.functi ons(functi on(b){retu rn b!=a},b )}};CKEDIT OR.on("ins tanceDestr oyed",        
565   function(a ){if(CKEDI TOR.tools. isEmpty(CK EDITOR.ins tances)){f or(var b;b =CKEDITOR. dialog._.c urrentTop; )b.hide(); for(var c  in C)C[c]. remove();C ={}}a=a.ed itor._.sto redDialogs ;for(var d  in a)a[d] .destroy() })})();CKE DITOR.tool s.extend(C KEDITOR.ed itor.proto type,{open Dialog:fun ction(a,b) {var c=nul l,d=CKEDIT OR.dialog. _.dialogDe finitions[ a];null=== CKEDITOR.d ialog._.cu rrentTop&& r(this);if ("function "==typeof  d)c=this._ .storedDia logs||(thi s._.stored Dialogs={} ),c=c[a]|| (c[a]=new  CKEDITOR.d ialog(this ,a)),b&&b. call(c,        
566   c),c.show( );else{if( "failed"== d)throw t( this),Erro r('[CKEDIT OR.dialog. openDialog ] Dialog " '+a+'" fai led when l oading def inition.') ;"string"= =typeof d& &CKEDITOR. scriptLoad er.load(CK EDITOR.get Url(d),fun ction(){"f unction"!= typeof CKE DITOR.dial og._.dialo gDefinitio ns[a]&&(CK EDITOR.dia log._.dial ogDefiniti ons[a]="fa iled");thi s.openDial og(a,b)},t his,0,1)}C KEDITOR.sk in.loadPar t("dialog" );return c }})}(),CKE DITOR.plug ins.add("d ialog",{re quires:"di alogui",in it:functio n(a){a.on( "doublecli ck",functi on(e){e.da ta.dialog& &        
567   a.openDial og(e.data. dialog)},n ull,null,9 99)}}),fun ction(){CK EDITOR.plu gins.add(" a11yhelp", {requires: "dialog",a vailableLa ngs:{af:1, ar:1,bg:1, ca:1,cs:1, cy:1,da:1, de:1,el:1, en:1,"en-g b":1,eo:1, es:1,et:1, fa:1,fi:1, fo:1,fr:1, "fr-ca":1, gl:1,gu:1, he:1,hi:1, hr:1,hu:1, id:1,it:1, ja:1,km:1, ko:1,ku:1, lt:1,lv:1, mk:1,mn:1, nb:1,nl:1, no:1,pl:1, pt:1,"pt-b r":1,ro:1, ru:1,si:1, sk:1,sl:1, sq:1,sr:1, "sr-latn": 1,sv:1,th: 1,tr:1,tt: 1,ug:1,uk: 1,vi:1,zh: 1,"zh-cn": 1},init:fu nction(a){ var e=this ;a.addComm and("a11yH elp",{exec :function( ){var b=        
568   a.langCode ,b=e.avail ableLangs[ b]?b:e.ava ilableLang s[b.replac e(/-.*/,"" )]?b.repla ce(/-.*/," "):"en";CK EDITOR.scr iptLoader. load(CKEDI TOR.getUrl (e.path+"d ialogs/lan g/"+b+".js "),functio n(){a.lang .a11yhelp= e.langEntr ies[b];a.o penDialog( "a11yHelp" )})},modes :{wysiwyg: 1,source:1 },readOnly :1,canUndo :!1});a.se tKeystroke (CKEDITOR. ALT+48,"a1 1yHelp");C KEDITOR.di alog.add(" a11yHelp", this.path+ "dialogs/a 11yhelp.js ");a.on("a riaEditorH elpLabel", function(b ){b.data.l abel=a.lan g.common.e ditorHelp} )}})}(),CK EDITOR.plu gins.add(" about",        
569   {requires: "dialog",i nit:functi on(a){var  e=a.addCom mand("abou t",new CKE DITOR.dial ogCommand( "about")); e.modes={w ysiwyg:1,s ource:1};e .canUndo=! 1;e.readOn ly=1;a.ui. addButton& &a.ui.addB utton("Abo ut",{label :a.lang.ab out.title, command:"a bout",tool bar:"about "});CKEDIT OR.dialog. add("about ",this.pat h+"dialogs /about.js" )}}),CKEDI TOR.plugin s.add("bas icstyles", {init:func tion(a){va r e=0,b=fu nction(b,d ,k,h){if(h ){h=new CK EDITOR.sty le(h);var  g=c[k];g.u nshift(h); a.attachSt yleStateCh ange(h,fun ction(b){! a.readOnly &&        
570   a.getComma nd(k).setS tate(b)}); a.addComma nd(k,new C KEDITOR.st yleCommand (h,{conten tForms:g}) );a.ui.add Button&&a. ui.addButt on(b,{labe l:d,comman d:k,toolba r:"basicst yles,"+(e+ =10)})}},c ={bold:["s trong","b" ,["span",f unction(a) {a=a.style s["font-we ight"];ret urn"bold"= =a||700<=+ a}]],itali c:["em","i ",["span", function(a ){return"i talic"==a. styles["fo nt-style"] }]],underl ine:["u",[ "span",fun ction(a){r eturn"unde rline"==a. styles["te xt-decorat ion"]}]],s trike:["s" ,"strike", ["span",fu nction(a){ return"lin e-through" ==        
571   a.styles[" text-decor ation"]}]] ,subscript :["sub"],s uperscript :["sup"]}, d=a.config ,k=a.lang. basicstyle s;b("Bold" ,k.bold,"b old",d.cor eStyles_bo ld);b("Ita lic",k.ita lic,"itali c",d.coreS tyles_ital ic);b("Und erline",k. underline, "underline ",d.coreSt yles_under line);b("S trike",k.s trike,"str ike",d.cor eStyles_st rike);b("S ubscript", k.subscrip t,"subscri pt",d.core Styles_sub script);b( "Superscri pt",k.supe rscript,"s uperscript ",d.coreSt yles_super script);a. setKeystro ke([[CKEDI TOR.CTRL+6 6,"bold"], [CKEDITOR. CTRL+73,"i talic"],        
572   [CKEDITOR. CTRL+85,"u nderline"] ])}}),CKED ITOR.confi g.coreStyl es_bold={e lement:"st rong",over rides:"b"} ,CKEDITOR. config.cor eStyles_it alic={elem ent:"em",o verrides:" i"},CKEDIT OR.config. coreStyles _underline ={element: "u"},CKEDI TOR.config .coreStyle s_strike={ element:"s ",override s:"strike" },CKEDITOR .config.co reStyles_s ubscript={ element:"s ub"},CKEDI TOR.config .coreStyle s_superscr ipt={eleme nt:"sup"}, function() {function  a(a,b,c,d) {if(!a.isR eadOnly()& &!a.equals (c.editabl e())){CKED ITOR.dom.e lement.set Marker(d,a ,        
573   "bidi_proc essed",1); d=a;for(va r f=c.edit able();(d= d.getParen t())&&!d.e quals(f);) if(d.getCu stomData(" bidi_proce ssed")){a. removeStyl e("directi on");a.rem oveAttribu te("dir"); return}d=" useCompute dState"in  c.config?c .config.us eComputedS tate:1;(d? a.getCompu tedStyle(" direction" ):a.getSty le("direct ion")||a.h asAttribut e("dir"))! =b&&(a.rem oveStyle(" direction" ),d?(a.rem oveAttribu te("dir"), b!=a.getCo mputedStyl e("directi on")&&a.se tAttribute ("dir",b)) :a.setAttr ibute("dir ",b),c.for ceNextSele ctionCheck ())}}funct ion e(a,        
574   b,c){var d =a.getComm onAncestor (!1,!0);a= a.clone(); a.enlarge( c==CKEDITO R.ENTER_BR ?CKEDITOR. ENLARGE_LI ST_ITEM_CO NTENTS:CKE DITOR.ENLA RGE_BLOCK_ CONTENTS); if(a.check BoundaryOf Element(d, CKEDITOR.S TART)&&a.c heckBounda ryOfElemen t(d,CKEDIT OR.END)){f or(var f;d &&d.type== CKEDITOR.N ODE_ELEMEN T&&(f=d.ge tParent()) &&1==f.get ChildCount ()&&!(d.ge tName()in  b);)d=f;re turn d.typ e==CKEDITO R.NODE_ELE MENT&&d.ge tName()in  b&&d}}func tion b(b){ return{con text:"p",a llowedCont ent:{"h1 h 2 h3 h4 h5  h6 table  ul ol bloc kquote div  tr p div  li td":{pr opertiesOn ly:!0,        
575   attributes :"dir"}},r equiredCon tent:"p[di r]",refres h:function (a,b){var  c=a.config .useComput edState,d, c=void 0== =c||c;if(! c){d=b.las tElement;f or(var f=a .editable( );d&&!(d.g etName()in  m||d.equa ls(f));){v ar e=d.get Parent();i f(!e)break ;d=e}}d=d| |b.block|| b.blockLim it;d.equal s(a.editab le())&&(f= a.getSelec tion().get Ranges()[0 ].getEnclo sedNode()) &&f.type== CKEDITOR.N ODE_ELEMEN T&&(d=f);d &&(c=c?d.g etComputed Style("dir ection"):d .getStyle( "direction ")||d.getA ttribute(" dir"),a.ge tCommand(" bidirtl"). setState(" rtl"==        
576   c?CKEDITOR .TRISTATE_ ON:CKEDITO R.TRISTATE _OFF),a.ge tCommand(" bidiltr"). setState(" ltr"==c?CK EDITOR.TRI STATE_ON:C KEDITOR.TR ISTATE_OFF ));c=(b.bl ock||b.blo ckLimit||a .editable( )).getDire ction(1);c !=(a._.sel Dir||a.lan g.dir)&&(a ._.selDir= c,a.fire(" contentDir Changed",c ))},exec:f unction(c) {var f=c.g etSelectio n(),h=c.co nfig.enter Mode,l=f.g etRanges() ;if(l&&l.l ength){for (var m={}, u=f.create Bookmarks( ),l=l.crea teIterator (),w,y=0;w =l.getNext Range(1);) {var B=w.g etEnclosed Node();B&& (!B||B.typ e==CKEDITO R.NODE_ELE MENT&&        
577   B.getName( )in k)||(B =e(w,d,h)) ;B&&a(B,b, c,m);var v =new CKEDI TOR.dom.wa lker(w),z= u[y].start Node,C=u[y ++].endNod e;v.evalua tor=functi on(a){var  b=h==CKEDI TOR.ENTER_ P?"p":"div ",c;if(c=( a?a.type== CKEDITOR.N ODE_ELEMEN T:!1)&&a.g etName()in  d){if(b=a .is(b))b=( b=a.getPar ent())?b.t ype==CKEDI TOR.NODE_E LEMENT:!1; c=!(b&&a.g etParent() .is("block quote"))}r eturn!!(c& &a.getPosi tion(z)&CK EDITOR.POS ITION_FOLL OWING&&(a. getPositio n(C)&CKEDI TOR.POSITI ON_PRECEDI NG+CKEDITO R.POSITION _CONTAINS) ==CKEDITOR .POSITION_ PRECEDING) };        
578   for(;B=v.n ext();)a(B ,b,c,m);w= w.createIt erator();f or(w.enlar geBr=h!=CK EDITOR.ENT ER_BR;B=w. getNextPar agraph(h== CKEDITOR.E NTER_P?"p" :"div");)a (B,b,c,m)} CKEDITOR.d om.element .clearAllM arkers(m); c.forceNex tSelection Check();f. selectBook marks(u);c .focus()}} }}function  c(a){var  b=a==f.set Attribute, c=a==f.rem oveAttribu te,d=/\bdi rection\s* :\s*(.*?)\ s*(:?$|;)/ ;return fu nction(f,e ){if(!this .isReadOnl y()){var k ;if(k=f==( b||c?"dir" :"directio n")||"styl e"==f&&(c| |d.test(e) )){a:{k=th is;for(var  h=k.getDo cument().g etBody().g etParent() ;k;){if(k. equals(h)) {k=        
579   !1;break a }k=k.getPa rent()}k=! 0}k=!k}if( k&&(k=this .getDirect ion(1),h=a .apply(thi s,argument s),k!=this .getDirect ion(1)))re turn this. getDocumen t().fire(" dirChanged ",this),h} return a.a pply(this, arguments) }}var d={t able:1,ul: 1,ol:1,blo ckquote:1, div:1},k={ },m={};CKE DITOR.tool s.extend(k ,d,{tr:1,p :1,div:1,l i:1});CKED ITOR.tools .extend(m, k,{td:1}); CKEDITOR.p lugins.add ("bidi",{i nit:functi on(a){func tion c(b,d ,f,e,k){a. addCommand (f,new CKE DITOR.comm and(a,e)); a.ui.addBu tton&&a.ui .addButton (b,{label: d,command: f,        
580   toolbar:"b idi,"+k})} if(!a.bloc kless){var  d=a.lang. bidi;c("Bi diLtr",d.l tr,"bidilt r",b("ltr" ),10);c("B idiRtl",d. rtl,"bidir tl",b("rtl "),20);a.o n("content Dom",funct ion(){a.do cument.on( "dirChange d",functio n(b){a.fir e("dirChan ged",{node :b.data,di r:b.data.g etDirectio n(1)})})}) ;a.on("con tentDirCha nged",func tion(b){b= (a.lang.di r!=b.data? "add":"rem ove")+"Cla ss";var c= a.ui.space (a.config. toolbarLoc ation);if( c)c[b]("ck e_mixed_di r_content" )})}}});fo r(var f=CK EDITOR.dom .element.p rototype,l =["setStyl e","remove Style",        
581   "setAttrib ute","remo veAttribut e"],h=0;h< l.length;h ++)f[l[h]] =CKEDITOR. tools.over ride(f[l[h ]],c)}(),f unction(){ var a={exe c:function (a){var b= a.getComma nd("blockq uote").sta te,c=a.get Selection( ),d=c&&c.g etRanges() [0];if(d){ var k=c.cr eateBookma rks();if(C KEDITOR.en v.ie){var  m=k[0].sta rtNode,f=k [0].endNod e,l;if(m&& "blockquot e"==m.getP arent().ge tName())fo r(l=m;l=l. getNext(); )if(l.type ==CKEDITOR .NODE_ELEM ENT&&l.isB lockBounda ry()){m.mo ve(l,!0);b reak}if(f& &"blockquo te"==f.get Parent().g etName())f or(l=f;l=l .getPrevio us();)if(l .type==        
582   CKEDITOR.N ODE_ELEMEN T&&l.isBlo ckBoundary ()){f.move (l);break} }var h=d.c reateItera tor();h.en largeBr=a. config.ent erMode!=CK EDITOR.ENT ER_BR;if(b ==CKEDITOR .TRISTATE_ OFF){for(m =[];b=h.ge tNextParag raph();)m. push(b);1> m.length&& (b=a.docum ent.create Element(a. config.ent erMode==CK EDITOR.ENT ER_P?"p":" div"),f=k. shift(),d. insertNode (b),b.appe nd(new CKE DITOR.dom. text("",a .document) ),d.moveTo Bookmark(f ),d.select NodeConten ts(b),d.co llapse(!0) ,f=d.creat eBookmark( ),m.push(b ),k.unshif t(f));l=m[ 0].getPare nt();d=[]; for(f=        
583   0;f<m.leng th;f++)b=m [f],l=l.ge tCommonAnc estor(b.ge tParent()) ;for(b={ta ble:1,tbod y:1,tr:1,o l:1,ul:1}; b[l.getNam e()];)l=l. getParent( );for(f=nu ll;0<m.len gth;){for( b=m.shift( );!b.getPa rent().equ als(l);)b= b.getParen t();b.equa ls(f)||d.p ush(b);f=b }for(;0<d. length;)if (b=d.shift (),"blockq uote"==b.g etName()){ for(f=new  CKEDITOR.d om.documen tFragment( a.document );b.getFir st();)f.ap pend(b.get First().re move()),m. push(f.get Last());f. replace(b) }else m.pu sh(b);d=a. document.c reateEleme nt("blockq uote");for (d.insertB efore(m[0] );0<        
584   m.length;) b=m.shift( ),d.append (b)}else i f(b==CKEDI TOR.TRISTA TE_ON){f=[ ];for(l={} ;b=h.getNe xtParagrap h();){for( m=d=null;b .getParent ();){if("b lockquote" ==b.getPar ent().getN ame()){d=b .getParent ();m=b;bre ak}b=b.get Parent()}d &&m&&!m.ge tCustomDat a("blockqu ote_moveou t")&&(f.pu sh(m),CKED ITOR.dom.e lement.set Marker(l,m ,"blockquo te_moveout ",!0))}CKE DITOR.dom. element.cl earAllMark ers(l);b=[ ];m=[];for (l={};0<f. length;)h= f.shift(), d=h.getPar ent(),h.ge tPrevious( )?h.getNex t()?(h.bre akParent(h .getParent ()),m.push (h.getNext ())):        
585   h.remove() .insertAft er(d):h.re move().ins ertBefore( d),d.getCu stomData(" blockquote _processed ")||(m.pus h(d),CKEDI TOR.dom.el ement.setM arker(l,d, "blockquot e_processe d",!0)),b. push(h);CK EDITOR.dom .element.c learAllMar kers(l);fo r(f=m.leng th-1;0<=f; f--){d=m[f ];a:{l=d;f or(var h=0 ,g=l.getCh ildCount() ,n=void 0; h<g&&(n=l. getChild(h ));h++)if( n.type==CK EDITOR.NOD E_ELEMENT& &n.isBlock Boundary() ){l=!1;bre ak a}l=!0} l&&d.remov e()}if(a.c onfig.ente rMode==CKE DITOR.ENTE R_BR)for(d =!0;b.leng th;)if(h=b .shift()," div"==h.ge tName()){f =        
586   new CKEDIT OR.dom.doc umentFragm ent(a.docu ment);!d|| !h.getPrev ious()||h. getPreviou s().type== CKEDITOR.N ODE_ELEMEN T&&h.getPr evious().i sBlockBoun dary()||f. append(a.d ocument.cr eateElemen t("br"));f or(d=h.get Next()&&!( h.getNext( ).type==CK EDITOR.NOD E_ELEMENT& &h.getNext ().isBlock Boundary() );h.getFir st();)h.ge tFirst().r emove().ap pendTo(f); d&&f.appen d(a.docume nt.createE lement("br "));f.repl ace(h);d=! 1}}c.selec tBookmarks (k);a.focu s()}},refr esh:functi on(a,b){th is.setStat e(a.elemen tPath(b.bl ock||b.blo ckLimit).c ontains("b lockquote" ,        
587   1)?CKEDITO R.TRISTATE _ON:CKEDIT OR.TRISTAT E_OFF)},co ntext:"blo ckquote",a llowedCont ent:"block quote",req uiredConte nt:"blockq uote"};CKE DITOR.plug ins.add("b lockquote" ,{init:fun ction(e){e .blockless ||(e.addCo mmand("blo ckquote",a ),e.ui.add Button&&e. ui.addButt on("Blockq uote",{lab el:e.lang. blockquote .toolbar,c ommand:"bl ockquote", toolbar:"b locks,10"} ))}})}()," use strict ",function (){functio n a(a,b,c) {b.type||( b.type="au to");if(c& &!1===a.fi re("before Paste",b)| |!b.dataVa lue&&b.dat aTransfer. isEmpty()) return!1;b .dataValue ||        
588   (b.dataVal ue="");if( CKEDITOR.e nv.gecko&& "drop"==b. method&&a. toolbox)a. once("afte rPaste",fu nction(){a .toolbox.f ocus()});r eturn a.fi re("paste" ,b)}functi on e(b){fu nction c() {var a=b.e ditable(); if(CKEDITO R.plugins. clipboard. isCustomCo pyCutSuppo rted){var  d=function (a){A.init PasteDataT ransfer(a, b);a.data. preventDef ault()};a. on("copy", d);a.on("c ut",d);a.o n("cut",fu nction(){b .extractSe lectedHtml ()},null,n ull,999)}a .on(A.main PasteEvent ,function( a){"before paste"==A. mainPasteE vent&&D||z (a)});"bef orepaste"= =        
589   A.mainPast eEvent&&(a .on("paste ",function (a){G||(e( ),a.data.p reventDefa ult(),z(a) ,h("paste" )||b.openD ialog("pas te"))}),a. on("contex tmenu",k,n ull,null,0 ),a.on("be forepaste" ,function( a){!a.data ||a.data.$ .ctrlKey|| a.data.$.s hiftKey||k ()},null,n ull,0));a. on("before cut",funct ion(){!D&& l(b)});var  f;a.attac hListener( CKEDITOR.e nv.ie?a:b. document.g etDocument Element(), "mouseup", function() {f=setTime out(functi on(){C()}, 0)});b.on( "destroy", function() {clearTime out(f)});a .on("keyup ",C)}funct ion d(a){r eturn{type :a,        
590   canUndo:"c ut"==a,sta rtDisabled :!0,exec:f unction(){ "cut"==thi s.type&&l( );var a;va r c=this.t ype;if(CKE DITOR.env. ie)a=h(c); else try{a =b.documen t.$.execCo mmand(c,!1 ,null)}cat ch(d){a=!1 }a||b.show Notificati on(b.lang. clipboard[ this.type+ "Error"]); return a}} }function  f(){return {canUndo:! 1,async:!0 ,exec:func tion(b,c){ var d=func tion(c,d){ c&&a(b,c,! !d);b.fire ("afterCom mandExec", {name:"pas te",comman d:f,return Value:!!c} )},f=this; "string"== typeof c?d ({dataValu e:c,method :"paste",d ataTransfe r:A.initPa steDataTra nsfer()},        
591   1):b.getCl ipboardDat a(d)}}}fun ction e(){ G=1;setTim eout(funct ion(){G=0} ,100)}func tion k(){D =1;setTime out(functi on(){D=0}, 10)}functi on h(a){va r c=b.docu ment,d=c.g etBody(),f =!1,e=func tion(){f=! 0};d.on(a, e);7<CKEDI TOR.env.ve rsion?c.$. execComman d(a):c.$.s election.c reateRange ().execCom mand(a);d. removeList ener(a,e); return f}f unction l( ){if(CKEDI TOR.env.ie &&!CKEDITO R.env.quir ks){var a= b.getSelec tion(),c,d ,f;a.getTy pe()==CKED ITOR.SELEC TION_ELEME NT&&(c=a.g etSelected Element()) &&(d=a.get Ranges()[0 ],f=b.docu ment.creat eText(""),        
592   f.insertBe fore(c),d. setStartBe fore(f),d. setEndAfte r(c),a.sel ectRanges( [d]),setTi meout(func tion(){c.g etParent() &&(f.remov e(),a.sele ctElement( c))},0))}} function m (a,c){var  d=b.docume nt,f=b.edi table(),e= function(a ){a.cancel ()},k;if(! d.getById( "cke_paste bin")){var  h=b.getSe lection(), l=h.create Bookmarks( );CKEDITOR .env.ie&&h .root.fire ("selectio nchange"); var n=new  CKEDITOR.d om.element (!CKEDITOR .env.webki t&&!f.is(" body")||CK EDITOR.env .ie?"div": "body",d); n.setAttri butes({id: "cke_paste bin","data -cke-temp" :"1"});        
593   var w=0,d= d.getWindo w();CKEDIT OR.env.web kit?(f.app end(n),n.a ddClass("c ke_editabl e"),f.is(" body")||(w ="static"! =f.getComp utedStyle( "position" )?f:CKEDIT OR.dom.ele ment.get(f .$.offsetP arent),w=w .getDocume ntPosition ().y)):f.g etAscendan t(CKEDITOR .env.ie?"b ody":"html ",1).appen d(n);n.set Styles({po sition:"ab solute",to p:d.getScr ollPositio n().y-w+10 +"px",widt h:"1px",he ight:Math. max(1,d.ge tViewPaneS ize().heig ht-20)+"px ",overflow :"hidden", margin:0,p adding:0}) ;CKEDITOR. env.safari &&n.setSty les(CKEDIT OR.tools.c ssVendorPr efix("user -select",        
594   "text"));( w=n.getPar ent().isRe adOnly())? (n.setOpac ity(0),n.s etAttribut e("content editable", !0)):n.set Style("ltr "==b.confi g.contents LangDirect ion?"left" :"right"," -1000px"); b.on("sele ctionChang e",e,null, null,0);if (CKEDITOR. env.webkit ||CKEDITOR .env.gecko )k=f.once( "blur",e,n ull,null,- 100);w&&n. focus();w= new CKEDIT OR.dom.ran ge(n);w.se lectNodeCo ntents(n); var q=w.se lect();CKE DITOR.env. ie&&(k=f.o nce("blur" ,function( ){b.lockSe lection(q) }));var y= CKEDITOR.d ocument.ge tWindow(). getScrollP osition(). y;setTimeo ut(functio n(){CKEDIT OR.env.web kit&&        
595   (CKEDITOR. document.g etBody().$ .scrollTop =y);k&&k.r emoveListe ner();CKED ITOR.env.i e&&f.focus ();h.selec tBookmarks (l);n.remo ve();var a ;CKEDITOR. env.webkit &&(a=n.get First())&& a.is&&a.ha sClass("Ap ple-style- span")&&(n =a);b.remo veListener ("selectio nChange",e );c(n.getH tml())},0) }}function  B(){if("p aste"==A.m ainPasteEv ent)return  b.fire("b eforePaste ",{type:"a uto",metho d:"paste"} ),!1;b.foc us();e();v ar a=b.foc usManager; a.lock();i f(b.editab le().fire( A.mainPast eEvent)&&! h("paste") )return a. unlock(),! 1;a.unlock ();        
596   return!0}f unction v( a){if("wys iwyg"==b.m ode)switch (a.data.ke yCode){cas e CKEDITOR .CTRL+86:c ase CKEDIT OR.SHIFT+4 5:a=b.edit able();e() ;"paste"== A.mainPast eEvent&&a. fire("befo repaste"); break;case  CKEDITOR. CTRL+88:ca se CKEDITO R.SHIFT+46 :b.fire("s aveSnapsho t"),setTim eout(funct ion(){b.fi re("saveSn apshot")}, 50)}}funct ion z(c){v ar d={type :"auto",me thod:"past e",dataTra nsfer:A.in itPasteDat aTransfer( c)};d.data Transfer.c acheData() ;var f=!1! ==b.fire(" beforePast e",d);f&&A .canClipbo ardApiBeTr usted(d.da taTransfer ,        
597   b)?(c.data .preventDe fault(),se tTimeout(f unction(){ a(b,d)},0) ):m(c,func tion(c){d. dataValue= c.replace( /<span[^>] +data-cke- bookmark[^ <]*?<\/spa n>/ig,""); f&&a(b,d)} )}function  C(){if("w ysiwyg"==b .mode){var  a=x("past e");b.getC ommand("cu t").setSta te(x("cut" ));b.getCo mmand("cop y").setSta te(x("copy "));b.getC ommand("pa ste").setS tate(a);b. fire("past eState",a) }}function  x(a){if(F &&a in{pas te:1,cut:1 })return C KEDITOR.TR ISTATE_DIS ABLED;if(" paste"==a) return CKE DITOR.TRIS TATE_OFF;a =b.getSele ction();va r c=a.getR anges();        
598   return a.g etType()== CKEDITOR.S ELECTION_N ONE||1==c. length&&c[ 0].collaps ed?CKEDITO R.TRISTATE _DISABLED: CKEDITOR.T RISTATE_OF F}var A=CK EDITOR.plu gins.clipb oard,D=0,G =0,F=0;(fu nction(){b .on("key", v);b.on("c ontentDom" ,c);b.on(" selectionC hange",fun ction(a){F =a.data.se lection.ge tRanges()[ 0].checkRe adOnly();C ()});b.con textMenu&& b.contextM enu.addLis tener(func tion(a,b){ F=b.getRan ges()[0].c heckReadOn ly();retur n{cut:x("c ut"),copy: x("copy"), paste:x("p aste")}})} )();(funct ion(){func tion a(c,d ,f,e,k){va r h=b.lang .clipboard [d];        
599   b.addComma nd(d,f);b. ui.addButt on&&b.ui.a ddButton(c ,{label:h, command:d, toolbar:"c lipboard," +e});b.add MenuItems& &b.addMenu Item(d,{la bel:h,comm and:d,grou p:"clipboa rd",order: k})}a("Cut ","cut",d( "cut"),10, 1);a("Copy ","copy",d ("copy"),2 0,4);a("Pa ste","past e",f(),30, 8)})();b.g etClipboar dData=func tion(a,c){ function d (a){a.remo veListener ();a.cance l();c(a.da ta)}functi on f(a){a. removeList ener();a.c ancel();l= !0;c({type :h,dataVal ue:a.data, method:"pa ste"})}fun ction e(){ this.custo mTitle=a&& a.title}va r k=!1,h=" auto",        
600   l=!1;c||(c =a,a=null) ;b.on("pas te",d,null ,null,0);b .on("befor ePaste",fu nction(a){ a.removeLi stener();k =!0;h=a.da ta.type},n ull,null,1 E3);!1===B ()&&(b.rem oveListene r("paste", d),k&&b.fi re("pasteD ialog",e)? (b.on("pas teDialogCo mmit",f),b .on("dialo gHide",fun ction(a){a .removeLis tener();a. data.remov eListener( "pasteDial ogCommit", f);setTime out(functi on(){l||c( null)},10) })):c(null ))}}functi on b(a){if (CKEDITOR. env.webkit ){if(!a.ma tch(/^[^<] *$/g)&&!a. match(/^(< div><br( ? \/)?><\/di v>|<div>[^ <]*<\/div> )*$/gi))re turn"html" }else if(C KEDITOR.en v.ie){if(! a.match(/^ ([^<]|<br(  ?\/)?>)*$ /gi)&&        
601   !a.match(/ ^(<p>([^<] |<br( ?\/) ?>)*<\/p>| (\r\n))*$/ gi))return "html"}els e if(CKEDI TOR.env.ge cko){if(!a .match(/^( [^<]|<br(  ?\/)?>)*$/ gi))return "html"}els e return"h tml";retur n"htmlifie dtext"}fun ction c(a, b){functio n c(a){ret urn CKEDIT OR.tools.r epeat("\x3 c/p\x3e\x3 cp\x3e",~~ (a/2))+(1= =a%2?"\x3c br\x3e":"" )}b=b.repl ace(/\s+/g ," ").repl ace(/> +</ g,"\x3e\x3 c").replac e(/<br ?\/ >/gi,"\x3c br\x3e");b =b.replace (/<\/?[A-Z ]+>/g,func tion(a){re turn a.toL owerCase() });if(b.ma tch(/^[^<] $/))return  b;CKEDITO R.env.webk it&&        
602   -1<b.index Of("\x3cdi v\x3e")&&( b=b.replac e(/^(<div> (<br>|)<\/ div>)(?!$| (<div>(<br >|)<\/div> ))/g,"\x3c br\x3e").r eplace(/^( <div>(<br> |)<\/div>) {2}(?!$)/g ,"\x3cdiv\ x3e\x3c/di v\x3e"),b. match(/<di v>(<br>|)< \/div>/)&& (b="\x3cp\ x3e"+b.rep lace(/(<di v>(<br>|)< \/div>)+/g ,function( a){return  c(a.split( "\x3c/div\ x3e\x3cdiv \x3e").len gth+1)})+" \x3c/p\x3e "),b=b.rep lace(/<\/d iv><div>/g ,"\x3cbr\x 3e"),b=b.r eplace(/<\ /?div>/g," "));CKEDIT OR.env.gec ko&&a.ente rMode!=CKE DITOR.ENTE R_BR&&(CKE DITOR.env. gecko&&(b= b.replace( /^<br><br> $/,        
603   "\x3cbr\x3 e")),-1<b. indexOf("\ x3cbr\x3e\ x3cbr\x3e" )&&(b="\x3 cp\x3e"+b. replace(/( <br>){2,}/ g,function (a){return  c(a.lengt h/4)})+"\x 3c/p\x3e") );return m (a,b)}func tion d(){f unction a( ){var b={} ,c;for(c i n CKEDITOR .dtd)"$"!= c.charAt(0 )&&"div"!= c&&"span"! =c&&(b[c]= 1);return  b}var b={} ;return{ge t:function (c){return "plain-tex t"==c?b.pl ainText||( b.plainTex t=new CKED ITOR.filte r("br")):" semantic-c ontent"==c ?((c=b.sem anticConte nt)||(c=ne w CKEDITOR .filter,c. allow({$1: {elements: a(),attrib utes:!0,st yles:!1,cl asses:!1}} ),        
604   c=b.semant icContent= c),c):c?ne w CKEDITOR .filter(c) :null}}}fu nction k(a ,b,c){b=CK EDITOR.htm lParser.fr agment.fro mHtml(b);v ar d=new C KEDITOR.ht mlParser.b asicWriter ;c.applyTo (b,!0,!1,a .activeEnt erMode);b. writeHtml( d);return  d.getHtml( )}function  m(a,b){a. enterMode= =CKEDITOR. ENTER_BR?b =b.replace (/(<\/p><p >)+/g,func tion(a){re turn CKEDI TOR.tools. repeat("\x 3cbr\x3e", a.length/7 *2)}).repl ace(/<\/?p >/g,""):a. enterMode= =CKEDITOR. ENTER_DIV& &(b=b.repl ace(/<(\/) ?p>/g,"\x3 c$1div\x3e "));return  b}functio n f(a){a.d ata.preven tDefault() ;        
605   a.data.$.d ataTransfe r.dropEffe ct="none"} function l (b){var c= CKEDITOR.p lugins.cli pboard;b.o n("content Dom",funct ion(){func tion d(c,f ,e){f.sele ct();a(b,{ dataTransf er:e,metho d:"drop"}, 1);e.sourc eEditor.fi re("saveSn apshot");e .sourceEdi tor.editab le().extra ctHtmlFrom Range(c);e .sourceEdi tor.getSel ection().s electRange s([c]);e.s ourceEdito r.fire("sa veSnapshot ")}functio n f(d,e){d .select(); a(b,{dataT ransfer:e, method:"dr op"},1);c. resetDragD ataTransfe r()}functi on e(a,c,d ){var f={$ :a.data.$, target:a.d ata.getTar get()};        
606   c&&(f.drag Range=c);d &&(f.dropR ange=d);!1 ===b.fire( a.name,f)& &a.data.pr eventDefau lt()}funct ion k(a){a .type!=CKE DITOR.NODE _ELEMENT&& (a=a.getPa rent());re turn a.get ChildCount ()}var h=b .editable( ),l=CKEDIT OR.plugins .clipboard .getDropTa rget(b),m= b.ui.space ("top"),B= b.ui.space ("bottom") ;c.prevent DefaultDro pOnElement (m);c.prev entDefault DropOnElem ent(B);h.a ttachListe ner(l,"dra gstart",e) ;h.attachL istener(b, "dragstart ",c.resetD ragDataTra nsfer,c,nu ll,1);h.at tachListen er(b,"drag start",fun ction(a){c .initDragD ataTransfe r(a,        
607   b);a=c.dra gRange=b.g etSelectio n().getRan ges()[0];C KEDITOR.en v.ie&&10>C KEDITOR.en v.version& &(c.dragSt artContain erChildCou nt=a?k(a.s tartContai ner):null, c.dragEndC ontainerCh ildCount=a ?k(a.endCo ntainer):n ull)},null ,null,2);h .attachLis tener(l,"d ragend",e) ;h.attachL istener(b, "dragend", c.initDrag DataTransf er,c,null, 1);h.attac hListener( b,"dragend ",c.resetD ragDataTra nsfer,c,nu ll,100);h. attachList ener(l,"dr agover",fu nction(a){ var b=a.da ta.getTarg et();b&&b. is&&b.is(" html")?a.d ata.preven tDefault() :CKEDITOR. env.ie&&        
608   CKEDITOR.p lugins.cli pboard.isF ileApiSupp orted&&a.d ata.$.data Transfer.t ypes.conta ins("Files ")&&a.data .preventDe fault()}); h.attachLi stener(l," drop",func tion(a){a. data.preve ntDefault( );var d=a. data.getTa rget();if( !d.isReadO nly()||d.t ype==CKEDI TOR.NODE_E LEMENT&&d. is("html") ){var d=c. getRangeAt DropPositi on(a,b),f= c.dragRang e;d&&e(a,f ,d)}});h.a ttachListe ner(b,"dro p",c.initD ragDataTra nsfer,c,nu ll,1);h.at tachListen er(b,"drop ",function (a){if(a=a .data){var  e=a.dropR ange,k=a.d ragRange,h =a.dataTra nsfer;h.ge tTransferT ype(b)==        
609   CKEDITOR.D ATA_TRANSF ER_INTERNA L?setTimeo ut(functio n(){c.inte rnalDrop(k ,e,h,b)},0 ):h.getTra nsferType( b)==CKEDIT OR.DATA_TR ANSFER_CRO SS_EDITORS ?d(k,e,h): f(e,h)}},n ull,null,9 999)})}CKE DITOR.plug ins.add("c lipboard", {requires: "dialog",i nit:functi on(a){var  f,h=d();a. config.for cePasteAsP lainText?f ="plain-te xt":a.conf ig.pasteFi lter?f=a.c onfig.past eFilter:!C KEDITOR.en v.webkit|| "pasteFilt er"in a.co nfig||(f=" semantic-c ontent");a .pasteFilt er=h.get(f );e(a);l(a );CKEDITOR .dialog.ad d("paste", CKEDITOR.g etUrl(this .path+        
610   "dialogs/p aste.js")) ;a.on("pas te",functi on(b){b.da ta.dataTra nsfer||(b. data.dataT ransfer=ne w CKEDITOR .plugins.c lipboard.d ataTransfe r);if(!b.d ata.dataVa lue){var c =b.data.da taTransfer ,d=c.getDa ta("text/h tml");if(d )b.data.da taValue=d, b.data.typ e="html";e lse if(d=c .getData(" text/plain "))b.data. dataValue= a.editable ().transfo rmPlainTex tToHtml(d) ,b.data.ty pe="text"} },null,nul l,1);a.on( "paste",fu nction(a){ var b=a.da ta.dataVal ue,c=CKEDI TOR.dtd.$b lock;-1<b. indexOf("A pple-")&&( b=b.replac e(/<span c lass="Appl e-converte d-space">& nbsp;<\/sp an>/gi,        
611   " "),"html "!=a.data. type&&(b=b .replace(/ <span clas s="Apple-t ab-span"[^ >]*>([^<]* )<\/span>/ gi,functio n(a,b){ret urn b.repl ace(/\t/g, "\x26nbsp; \x26nbsp;  \x26nbsp;" )})),-1<b. indexOf('\ x3cbr clas s\x3d"Appl e-intercha nge-newlin e"\x3e')&& (a.data.st artsWithEO L=1,a.data .preSniffi ng="html", b=b.replac e(/<br cla ss="Apple- interchang e-newline" >/,"")),b= b.replace( /(<[^>]+)  class="App le-[^"]*"/ gi,"$1")); if(b.match (/^<[^<]+c ke_(editab le|content s)/i)){var  d,f,e=new  CKEDITOR. dom.elemen t("div");f or(e.setHt ml(b);1==e .getChildC ount()&&        
612   (d=e.getFi rst())&&d. type==CKED ITOR.NODE_ ELEMENT&&( d.hasClass ("cke_edit able")||d. hasClass(" cke_conten ts"));)e=f =d;f&&(b=f .getHtml() .replace(/ <br>$/i,"" ))}CKEDITO R.env.ie?b =b.replace (/^&nbsp;( ?: |\r\n)? <(\w+)/g,f unction(b, d){return  d.toLowerC ase()in c? (a.data.pr eSniffing= "html","\x 3c"+d):b}) :CKEDITOR. env.webkit ?b=b.repla ce(/<\/(\w +)><div><b r><\/div>$ /,function (b,d){retu rn d in c? (a.data.en dsWithEOL= 1,"\x3c/"+ d+"\x3e"): b}):CKEDIT OR.env.gec ko&&(b=b.r eplace(/(\ s)<br>$/," $1"));a.da ta.dataVal ue=b},null ,        
613   null,3);a. on("paste" ,function( d){d=d.dat a;var f=d. type,e=d.d ataValue,l ,m=a.confi g.clipboar d_defaultC ontentType ||"html",n =d.dataTra nsfer.getT ransferTyp e(a);l="ht ml"==f||"h tml"==d.pr eSniffing? "html":b(e );"htmlifi edtext"==l &&(e=c(a.c onfig,e)); "text"==f& &"html"==l ?e=k(a,e,h .get("plai n-text")): n==CKEDITO R.DATA_TRA NSFER_EXTE RNAL&&a.pa steFilter& &!d.dontFi lter&&(e=k (a,e,a.pas teFilter)) ;d.startsW ithEOL&&(e ='\x3cbr d ata-cke-eo l\x3d"1"\x 3e'+e);d.e ndsWithEOL &&(e+='\x3 cbr data-c ke-eol\x3d "1"\x3e'); "auto"==f& &        
614   (f="html"= =l||"html" ==m?"html" :"text");d .type=f;d. dataValue= e;delete d .preSniffi ng;delete  d.startsWi thEOL;dele te d.endsW ithEOL},nu ll,null,6) ;a.on("pas te",functi on(b){b=b. data;b.dat aValue&&(a .insertHtm l(b.dataVa lue,b.type ,b.range), setTimeout (function( ){a.fire(" afterPaste ")},0))},n ull,null,1 E3);a.on(" pasteDialo g",functio n(b){setTi meout(func tion(){a.o penDialog( "paste",b. data)},0)} )}});CKEDI TOR.plugin s.clipboar d={isCusto mCopyCutSu pported:!C KEDITOR.en v.ie&&!CKE DITOR.env. iOS,isCust omDataType sSupported :!CKEDITOR .env.ie,        
615   isFileApiS upported:! CKEDITOR.e nv.ie||9<C KEDITOR.en v.version, mainPasteE vent:CKEDI TOR.env.ie &&!CKEDITO R.env.edge ?"beforepa ste":"past e",canClip boardApiBe Trusted:fu nction(a,b ){return a .getTransf erType(b)! =CKEDITOR. DATA_TRANS FER_EXTERN AL||CKEDIT OR.env.chr ome&&!a.is Empty()||C KEDITOR.en v.gecko&&( a.getData( "text/html ")||a.getF ilesCount( ))?!0:!1}, getDropTar get:functi on(a){var  b=a.editab le();retur n CKEDITOR .env.ie&&9 >CKEDITOR. env.versio n||b.isInl ine()?b:a. document}, fixSplitNo desAfterDr op:functio n(a,b,c,d) {function  f(a,        
616   c,d){var e =a;e.type= =CKEDITOR. NODE_TEXT& &(e=a.getP arent());i f(e.equals (c)&&d!=c. getChildCo unt())retu rn a=b.sta rtContaine r.getChild (b.startOf fset-1),c= b.startCon tainer.get Child(b.st artOffset) ,a&&a.type ==CKEDITOR .NODE_TEXT &&c&&c.typ e==CKEDITO R.NODE_TEX T&&(d=a.ge tLength(), a.setText( a.getText( )+c.getTex t()),c.rem ove(),b.se tStart(a,d ),b.collap se(!0)),!0 }var e=b.s tartContai ner;"numbe r"==typeof  d&&"numbe r"==typeof  c&&e.type ==CKEDITOR .NODE_ELEM ENT&&(f(a. startConta iner,e,c)| |f(a.endCo ntainer,e, d))},isDro pRangeAffe ctedByDrag Range:func tion(a,        
617   b){var c=b .startCont ainer,d=b. endOffset; return a.e ndContaine r.equals(c )&&a.endOf fset<=d||a .startCont ainer.getP arent().eq uals(c)&&a .startCont ainer.getI ndex()<d|| a.endConta iner.getPa rent().equ als(c)&&a. endContain er.getInde x()<d?!0:! 1},interna lDrop:func tion(b,c,d ,f){var e= CKEDITOR.p lugins.cli pboard,k=f .editable( ),h,l;f.fi re("saveSn apshot");f .fire("loc kSnapshot" ,{dontUpda te:1});CKE DITOR.env. ie&&10>CKE DITOR.env. version&&t his.fixSpl itNodesAft erDrop(b,c ,e.dragSta rtContaine rChildCoun t,e.dragEn dContainer ChildCount );        
618   (l=this.is DropRangeA ffectedByD ragRange(b ,c))||(h=b .createBoo kmark(!1)) ;e=c.clone ().createB ookmark(!1 );l&&(h=b. createBook mark(!1)); b=h.startN ode;l=h.en dNode;var  m=e.startN ode;l&&b.g etPosition (m)==CKEDI TOR.POSITI ON_PRECEDI NG&&l.getP osition(m) ==CKEDITOR .POSITION_ FOLLOWING? (f.getSele ction().se lectRanges ([c]),b.re move(),l.r emove(),m. remove()): (b=f.creat eRange(),b .moveToBoo kmark(h),k .extractHt mlFromRang e(b,1),c=f .createRan ge(),c.mov eToBookmar k(e),a(f,{ dataTransf er:d,metho d:"drop",r ange:c},1) );f.fire(" unlockSnap shot")},        
619   getRangeAt DropPositi on:functio n(a,b){var  c=a.data. $,d=c.clie ntX,f=c.cl ientY,e=b. getSelecti on(!0).get Ranges()[0 ],h=b.crea teRange(); if(a.data. testRange) return a.d ata.testRa nge;if(doc ument.care tRangeFrom Point)c=b. document.$ .caretRang eFromPoint (d,f),h.se tStart(CKE DITOR.dom. node(c.sta rtContaine r),c.start Offset),h. collapse(! 0);else if (c.rangePa rent)h.set Start(CKED ITOR.dom.n ode(c.rang eParent),c .rangeOffs et),h.coll apse(!0);e lse{if(CKE DITOR.env. ie&&8<CKED ITOR.env.v ersion&&e& &b.editabl e().hasFoc us)return  e;        
620   if(documen t.body.cre ateTextRan ge){b.focu s();c=b.do cument.get Body().$.c reateTextR ange();try {for(var k =!1,l=0;20 >l&&!k;l++ ){if(!k)tr y{c.moveTo Point(d,f- l),k=!0}ca tch(m){}if (!k)try{c. moveToPoin t(d,f+l),k =!0}catch( v){}}if(k) {var z="ck e-temp-"+( new Date). getTime(); c.pasteHTM L('\x3cspa n id\x3d"' +z+'"\x3e​ \x3c/span\ x3e');var  C=b.docume nt.getById (z);h.move ToPosition (C,CKEDITO R.POSITION _BEFORE_ST ART);C.rem ove()}else {var x=b.d ocument.$. elementFro mPoint(d,f ),A=new CK EDITOR.dom .element(x ),D;if(A.e quals(b.ed itable())| |        
621   "html"==A. getName()) return e&& e.startCon tainer&&!e .startCont ainer.equa ls(b.edita ble())?e:n ull;D=A.ge tClientRec t();d<D.le ft?h.setSt artAt(A,CK EDITOR.POS ITION_AFTE R_START):h .setStartA t(A,CKEDIT OR.POSITIO N_BEFORE_E ND);h.coll apse(!0)}} catch(G){r eturn null }}else ret urn null}r eturn h},i nitDragDat aTransfer: function(a ,b){var c= a.data.$?a .data.$.da taTransfer :null,d=ne w this.dat aTransfer( c,b);c?thi s.dragData &&d.id==th is.dragDat a.id?d=thi s.dragData :this.drag Data=d:thi s.dragData ?d=this.dr agData:thi s.dragData =        
622   d;a.data.d ataTransfe r=d},reset DragDataTr ansfer:fun ction(){th is.dragDat a=null},in itPasteDat aTransfer: function(a ,b){if(thi s.isCustom CopyCutSup ported&&a& &a.data&&a .data.$){v ar c=new t his.dataTr ansfer(a.d ata.$.clip boardData, b);this.co pyCutData& &c.id==thi s.copyCutD ata.id?(c= this.copyC utData,c.$ =a.data.$. clipboardD ata):this. copyCutDat a=c;return  c}return  new this.d ataTransfe r(null,b)} ,preventDe faultDropO nElement:f unction(a) {a&&a.on(" dragover", f)}};var h =CKEDITOR. plugins.cl ipboard.is CustomData TypesSuppo rted?        
623   "cke/id":" Text";CKED ITOR.plugi ns.clipboa rd.dataTra nsfer=func tion(a,b){ a&&(this.$ =a);this._ ={metaRegE xp:/^<meta .*?>/,body RegExp:/<b ody(?:[\s\ S]*?)>([\s \S]*)<\/bo dy>/,fragm entRegExp: /\x3c!--(? :Start|End )Fragment- -\x3e/g,da ta:{},file s:[],norma lizeType:f unction(a) {a=a.toLow erCase();r eturn"text "==a||"tex t/plain"== a?"Text":" url"==a?"U RL":a}};th is.id=this .getData(h );this.id| |(this.id= "Text"==h? "":"cke-"+ CKEDITOR.t ools.getUn iqueId()); if("Text"! =h)try{thi s.$.setDat a(h,this.i d)}catch(c ){}b&&(thi s.sourceEd itor=        
624   b,this.set Data("text /html",b.g etSelected Html(1))," Text"==h|| this.getDa ta("text/p lain")||th is.setData ("text/pla in",b.getS election() .getSelect edText())) };CKEDITOR .DATA_TRAN SFER_INTER NAL=1;CKED ITOR.DATA_ TRANSFER_C ROSS_EDITO RS=2;CKEDI TOR.DATA_T RANSFER_EX TERNAL=3;C KEDITOR.pl ugins.clip board.data Transfer.p rototype={ getData:fu nction(a){ a=this._.n ormalizeTy pe(a);var  b=this._.d ata[a];if( void 0===b ||null===b ||""===b)t ry{b=this. $.getData( a)}catch(c ){}if(void  0===b||nu ll===b||"" ===b)b=""; "text/html "==a?(b=b. replace(th is._.metaR egExp,        
625   ""),(a=thi s._.bodyRe gExp.exec( b))&&a.len gth&&(b=a[ 1],b=b.rep lace(this. _.fragment RegExp,"") )):"Text"= =a&&CKEDIT OR.env.gec ko&&this.g etFilesCou nt()&&"fil e://"==b.s ubstring(0 ,7)&&(b="" );return b },setData: function(a ,b){a=this ._.normali zeType(a); this._.dat a[a]=b;if( CKEDITOR.p lugins.cli pboard.isC ustomDataT ypesSuppor ted||"URL" ==a||"Text "==a){"Tex t"==h&&"Te xt"==a&&(t his.id=b); try{this.$ .setData(a ,b)}catch( c){}}},get TransferTy pe:functio n(a){retur n this.sou rceEditor? this.sourc eEditor==a ?CKEDITOR. DATA_TRANS FER_INTERN AL:        
626   CKEDITOR.D ATA_TRANSF ER_CROSS_E DITORS:CKE DITOR.DATA _TRANSFER_ EXTERNAL}, cacheData: function() {function  a(c){c=b._ .normalize Type(c);va r d=b.getD ata(c);d&& (b._.data[ c]=d)}if(t his.$){var  b=this,c, d;if(CKEDI TOR.plugin s.clipboar d.isCustom DataTypesS upported){ if(this.$. types)for( c=0;c<this .$.types.l ength;c++) a(this.$.t ypes[c])}e lse a("Tex t"),a("URL ");d=this. _getImageF romClipboa rd();if(th is.$&&this .$.files|| d){this._. files=[];f or(c=0;c<t his.$.file s.length;c ++)this._. files.push (this.$.fi les[c]);0= ==this._.f iles.lengt h&&        
627   d&&this._. files.push (d)}}},get FilesCount :function( ){return t his._.file s.length?t his._.file s.length:t his.$&&thi s.$.files& &this.$.fi les.length ?this.$.fi les.length :this._get ImageFromC lipboard() ?1:0},getF ile:functi on(a){retu rn this._. files.leng th?this._. files[a]:t his.$&&thi s.$.files& &this.$.fi les.length ?this.$.fi les[a]:0== =a?this._g etImageFro mClipboard ():void 0} ,isEmpty:f unction(){ var a={},b ;if(this.g etFilesCou nt())retur n!1;for(b  in this._. data)a[b]= 1;if(this. $)if(CKEDI TOR.plugin s.clipboar d.isCustom DataTypesS upported){ if(this.$. types)for( var c=        
628   0;c<this.$ .types.len gth;c++)a[ this.$.typ es[c]]=1}e lse a.Text =1,a.URL=1 ;"Text"!=h &&(a[h]=0) ;for(b in  a)if(a[b]& &""!==this .getData(b ))return!1 ;return!0} ,_getImage FromClipbo ard:functi on(){var a ;if(this.$ &&this.$.i tems&&this .$.items[0 ])try{if(( a=this.$.i tems[0].ge tAsFile()) &&a.type)r eturn a}ca tch(b){}}} }(),functi on(){var a ='\x3ca id \x3d"{id}"  class\x3d "cke_butto n cke_butt on__{name}  cke_butto n_{state}  {cls}"'+(C KEDITOR.en v.gecko&&! CKEDITOR.e nv.hc?"":"  href\x3d\ "javascrip t:void('{t itleJs}')\ "")+' titl e\x3d"{tit le}" tabin dex\x3d"-1 " hidefocu s\x3d"true " role\x3d "button" a ria-labell edby\x3d"{ id}_label"  aria-hasp opup\x3d"{ hasArrow}"  aria-disa bled\x3d"{ ariaDisabl ed}"';        
629   CKEDITOR.e nv.gecko&& CKEDITOR.e nv.mac&&(a +=' onkeyp ress\x3d"r eturn fals e;"');CKED ITOR.env.g ecko&&(a+= ' onblur\x 3d"this.st yle.cssTex t \x3d thi s.style.cs sText;"'); var a=a+('  onkeydown \x3d"retur n CKEDITOR .tools.cal lFunction( {keydownFn },event);"  onfocus\x 3d"return  CKEDITOR.t ools.callF unction({f ocusFn},ev ent);" '+( CKEDITOR.e nv.ie?'onc lick\x3d"r eturn fals e;" onmous eup':"oncl ick")+'\x3 d"CKEDITOR .tools.cal lFunction( {clickFn}, this);retu rn false;" \x3e\x3csp an class\x 3d"cke_but ton_icon c ke_button_ _{iconName }_icon" st yle\x3d"{s tyle}"'),        
630   a=a+'\x3e\ x26nbsp;\x 3c/span\x3 e\x3cspan  id\x3d"{id }_label" c lass\x3d"c ke_button_ label cke_ button__{n ame}_label " aria-hid den\x3d"fa lse"\x3e{l abel}\x3c/ span\x3e{a rrowHtml}\ x3c/a\x3e' ,e=CKEDITO R.addTempl ate("butto nArrow",'\ x3cspan cl ass\x3d"ck e_button_a rrow"\x3e' +(CKEDITOR .env.hc?"\ x26#9660;" :"")+"\x3c /span\x3e" ),b=CKEDIT OR.addTemp late("butt on",a);CKE DITOR.plug ins.add("b utton",{be foreInit:f unction(a) {a.ui.addH andler(CKE DITOR.UI_B UTTON,CKED ITOR.ui.bu tton.handl er)}});CKE DITOR.UI_B UTTON="but ton";CKEDI TOR.ui.but ton=        
631   function(a ){CKEDITOR .tools.ext end(this,a ,{title:a. label,clic k:a.click| |function( b){b.execC ommand(a.c ommand)}}) ;this._={} };CKEDITOR .ui.button .handler={ create:fun ction(a){r eturn new  CKEDITOR.u i.button(a )}};CKEDIT OR.ui.butt on.prototy pe={render :function( a,d){funct ion k(){va r b=a.mode ;b&&(b=thi s.modes[b] ?void 0!== p[b]?p[b]: CKEDITOR.T RISTATE_OF F:CKEDITOR .TRISTATE_ DISABLED,b =a.readOnl y&&!this.r eadOnly?CK EDITOR.TRI STATE_DISA BLED:b,thi s.setState (b),this.r efresh&&th is.refresh ())}var m= CKEDITOR.e nv,f=this. _.id=        
632   CKEDITOR.t ools.getNe xtId(),l=" ",h=this.c ommand,g;t his._.edit or=a;var n ={id:f,but ton:this,e ditor:a,fo cus:functi on(){CKEDI TOR.docume nt.getById (f).focus( )},execute :function( ){this.but ton.click( a)},attach :function( a){this.bu tton.attac h(a)}},r=C KEDITOR.to ols.addFun ction(func tion(a){if (n.onkey)r eturn a=ne w CKEDITOR .dom.event (a),!1!==n .onkey(n,a .getKeystr oke())}),t =CKEDITOR. tools.addF unction(fu nction(a){ var b;n.on focus&&(b= !1!==n.onf ocus(n,new  CKEDITOR. dom.event( a)));retur n b}),q=0; n.clickFn= g=CKEDITOR .tools.add Function(f unction(){ q&&        
633   (a.unlockS election(1 ),q=0);n.e xecute();m .iOS&&a.fo cus()});if (this.mode s){var p={ };a.on("be foreModeUn load",func tion(){a.m ode&&this. _.state!=C KEDITOR.TR ISTATE_DIS ABLED&&(p[ a.mode]=th is._.state )},this);a .on("activ eFilterCha nge",k,thi s);a.on("m ode",k,thi s);!this.r eadOnly&&a .on("readO nly",k,thi s)}else h& &(h=a.getC ommand(h)) &&(h.on("s tate",func tion(){thi s.setState (h.state)} ,this),l+= h.state==C KEDITOR.TR ISTATE_ON? "on":h.sta te==CKEDIT OR.TRISTAT E_DISABLED ?"disabled ":"off");i f(this.dir ectional)a .on("conte ntDirChang ed",        
634   function(b ){var d=CK EDITOR.doc ument.getB yId(this._ .id),f=d.g etFirst(); b=b.data;b !=a.lang.d ir?d.addCl ass("cke_" +b):d.remo veClass("c ke_ltr").r emoveClass ("cke_rtl" );f.setAtt ribute("st yle",CKEDI TOR.skin.g etIconStyl e(w,"rtl"= =b,this.ic on,this.ic onOffset)) },this);h| |(l+="off" );var u=th is.name||t his.comman d,w=u;this .icon&&!/\ ./.test(th is.icon)&& (w=this.ic on,this.ic on=null);l ={id:f,nam e:u,iconNa me:w,label :this.labe l,cls:this .className ||"",state :l,ariaDis abled:"dis abled"==l? "true":"fa lse",title :this.titl e,        
635   titleJs:m. gecko&&!m. hc?"":(thi s.title||" ").replace ("'",""),h asArrow:th is.hasArro w?"true":" false",key downFn:r,f ocusFn:t,c lickFn:g,s tyle:CKEDI TOR.skin.g etIconStyl e(w,"rtl"= =a.lang.di r,this.ico n,this.ico nOffset),a rrowHtml:t his.hasArr ow?e.outpu t():""};b. output(l,d );if(this. onRender)t his.onRend er();retur n n},setSt ate:functi on(a){if(t his._.stat e==a)retur n!1;this._ .state=a;v ar b=CKEDI TOR.docume nt.getById (this._.id );return b ?(b.setSta te(a,"cke_ button"),a ==CKEDITOR .TRISTATE_ DISABLED?b .setAttrib ute("aria- disabled",        
636   !0):b.remo veAttribut e("aria-di sabled"),t his.hasArr ow?(a=a==C KEDITOR.TR ISTATE_ON? this._.edi tor.lang.b utton.sele ctedLabel. replace(/% 1/g,this.l abel):this .label,CKE DITOR.docu ment.getBy Id(this._. id+"_label ").setText (a)):a==CK EDITOR.TRI STATE_ON?b .setAttrib ute("aria- pressed",! 0):b.remov eAttribute ("aria-pre ssed"),!0) :!1},getSt ate:functi on(){retur n this._.s tate},toFe ature:func tion(a){if (this._.fe ature)retu rn this._. feature;va r b=this;t his.allowe dContent|| this.requi redContent ||!this.co mmand||(b= a.getComma nd(this.co mmand)||        
637   b);return  this._.fea ture=b}};C KEDITOR.ui .prototype .addButton =function( a,b){this. add(a,CKED ITOR.UI_BU TTON,b)}}( ),CKEDITOR .plugins.a dd("panelb utton",{re quires:"bu tton",onLo ad:functio n(){functi on a(a){va r b=this._ ;b.state!= CKEDITOR.T RISTATE_DI SABLED&&(t his.create Panel(a),b .on?b.pane l.hide():b .panel.sho wBlock(thi s._.id,thi s.document .getById(t his._.id), 4))}CKEDIT OR.ui.pane lButton=CK EDITOR.too ls.createC lass({base :CKEDITOR. ui.button, $:function (e){var b= e.panel||{ };delete e .panel;thi s.base(e); this.docum ent=        
638   b.parent&& b.parent.g etDocument ()||CKEDIT OR.documen t;b.block= {attribute s:b.attrib utes};this .hasArrow= b.toolbarR elated=!0; this.click =a;this._= {panelDefi nition:b}} ,statics:{ handler:{c reate:func tion(a){re turn new C KEDITOR.ui .panelButt on(a)}}},p roto:{crea tePanel:fu nction(a){ var b=this ._;if(!b.p anel){var  c=this._.p anelDefini tion,d=thi s._.panelD efinition. block,k=c. parent||CK EDITOR.doc ument.getB ody(),m=th is._.panel =new CKEDI TOR.ui.flo atPanel(a, k,c),c=m.a ddBlock(b. id,d),f=th is;m.onSho w=function (){f.class Name&&        
639   this.eleme nt.addClas s(f.classN ame+"_pane l");f.setS tate(CKEDI TOR.TRISTA TE_ON);b.o n=1;f.edit orFocus&&a .focus();i f(f.onOpen )f.onOpen( )};m.onHid e=function (c){f.clas sName&&thi s.element. getFirst() .removeCla ss(f.class Name+"_pan el");f.set State(f.mo des&&f.mod es[a.mode] ?CKEDITOR. TRISTATE_O FF:CKEDITO R.TRISTATE _DISABLED) ;b.on=0;if (!c&&f.onC lose)f.onC lose()};m. onEscape=f unction(){ m.hide(1); f.document .getById(b .id).focus ()};if(thi s.onBlock) this.onBlo ck(m,c);c. onHide=fun ction(){b. on=0;f.set State(CKED ITOR.TRIST ATE_OFF)}} }}})},        
640   beforeInit :function( a){a.ui.ad dHandler(C KEDITOR.UI _PANELBUTT ON,CKEDITO R.ui.panel Button.han dler)}}),C KEDITOR.UI _PANELBUTT ON="panelb utton",fun ction(){CK EDITOR.plu gins.add(" panel",{be foreInit:f unction(a) {a.ui.addH andler(CKE DITOR.UI_P ANEL,CKEDI TOR.ui.pan el.handler )}});CKEDI TOR.UI_PAN EL="panel" ;CKEDITOR. ui.panel=f unction(a, b){b&&CKED ITOR.tools .extend(th is,b);CKED ITOR.tools .extend(th is,{classN ame:"",css :[]});this .id=CKEDIT OR.tools.g etNextId() ;this.docu ment=a;thi s.isFramed =this.forc eIFrame||t his.css.le ngth;        
641   this._={bl ocks:{}}}; CKEDITOR.u i.panel.ha ndler={cre ate:functi on(a){retu rn new CKE DITOR.ui.p anel(a)}}; var a=CKED ITOR.addTe mplate("pa nel",'\x3c div lang\x 3d"{langCo de}" id\x3 d"{id}" di r\x3d{dir}  class\x3d "cke cke_r eset_all { editorId}  cke_panel  cke_panel  {cls} cke_ {dir}" sty le\x3d"z-i ndex:{z-in dex}" role \x3d"prese ntation"\x 3e{frame}\ x3c/div\x3 e'),e=CKED ITOR.addTe mplate("pa nel-frame" ,'\x3cifra me id\x3d" {id}" clas s\x3d"cke_ panel_fram e" role\x3 d"presenta tion" fram eborder\x3 d"0" src\x 3d"{src}"\ x3e\x3c/if rame\x3e') ,        
642   b=CKEDITOR .addTempla te("panel- frame-inne r",'\x3c!D OCTYPE htm l\x3e\x3ch tml class\ x3d"cke_pa nel_contai ner {env}"  dir\x3d"{ dir}" lang \x3d"{lang Code}"\x3e \x3chead\x 3e{css}\x3 c/head\x3e \x3cbody c lass\x3d"c ke_{dir}"  style\x3d" margin:0;p adding:0"  onload\x3d "{onload}" \x3e\x3c/b ody\x3e\x3 c/html\x3e ');CKEDITO R.ui.panel .prototype ={render:f unction(c, d){this.ge tHolderEle ment=funct ion(){var  a=this._.h older;if(! a){if(this .isFramed) {var a=thi s.document .getById(t his.id+"_f rame"),c=a .getParent (),a=a.get FrameDocum ent();        
643   CKEDITOR.e nv.iOS&&c. setStyles( {overflow: "scroll"," -webkit-ov erflow-scr olling":"t ouch"});c= CKEDITOR.t ools.addFu nction(CKE DITOR.tool s.bind(fun ction(){th is.isLoade d=!0;if(th is.onLoad) this.onLoa d()},this) );a.write( b.output(C KEDITOR.to ols.extend ({css:CKED ITOR.tools .buildStyl eHtml(this .css),onlo ad:"window .parent.CK EDITOR.too ls.callFun ction("+c+ ");"},k))) ;a.getWind ow().$.CKE DITOR=CKED ITOR;a.on( "keydown", function(a ){var b=a. data.getKe ystroke(), c=this.doc ument.getB yId(this.i d).getAttr ibute("dir ");this._. onKeyDown& &        
644   !1===this. _.onKeyDow n(b)?a.dat a.preventD efault():( 27==b||b== ("rtl"==c? 39:37))&&t his.onEsca pe&&!1===t his.onEsca pe(b)&&a.d ata.preven tDefault() },this);a= a.getBody( );a.unsele ctable();C KEDITOR.en v.air&&CKE DITOR.tool s.callFunc tion(c)}el se a=this. document.g etById(thi s.id);this ._.holder= a}return a };var k={e ditorId:c. id,id:this .id,langCo de:c.langC ode,dir:c. lang.dir,c ls:this.cl assName,fr ame:"",env :CKEDITOR. env.cssCla ss,"z-inde x":c.confi g.baseFloa tZIndex+1} ;if(this.i sFramed){v ar m=CKEDI TOR.env.ai r?"javascr ipt:void(0 )":        
645   CKEDITOR.e nv.ie?"jav ascript:vo id(functio n(){"+enco deURICompo nent("docu ment.open( );("+CKEDI TOR.tools. fixDomain+ ")();docum ent.close( );")+"}()) ":"";k.fra me=e.outpu t({id:this .id+"_fram e",src:m}) }m=a.outpu t(k);d&&d. push(m);re turn m},ad dBlock:fun ction(a,b) {b=this._. blocks[a]= b instance of CKEDITO R.ui.panel .block?b:n ew CKEDITO R.ui.panel .block(thi s.getHolde rElement() ,b);this._ .currentBl ock||this. showBlock( a);return  b},getBloc k:function (a){return  this._.bl ocks[a]},s howBlock:f unction(a) {a=this._. blocks[a]; var b=        
646   this._.cur rentBlock, e=!this.fo rceIFrame| |CKEDITOR. env.ie?thi s._.holder :this.docu ment.getBy Id(this.id +"_frame") ;b&&b.hide ();this._. currentBlo ck=a;CKEDI TOR.fire(" ariaWidget ",e);a._.f ocusIndex= -1;this._. onKeyDown= a.onKeyDow n&&CKEDITO R.tools.bi nd(a.onKey Down,a);a. show();ret urn a},des troy:funct ion(){this .element&& this.eleme nt.remove( )}};CKEDIT OR.ui.pane l.block=CK EDITOR.too ls.createC lass({$:fu nction(a,b ){this.ele ment=a.app end(a.getD ocument(). createElem ent("div", {attribute s:{tabinde x:-1,"clas s":"cke_pa nel_block" },        
647   styles:{di splay:"non e"}}));b&& CKEDITOR.t ools.exten d(this,b); this.eleme nt.setAttr ibutes({ro le:this.at tributes.r ole||"pres entation", "aria-labe l":this.at tributes[" aria-label "],title:t his.attrib utes.title ||this.att ributes["a ria-label" ]});this.k eys={};thi s._.focusI ndex=-1;th is.element .disableCo ntextMenu( )},_:{mark Item:funct ion(a){-1! =a&&(a=thi s.element. getElement sByTag("a" ).getItem( this._.foc usIndex=a) ,CKEDITOR. env.webkit &&a.getDoc ument().ge tWindow(). focus(),a. focus(),th is.onMark& &this.onMa rk(a))}},p roto:{show :function( ){this.ele ment.setSt yle("displ ay",        
648   "")},hide: function() {this.onHi de&&!0===t his.onHide .call(this )||this.el ement.setS tyle("disp lay","none ")},onKeyD own:functi on(a,b){va r e=this.k eys[a];swi tch(e){cas e "next":f or(var m=t his._.focu sIndex,e=t his.elemen t.getEleme ntsByTag(" a"),f;f=e. getItem(++ m);)if(f.g etAttribut e("_cke_fo cus")&&f.$ .offsetWid th){this._ .focusInde x=m;f.focu s();break} return f|| b?!1:(this ._.focusIn dex=-1,thi s.onKeyDow n(a,1));ca se "prev": m=this._.f ocusIndex; for(e=this .element.g etElements ByTag("a") ;0<m&&(f=e .getItem(- -m));){if( f.getAttri bute("_cke _focus")&&        
649   f.$.offset Width){thi s._.focusI ndex=m;f.f ocus();bre ak}f=null} return f|| b?!1:(this ._.focusIn dex=e.coun t(),this.o nKeyDown(a ,1));case  "click":ca se "mouseu p":return  m=this._.f ocusIndex, (f=0<=m&&t his.elemen t.getEleme ntsByTag(" a").getIte m(m))&&(f. $[e]?f.$[e ]():f.$["o n"+e]()),! 1}return!0 }}})}(),CK EDITOR.plu gins.add(" floatpanel ",{require s:"panel"} ),function (){functio n a(a,c,d, k,m){m=CKE DITOR.tool s.genKey(c .getUnique Id(),d.get UniqueId() ,a.lang.di r,a.uiColo r||"",k.cs s||"",m||" ");var f=e [m];f||(f= e[m]=new C KEDITOR.ui .panel(c,        
650   k),f.eleme nt=d.appen d(CKEDITOR .dom.eleme nt.createF romHtml(f. render(a), c)),f.elem ent.setSty les({displ ay:"none", position:" absolute"} ));return  f}var e={} ;CKEDITOR. ui.floatPa nel=CKEDIT OR.tools.c reateClass ({$:functi on(b,c,d,e ){function  m(){g.hid e()}d.forc eIFrame=1; d.toolbarR elated&&b. elementMod e==CKEDITO R.ELEMENT_ MODE_INLIN E&&(c=CKED ITOR.docum ent.getByI d("cke_"+b .name));va r f=c.getD ocument(); e=a(b,f,c, d,e||0);va r l=e.elem ent,h=l.ge tFirst(),g =this;l.di sableConte xtMenu();t his.elemen t=l;this._ ={editor:b ,        
651   panel:e,pa rentElemen t:c,defini tion:d,doc ument:f,if rame:h,chi ldren:[],d ir:b.lang. dir};b.on( "mode",m); b.on("resi ze",m);if( !CKEDITOR. env.iOS)f. getWindow( ).on("resi ze",m)},pr oto:{addBl ock:functi on(a,c){re turn this. _.panel.ad dBlock(a,c )},addList Block:func tion(a,c){ return thi s._.panel. addListBlo ck(a,c)},g etBlock:fu nction(a){ return thi s._.panel. getBlock(a )},showBlo ck:functio n(a,c,d,e, m,f){var l =this._.pa nel,h=l.sh owBlock(a) ;this.allo wBlur(!1); a=this._.e ditor.edit able();thi s._.return Focus=a.ha sFocus?a:n ew CKEDITO R.dom.elem ent(CKEDIT OR.documen t.$.active Element);        
652   this._.hid eTimeout=0 ;var g=thi s.element; a=this._.i frame;a=CK EDITOR.env .ie&&!CKED ITOR.env.e dge?a:new  CKEDITOR.d om.window( a.$.conten tWindow);v ar n=g.get Document() ,r=this._. parentElem ent.getPos itionedAnc estor(),t= c.getDocum entPositio n(n),n=r?r .getDocume ntPosition (n):{x:0,y :0},q="rtl "==this._. dir,p=t.x+ (e||0)-n.x ,u=t.y+(m| |0)-n.y;!q ||1!=d&&4! =d?q||2!=d &&3!=d||(p +=c.$.offs etWidth-1) :p+=c.$.of fsetWidth; if(3==d||4 ==d)u+=c.$ .offsetHei ght-1;this ._.panel._ .offsetPar entId=c.ge tId();g.se tStyles({t op:u+"px", left:0,        
653   display:"" });g.setOp acity(0);g .getFirst( ).removeSt yle("width ");this._. editor.foc usManager. add(a);thi s._.blurSe t||(CKEDIT OR.event.u seCapture= !0,a.on("b lur",funct ion(a){fun ction b(){ delete thi s._.return Focus;this .hide()}th is.allowBl ur()&&a.da ta.getPhas e()==CKEDI TOR.EVENT_ PHASE_AT_T ARGET&&thi s.visible& &!this._.a ctiveChild &&(CKEDITO R.env.iOS? this._.hid eTimeout|| (this._.hi deTimeout= CKEDITOR.t ools.setTi meout(b,0, this)):b.c all(this)) },this),a. on("focus" ,function( ){this._.f ocused=!0; this.hideC hild();thi s.allowBlu r(!0)},        
654   this),CKED ITOR.env.i OS&&(a.on( "touchstar t",functio n(){clearT imeout(thi s._.hideTi meout)},th is),a.on(" touchend", function() {this._.hi deTimeout= 0;this.foc us()},this )),CKEDITO R.event.us eCapture=! 1,this._.b lurSet=1); l.onEscape =CKEDITOR. tools.bind (function( a){if(this .onEscape& &!1===this .onEscape( a))return! 1},this);C KEDITOR.to ols.setTim eout(funct ion(){var  a=CKEDITOR .tools.bin d(function (){g.remov eStyle("wi dth");if(h .autoSize) {var a=h.e lement.get Document() ,a=(CKEDIT OR.env.web kit?h.elem ent:a.getB ody()).$.s crollWidth ;        
655   CKEDITOR.e nv.ie&&CKE DITOR.env. quirks&&0< a&&(a+=(g. $.offsetWi dth||0)-(g .$.clientW idth||0)+3 );g.setSty le("width" ,a+10+"px" );a=h.elem ent.$.scro llHeight;C KEDITOR.en v.ie&&CKED ITOR.env.q uirks&&0<a &&(a+=(g.$ .offsetHei ght||0)-(g .$.clientH eight||0)+ 3);g.setSt yle("heigh t",a+"px") ;l._.curre ntBlock.el ement.setS tyle("disp lay","none ").removeS tyle("disp lay")}else  g.removeS tyle("heig ht");q&&(p -=g.$.offs etWidth);g .setStyle( "left",p+" px");var b =l.element .getWindow (),a=g.$.g etBounding ClientRect (),b=b.get ViewPaneSi ze(),        
656   c=a.width| |a.right-a .left,d=a. height||a. bottom-a.t op,e=q?a.r ight:b.wid th-a.left, k=q?b.widt h-a.right: a.left;q?e <c&&(p=k>c ?p+c:b.wid th>c?p-a.l eft:p-a.ri ght+b.widt h):e<c&&(p =k>c?p-c:b .width>c?p -a.right+b .width:p-a .left);c=a .top;b.hei ght-a.top< d&&(u=c>d? u-d:b.heig ht>d?u-a.b ottom+b.he ight:u-a.t op);CKEDIT OR.env.ie& &(b=a=new  CKEDITOR.d om.element (g.$.offse tParent)," html"==b.g etName()&& (b=b.getDo cument().g etBody()), "rtl"==b.g etComputed Style("dir ection")&& (p=CKEDITO R.env.ie8C ompat?p-2* g.getDocum ent().getD ocumentEle ment().$.s crollLeft:        
657   p-(a.$.scr ollWidth-a .$.clientW idth)));va r a=g.getF irst(),m;( m=a.getCus tomData("a ctivePanel "))&&m.onH ide&&m.onH ide.call(t his,1);a.s etCustomDa ta("active Panel",thi s);g.setSt yles({top: u+"px",lef t:p+"px"}) ;g.setOpac ity(1);f&& f()},this) ;l.isLoade d?a():l.on Load=a;CKE DITOR.tool s.setTimeo ut(functio n(){var a= CKEDITOR.e nv.webkit& &CKEDITOR. document.g etWindow() .getScroll Position() .y;this.fo cus();h.el ement.focu s();CKEDIT OR.env.web kit&&(CKED ITOR.docum ent.getBod y().$.scro llTop=a);t his.allowB lur(!0);th is._.edito r.fire("pa nelShow",        
658   this)},0,t his)},CKED ITOR.env.a ir?200:0,t his);this. visible=1; this.onSho w&&this.on Show.call( this)},foc us:functio n(){if(CKE DITOR.env. webkit){va r a=CKEDIT OR.documen t.getActiv e();a&&!a. equals(thi s._.iframe )&&a.$.blu r()}(this. _.lastFocu sed||this. _.iframe.g etFrameDoc ument().ge tWindow()) .focus()}, blur:funct ion(){var  a=this._.i frame.getF rameDocume nt().getAc tive();a&& a.is("a")& &(this._.l astFocused =a)},hide: function(a ){if(this. visible&&( !this.onHi de||!0!==t his.onHide .call(this ))){this.h ideChild() ;CKEDITOR. env.gecko& &        
659   this._.ifr ame.getFra meDocument ().$.activ eElement.b lur();this .element.s etStyle("d isplay","n one");this .visible=0 ;this.elem ent.getFir st().remov eCustomDat a("activeP anel");if( a=a&&this. _.returnFo cus)CKEDIT OR.env.web kit&&a.typ e&&a.getWi ndow().$.f ocus(),a.f ocus();del ete this._ .lastFocus ed;this._. editor.fir e("panelHi de",this)} },allowBlu r:function (a){var c= this._.pan el;void 0! ==a&&(c.al lowBlur=a) ;return c. allowBlur} ,showAsChi ld:functio n(a,c,d,e, m,f){if(th is._.activ eChild!=a| |a._.panel ._.offsetP arentId!=d .getId())t his.hideCh ild(),        
660   a.onHide=C KEDITOR.to ols.bind(f unction(){ CKEDITOR.t ools.setTi meout(func tion(){thi s._.focuse d||this.hi de()},0,th is)},this) ,this._.ac tiveChild= a,this._.f ocused=!1, a.showBloc k(c,d,e,m, f),this.bl ur(),(CKED ITOR.env.i e7Compat|| CKEDITOR.e nv.ie6Comp at)&&setTi meout(func tion(){a.e lement.get Child(0).$ .style.css Text+=""}, 100)},hide Child:func tion(a){va r c=this._ .activeChi ld;c&&(del ete c.onHi de,delete  this._.act iveChild,c .hide(),a& &this.focu s())}}});C KEDITOR.on ("instance Destroyed" ,function( ){var a=CK EDITOR.too ls.isEmpty (CKEDITOR. instances) ,        
661   c;for(c in  e){var d= e[c];a?d.d estroy():d .element.h ide()}a&&( e={})})}() ,CKEDITOR. plugins.ad d("colorbu tton",{req uires:"pan elbutton,f loatpanel" ,init:func tion(a){fu nction e(c ,f,e,h){va r g=new CK EDITOR.sty le(d["colo rButton_"+ f+"Style"] ),n=CKEDIT OR.tools.g etNextId() +"_colorBo x";a.ui.ad d(c,CKEDIT OR.UI_PANE LBUTTON,{l abel:e,tit le:e,modes :{wysiwyg: 1},editorF ocus:0,too lbar:"colo rs,"+h,all owedConten t:g,requir edContent: g,panel:{c ss:CKEDITO R.skin.get Path("edit or"),attri butes:{rol e:"listbox ","aria-la bel":k.pan elTitle}},        
662   onBlock:fu nction(c,d ){d.autoSi ze=!0;d.el ement.addC lass("cke_ colorblock ");d.eleme nt.setHtml (b(c,f,n)) ;d.element .getDocume nt().getBo dy().setSt yle("overf low","hidd en");CKEDI TOR.ui.fir e("ready", this);var  e=d.keys,g ="rtl"==a. lang.dir;e [g?37:39]= "next";e[4 0]="next"; e[9]="next ";e[g?39:3 7]="prev"; e[38]="pre v";e[CKEDI TOR.SHIFT+ 9]="prev"; e[32]="cli ck"},refre sh:functio n(){a.acti veFilter.c heck(g)||t his.setSta te(CKEDITO R.TRISTATE _DISABLED) },onOpen:f unction(){ var b=a.ge tSelection (),b=b&&b. getStartEl ement(),b= a.elementP ath(b),        
663   c;if(b){b= b.block||b .blockLimi t||a.docum ent.getBod y();do c=b &&b.getCom putedStyle ("back"==f ?"backgrou nd-color": "color")|| "transpare nt";while( "back"==f& &"transpar ent"==c&&b &&(b=b.get Parent())) ;c&&"trans parent"!=c ||(c="#fff fff");this ._.panel._ .iframe.ge tFrameDocu ment().get ById(n).se tStyle("ba ckground-c olor",c);r eturn c}}} )}function  b(b,f,e){ var h=[],g =d.colorBu tton_color s.split(", "),n=a.plu gins.color dialog&&!1 !==d.color Button_ena bleMore,r= g.length+( n?2:1),t=C KEDITOR.to ols.addFun ction(func tion(f,e){ function g (a){this.r emoveListe ner("ok",        
664   g);this.re moveListen er("cancel ",g);"ok"= =a.name&&h (this.getC ontentElem ent("picke r","select edColor"). getValue() ,e)}var h= arguments. callee;if( "?"==f)a.o penDialog( "colordial og",functi on(){this. on("ok",g) ;this.on(" cancel",g) });else{a. focus();b. hide();a.f ire("saveS napshot"); a.removeSt yle(new CK EDITOR.sty le(d["colo rButton_"+ e+"Style"] ,{color:"i nherit"})) ;if(f){var  k=d["colo rButton_"+ e+"Style"] ;k.childRu le="back"= =e?functio n(a){retur n c(a)}:fu nction(a){ return!(a. is("a")||a .getElemen tsByTag("a ").count() )||        
665   c(a)};a.ap plyStyle(n ew CKEDITO R.style(k, {color:f}) )}a.fire(" saveSnapsh ot")}});h. push('\x3c a class\x3 d"cke_colo rauto" _ck e_focus\x3 d1 hidefoc us\x3dtrue  title\x3d "',k.auto, '" onclick \x3d"CKEDI TOR.tools. callFuncti on(',t,",n ull,'",f," ');return  false;\" h ref\x3d\"j avascript: void('",k. auto,'\')"  role\x3d" option" ar ia-posinse t\x3d"1" a ria-setsiz e\x3d"',r, '"\x3e\x3c table role \x3d"prese ntation" c ellspacing \x3d0 cell padding\x3 d0 width\x 3d"100%"\x 3e\x3ctr\x 3e\x3ctd\x 3e\x3cspan  class\x3d "cke_color box" id\x3 d"',        
666   e,'"\x3e\x 3c/span\x3 e\x3c/td\x 3e\x3ctd c olspan\x3d 7 align\x3 dcenter\x3 e',k.auto, '\x3c/td\x 3e\x3c/tr\ x3e\x3c/ta ble\x3e\x3 c/a\x3e\x3 ctable rol e\x3d"pres entation"  cellspacin g\x3d0 cel lpadding\x 3d0 width\ x3d"100%"\ x3e');for( e=0;e<g.le ngth;e++){ 0===e%8&&h .push("\x3 c/tr\x3e\x 3ctr\x3e") ;var q=g[e ].split("/ "),p=q[0], u=q[1]||p; q[1]||(p=" #"+p.repla ce(/^(.)(. )(.)$/,"$1 $1$2$2$3$3 "));q=a.la ng.colorbu tton.color s[u]||u;h. push('\x3c td\x3e\x3c a class\x3 d"cke_colo rbox" _cke _focus\x3d 1 hidefocu s\x3dtrue  title\x3d" ',        
667   q,'" oncli ck\x3d"CKE DITOR.tool s.callFunc tion(',t," ,'",p,"',' ",f,"'); r eturn fals e;\" href\ x3d\"javas cript:void ('",q,'\') " role\x3d "option" a ria-posins et\x3d"',e +2,'" aria -setsize\x 3d"',r,'"\ x3e\x3cspa n class\x3 d"cke_colo rbox" styl e\x3d"back ground-col or:#',u,'" \x3e\x3c/s pan\x3e\x3 c/a\x3e\x3 c/td\x3e') }n&&h.push ('\x3c/tr\ x3e\x3ctr\ x3e\x3ctd  colspan\x3 d8 align\x 3dcenter\x 3e\x3ca cl ass\x3d"ck e_colormor e" _cke_fo cus\x3d1 h idefocus\x 3dtrue tit le\x3d"',k .more,'" o nclick\x3d "CKEDITOR. tools.call Function(' ,        
668   t,",'?','" ,f,"');ret urn false; \" href\x3 d\"javascr ipt:void(' ",k.more," ')\"",' ro le\x3d"opt ion" aria- posinset\x 3d"',r,'"  aria-setsi ze\x3d"',r ,'"\x3e',k .more,"\x3 c/a\x3e\x3 c/td\x3e") ;h.push("\ x3c/tr\x3e \x3c/table \x3e");ret urn h.join ("")}funct ion c(a){r eturn"fals e"==a.getA ttribute(" contentEdi table")||a .getAttrib ute("data- nostyle")} var d=a.co nfig,k=a.l ang.colorb utton;CKED ITOR.env.h c||(e("Tex tColor","f ore",k.tex tColorTitl e,10),e("B GColor","b ack",k.bgC olorTitle, 20))}}),CK EDITOR.con fig.colorB utton_colo rs=        
669   "000,80000 0,8B4513,2 F4F4F,0080 80,000080, 4B0082,696 969,B22222 ,A52A2A,DA A520,00640 0,40E0D0,0 000CD,8000 80,808080, F00,FF8C00 ,FFD700,00 8000,0FF,0 0F,EE82EE, A9A9A9,FFA 07A,FFA500 ,FFFF00,00 FF00,AFEEE E,ADD8E6,D DA0DD,D3D3 D3,FFF0F5, FAEBD7,FFF FE0,F0FFF0 ,F0FFFF,F0 F8FF,E6E6F A,FFF",CKE DITOR.conf ig.colorBu tton_foreS tyle={elem ent:"span" ,styles:{c olor:"#(co lor)"},ove rrides:[{e lement:"fo nt",attrib utes:{colo r:null}}]} ,CKEDITOR. config.col orButton_b ackStyle={ element:"s pan",style s:{"backgr ound-color ":"#(color )"}},CKEDI TOR.plugin s.colordia log=        
670   {requires: "dialog",i nit:functi on(a){var  e=new CKED ITOR.dialo gCommand(" colordialo g");e.edit orFocus=!1 ;a.addComm and("color dialog",e) ;CKEDITOR. dialog.add ("colordia log",this. path+"dial ogs/colord ialog.js") ;a.getColo rFromDialo g=function (b,c){var  d=function (a){this.r emoveListe ner("ok",d );this.rem oveListene r("cancel" ,d);a="ok" ==a.name?t his.getVal ueOf("pick er","selec tedColor") :null;b.ca ll(c,a)},e =function( a){a.on("o k",d);a.on ("cancel", d)};a.exec Command("c olordialog ");if(a._. storedDial ogs&&a._.s toredDialo gs.colordi alog)e(a._ .storedDia logs.color dialog);        
671   else CKEDI TOR.on("di alogDefini tion",func tion(a){if ("colordia log"==a.da ta.name){v ar b=a.dat a.definiti on;a.remov eListener( );b.onLoad =CKEDITOR. tools.over ride(b.onL oad,functi on(a){retu rn functio n(){e(this );b.onLoad =a;"functi on"==typeo f a&&a.cal l(this)}}) }})}}},CKE DITOR.plug ins.add("c olordialog ",CKEDITOR .plugins.c olordialog ),CKEDITOR .plugins.a dd("menu", {requires: "floatpane l",beforeI nit:functi on(a){for( var e=a.co nfig.menu_ groups.spl it(","),b= a._.menuGr oups={},c= a._.menuIt ems={},d=0 ;d<e.lengt h;d++)b[e[ d]]=        
672   d+1;a.addM enuGroup=f unction(a, c){b[a]=c| |100};a.ad dMenuItem= function(a ,d){b[d.gr oup]&&(c[a ]=new CKED ITOR.menuI tem(this,a ,d))};a.ad dMenuItems =function( a){for(var  b in a)th is.addMenu Item(b,a[b ])};a.getM enuItem=fu nction(a){ return c[a ]};a.remov eMenuItem= function(a ){delete c [a]}}}),fu nction(){f unction a( a){a.sort( function(a ,b){return  a.group<b .group?-1: a.group>b. group?1:a. order<b.or der?-1:a.o rder>b.ord er?1:0})}v ar e='\x3c span class \x3d"cke_m enuitem"\x 3e\x3ca id \x3d"{id}"  class\x3d "cke_menub utton cke_ menubutton __{name} c ke_menubut ton_{state } {cls}" h ref\x3d"{h ref}" titl e\x3d"{tit le}" tabin dex\x3d"-1 "_cke_focu s\x3d1 hid efocus\x3d "true" rol e\x3d"{rol e}" aria-h aspopup\x3 d"{hasPopu p}" aria-d isabled\x3 d"{disable d}" {ariaC hecked}';        
673   CKEDITOR.e nv.gecko&& CKEDITOR.e nv.mac&&(e +=' onkeyp ress\x3d"r eturn fals e;"');CKED ITOR.env.g ecko&&(e+= ' onblur\x 3d"this.st yle.cssTex t \x3d thi s.style.cs sText;"'); var e=e+('  onmouseov er\x3d"CKE DITOR.tool s.callFunc tion({hove rFn},{inde x});" onmo useout\x3d "CKEDITOR. tools.call Function({ moveOutFn} ,{index}); " '+(CKEDI TOR.env.ie ?'onclick\ x3d"return  false;" o nmouseup': "onclick") +'\x3d"CKE DITOR.tool s.callFunc tion({clic kFn},{inde x}); retur n false;"\ x3e'),b=CK EDITOR.add Template(" menuItem", e+'\x3cspa n class\x3 d"cke_menu button_inn er"\x3e\x3 cspan clas s\x3d"cke_ menubutton _icon"\x3e \x3cspan c lass\x3d"c ke_button_ icon cke_b utton__{ic onName}_ic on" style\ x3d"{iconS tyle}"\x3e \x3c/span\ x3e\x3c/sp an\x3e\x3c span class \x3d"cke_m enubutton_ label"\x3e {label}\x3 c/span\x3e {arrowHtml }\x3c/span \x3e\x3c/a \x3e\x3c/s pan\x3e'),        
674   c=CKEDITOR .addTempla te("menuAr row",'\x3c span class \x3d"cke_m enuarrow"\ x3e\x3cspa n\x3e{labe l}\x3c/spa n\x3e\x3c/ span\x3e') ;CKEDITOR. menu=CKEDI TOR.tools. createClas s({$:funct ion(a,b){b =this._.de finition=b ||{};this. id=CKEDITO R.tools.ge tNextId(); this.edito r=a;this.i tems=[];th is._.liste ners=[];th is._.level =b.level|| 1;var c=CK EDITOR.too ls.extend( {},b.panel ,{css:[CKE DITOR.skin .getPath(" editor")], level:this ._.level-1 ,block:{}} ),f=c.bloc k.attribut es=c.attri butes||{}; !f.role&&( f.role="me nu");this. _.panelDef inition=        
675   c},_:{onSh ow:functio n(){var a= this.edito r.getSelec tion(),b=a &&a.getSta rtElement( ),c=this.e ditor.elem entPath(), f=this._.l isteners;t his.remove All();for( var e=0;e< f.length;e ++){var h= f[e](b,a,c );if(h)for (var g in  h){var n=t his.editor .getMenuIt em(g);!n|| n.command& &!this.edi tor.getCom mand(n.com mand).stat e||(n.stat e=h[g],thi s.add(n))} }},onClick :function( a){this.hi de();if(a. onClick)a. onClick(); else a.com mand&&this .editor.ex ecCommand( a.command) },onEscape :function( a){var b=t his.parent ;b?b._.pan el.hideChi ld(1):        
676   27==a&&thi s.hide(1); return!1}, onHide:fun ction(){th is.onHide& &this.onHi de()},show SubMenu:fu nction(a){ var b=this ._.subMenu ,c=this.it ems[a];if( c=c.getIte ms&&c.getI tems()){b? b.removeAl l():(b=thi s._.subMen u=new CKED ITOR.menu( this.edito r,CKEDITOR .tools.ext end({},thi s._.defini tion,{leve l:this._.l evel+1},!0 )),b.paren t=this,b._ .onClick=C KEDITOR.to ols.bind(t his._.onCl ick,this)) ;for(var f  in c){var  e=this.ed itor.getMe nuItem(f); e&&(e.stat e=c[f],b.a dd(e))}var  h=this._. panel.getB lock(this. id).elemen t.getDocum ent().getB yId(this.i d+        
677   String(a)) ;setTimeou t(function (){b.show( h,2)},0)}e lse this._ .panel.hid eChild(1)} },proto:{a dd:functio n(a){a.ord er||(a.ord er=this.it ems.length );this.ite ms.push(a) },removeAl l:function (){this.it ems=[]},sh ow:functio n(b,c,e,f) {if(!this. parent&&(t his._.onSh ow(),!this .items.len gth))retur n;c=c||("r tl"==this. editor.lan g.dir?2:1) ;var l=thi s.items,h= this.edito r,g=this._ .panel,n=t his._.elem ent;if(!g) {g=this._. panel=new  CKEDITOR.u i.floatPan el(this.ed itor,CKEDI TOR.docume nt.getBody (),this._. panelDefin ition,this ._.level);        
678   g.onEscape =CKEDITOR. tools.bind (function( a){if(!1== =this._.on Escape(a)) return!1}, this);g.on Show=funct ion(){g._. panel.getH olderEleme nt().getPa rent().add Class("cke ").addClas s("cke_res et_all")}; g.onHide=C KEDITOR.to ols.bind(f unction(){ this._.onH ide&&this. _.onHide() },this);n= g.addBlock (this.id,t his._.pane lDefinitio n.block);n .autoSize= !0;var r=n .keys;r[40 ]="next";r [9]="next" ;r[38]="pr ev";r[CKED ITOR.SHIFT +9]="prev" ;r["rtl"== h.lang.dir ?37:39]=CK EDITOR.env .ie?"mouse up":"click ";r[32]=CK EDITOR.env .ie?"mouse up":        
679   "click";CK EDITOR.env .ie&&(r[13 ]="mouseup ");n=this. _.element= n.element; r=n.getDoc ument();r. getBody(). setStyle(" overflow", "hidden"); r.getEleme ntsByTag(" html").get Item(0).se tStyle("ov erflow","h idden");th is._.itemO verFn=CKED ITOR.tools .addFuncti on(functio n(a){clear Timeout(th is._.showS ubTimeout) ;this._.sh owSubTimeo ut=CKEDITO R.tools.se tTimeout(t his._.show SubMenu,h. config.men u_subMenuD elay||400, this,[a])} ,this);thi s._.itemOu tFn=CKEDIT OR.tools.a ddFunction (function( ){clearTim eout(this. _.showSubT imeout)},t his);        
680   this._.ite mClickFn=C KEDITOR.to ols.addFun ction(func tion(a){va r b=this.i tems[a];if (b.state== CKEDITOR.T RISTATE_DI SABLED)thi s.hide(1); else if(b. getItems)t his._.show SubMenu(a) ;else this ._.onClick (b)},this) }a(l);for( var r=h.el ementPath( ),r=['\x3c div class\ x3d"cke_me nu'+(r&&r. direction( )!=h.lang. dir?" cke_ mixed_dir_ content":" ")+'" role \x3d"prese ntation"\x 3e'],t=l.l ength,q=t& &l[0].grou p,p=0;p<t; p++){var u =l[p];q!=u .group&&(r .push('\x3 cdiv class \x3d"cke_m enuseparat or" role\x 3d"separat or"\x3e\x3 c/div\x3e' ),        
681   q=u.group) ;u.render( this,p,r)} r.push("\x 3c/div\x3e ");n.setHt ml(r.join( ""));CKEDI TOR.ui.fir e("ready", this);this .parent?th is.parent. _.panel.sh owAsChild( g,this.id, b,c,e,f):g .showBlock (this.id,b ,c,e,f);h. fire("menu Show",[g]) },addListe ner:functi on(a){this ._.listene rs.push(a) },hide:fun ction(a){t his._.onHi de&&this._ .onHide(); this._.pan el&&this._ .panel.hid e(a)}}});C KEDITOR.me nuItem=CKE DITOR.tool s.createCl ass({$:fun ction(a,b, c){CKEDITO R.tools.ex tend(this, c,{order:0 ,className :"cke_menu button__"+ b});this.g roup=        
682   a._.menuGr oups[this. group];thi s.editor=a ;this.name =b},proto: {render:fu nction(a,e ,m){var f= a.id+Strin g(e),l="un defined"== typeof thi s.state?CK EDITOR.TRI STATE_OFF: this.state ,h="",g=l= =CKEDITOR. TRISTATE_O N?"on":l== CKEDITOR.T RISTATE_DI SABLED?"di sabled":"o ff";this.r ole in{men uitemcheck box:1,menu itemradio: 1}&&(h=' a ria-checke d\x3d"'+(l ==CKEDITOR .TRISTATE_ ON?"true": "false")+' "');var n= this.getIt ems,r="\x2 6#"+("rtl" ==this.edi tor.lang.d ir?"9668": "9658")+"; ",t=this.n ame;this.i con&&!/\./ .test(this .icon)&&(t =        
683   this.icon) ;a={id:f,n ame:this.n ame,iconNa me:t,label :this.labe l,cls:this .className ||"",state :g,hasPopu p:n?"true" :"false",d isabled:l= =CKEDITOR. TRISTATE_D ISABLED,ti tle:this.l abel,href: "javascrip t:void('"+ (this.labe l||"").rep lace("'")+ "')",hover Fn:a._.ite mOverFn,mo veOutFn:a. _.itemOutF n,clickFn: a._.itemCl ickFn,inde x:e,iconSt yle:CKEDIT OR.skin.ge tIconStyle (t,"rtl"== this.edito r.lang.dir ,t==this.i con?null:t his.icon,t his.iconOf fset),arro wHtml:n?c. output({la bel:r}):"" ,role:this .role?this .role:"men uitem",ari aChecked:h };        
684   b.output(a ,m)}}})}() ,CKEDITOR. config.men u_groups=" clipboard, form,table cell,table cellproper ties,table row,tablec olumn,tabl e,anchor,l ink,image, flash,chec kbox,radio ,textfield ,hiddenfie ld,imagebu tton,butto n,select,t extarea,di v",CKEDITO R.plugins. add("conte xtmenu",{r equires:"m enu",onLoa d:function (){CKEDITO R.plugins. contextMen u=CKEDITOR .tools.cre ateClass({ base:CKEDI TOR.menu,$ :function( a){this.ba se.call(th is,a,{pane l:{classNa me:"cke_me nu_panel", attributes :{"aria-la bel":a.lan g.contextm enu.option s}}})},pro to:{addTar get:functi on(a,        
685   e){a.on("c ontextmenu ",function (a){a=a.da ta;var c=C KEDITOR.en v.webkit?b :CKEDITOR. env.mac?a. $.metaKey: a.$.ctrlKe y;if(!e||! c){a.preve ntDefault( );if(CKEDI TOR.env.ma c&&CKEDITO R.env.webk it){var c= this.edito r,m=(new C KEDITOR.do m.elementP ath(a.getT arget(),c. editable() )).contain s(function (a){return  a.hasAttr ibute("con tenteditab le")},!0); m&&"false" ==m.getAtt ribute("co ntentedita ble")&&c.g etSelectio n().fake(m )}var m=a. getTarget( ).getDocum ent(),f=a. getTarget( ).getDocum ent().getD ocumentEle ment(),c=! m.equals(C KEDITOR.do cument),        
686   m=m.getWin dow().getS crollPosit ion(),l=c? a.$.client X:a.$.page X||m.x+a.$ .clientX,h =c?a.$.cli entY:a.$.p ageY||m.y+ a.$.client Y;CKEDITOR .tools.set Timeout(fu nction(){t his.open(f ,null,l,h) },CKEDITOR .env.ie?20 0:0,this)} },this);if (CKEDITOR. env.webkit ){var b,c= function() {b=0};a.on ("keydown" ,function( a){b=CKEDI TOR.env.ma c?a.data.$ .metaKey:a .data.$.ct rlKey});a. on("keyup" ,c);a.on(" contextmen u",c)}},op en:functio n(a,e,b,c) {this.edit or.focus() ;a=a||CKED ITOR.docum ent.getDoc umentEleme nt();this. editor.sel ectionChan ge(1);        
687   this.show( a,e,b,c)}} })},before Init:funct ion(a){var  e=a.conte xtMenu=new  CKEDITOR. plugins.co ntextMenu( a);a.on("c ontentDom" ,function( ){e.addTar get(a.edit able(),!1! ==a.config .browserCo ntextMenuO nCtrl)});a .addComman d("context Menu",{exe c:function (){a.conte xtMenu.ope n(a.docume nt.getBody ())}});a.s etKeystrok e(CKEDITOR .SHIFT+121 ,"contextM enu");a.se tKeystroke (CKEDITOR. CTRL+CKEDI TOR.SHIFT+ 121,"conte xtMenu")}} ),function (){functio n a(a){var  b=this.at t;a=a&&a.h asAttribut e(b)&&a.ge tAttribute (b)||"";vo id 0!==a&& this.setVa lue(a)}        
688   function e (){for(var  a,b=0;b<a rguments.l ength;b++) if(argumen ts[b]insta nceof CKED ITOR.dom.e lement){a= arguments[ b];break}i f(a){var b =this.att, e=this.get Value();e? a.setAttri bute(b,e): a.removeAt tribute(b, e)}}var b= {id:1,dir: 1,classes: 1,styles:1 };CKEDITOR .plugins.a dd("dialog advtab",{r equires:"d ialog",all owedConten t:function (a){a||(a= b);var d=[ ];a.id&&d. push("id") ;a.dir&&d. push("dir" );var e="" ;d.length& &(e+="["+d .join(",") +"]");a.cl asses&&(e+ ="(*)");a. styles&&(e +="{*}");r eturn e},c reateAdvan cedTab:fun ction(c,        
689   d,k){d||(d =b);var m= c.lang.com mon,f={id: "advanced" ,label:m.a dvancedTab ,title:m.a dvancedTab ,elements: [{type:"vb ox",paddin g:1,childr en:[]}]},l =[];if(d.i d||d.dir)d .id&&l.pus h({id:"adv Id",att:"i d",type:"t ext",requi redContent :k?k+"[id] ":null,lab el:m.id,se tup:a,comm it:e}),d.d ir&&l.push ({id:"advL angDir",at t:"dir",ty pe:"select ",required Content:k? k+"[dir]": null,label :m.langDir ,"default" :"",style: "width:100 %",items:[ [m.notSet, ""],[m.lan gDirLTR,"l tr"],[m.la ngDirRTL," rtl"]],set up:a,commi t:e}),f.el ements[0]. children.p ush({type: "hbox",        
690   widths:["5 0%","50%"] ,children: [].concat( l)});if(d. styles||d. classes)l= [],d.style s&&l.push( {id:"advSt yles",att: "style",ty pe:"text", requiredCo ntent:k?k+ "{cke-xyz} ":null,lab el:m.style s,"default ":"",valid ate:CKEDIT OR.dialog. validate.i nlineStyle (m.invalid InlineStyl e),onChang e:function (){},getSt yle:functi on(a,b){va r c=this.g etValue(). match(new  RegExp("(? :^|;)\\s*" +a+"\\s*:\ \s*([^;]*) ","i"));re turn c?c[1 ]:b},updat eStyle:fun ction(a,b) {var d=thi s.getValue (),f=c.doc ument.crea teElement( "span");f. setAttribu te("style" ,        
691   d);f.setSt yle(a,b);d =CKEDITOR. tools.norm alizeCssTe xt(f.getAt tribute("s tyle"));th is.setValu e(d,1)},se tup:a,comm it:e}),d.c lasses&&l. push({type :"hbox",wi dths:["45% ","55%"],c hildren:[{ id:"advCSS Classes",a tt:"class" ,type:"tex t",require dContent:k ?k+"(cke-x yz)":null, label:m.cs sClasses," default":" ",setup:a, commit:e}] }),f.eleme nts[0].chi ldren.push ({type:"hb ox",widths :["50%","5 0%"],child ren:[].con cat(l)});r eturn f}}) }(),functi on(){CKEDI TOR.plugin s.add("div ",{require s:"dialog" ,init:func tion(a){if (!a.blockl ess){var e =        
692   a.lang.div ,b="div(*) ";CKEDITOR .dialog.is TabEnabled (a,"editdi v","advanc ed")&&(b+= ";div[dir, id,lang,ti tle]{*}"); a.addComma nd("create div",new C KEDITOR.di alogComman d("created iv",{allow edContent: b,required Content:"d iv",contex tSensitive :!0,refres h:function (a,b){this .setState( "div"in(a. config.div _wrapTable ?b.root:b. blockLimit ).getDtd() ?CKEDITOR. TRISTATE_O FF:CKEDITO R.TRISTATE _DISABLED) }}));a.add Command("e ditdiv",ne w CKEDITOR .dialogCom mand("edit div",{requ iredConten t:"div"})) ;a.addComm and("remov ediv",{req uiredConte nt:"div",        
693   exec:funct ion(a){fun ction b(d) {(d=CKEDIT OR.plugins .div.getSu rroundDiv( a,d))&&!d. data("cke- div-added" )&&(h.push (d),d.data ("cke-div- added"))}f or(var e=a .getSelect ion(),m=e& &e.getRang es(),f,l=e .createBoo kmarks(),h =[],g=0;g< m.length;g ++)f=m[g], f.collapse d?b(e.getS tartElemen t()):(f=ne w CKEDITOR .dom.walke r(f),f.eva luator=b,f .lastForwa rd());for( g=0;g<h.le ngth;g++)h [g].remove (!0);e.sel ectBookmar ks(l)}});a .ui.addBut ton&&a.ui. addButton( "CreateDiv ",{label:e .toolbar,c ommand:"cr eatediv",t oolbar:"bl ocks,50"}) ;        
694   a.addMenuI tems&&(a.a ddMenuItem s({editdiv :{label:e. edit,comma nd:"editdi v",group:" div",order :1},remove div:{label :e.remove, command:"r emovediv", group:"div ",order:5} }),a.conte xtMenu&&a. contextMen u.addListe ner(functi on(b){retu rn!b||b.is ReadOnly() ?null:CKED ITOR.plugi ns.div.get SurroundDi v(a)?{edit div:CKEDIT OR.TRISTAT E_OFF,remo vediv:CKED ITOR.TRIST ATE_OFF}:n ull}));CKE DITOR.dial og.add("cr eatediv",t his.path+" dialogs/di v.js");CKE DITOR.dial og.add("ed itdiv",thi s.path+"di alogs/div. js")}}});C KEDITOR.pl ugins.div= {getSurrou ndDiv:func tion(a,        
695   e){var b=a .elementPa th(e);retu rn a.eleme ntPath(b.b lockLimit) .contains( function(a ){return a .is("div") &&!a.isRea dOnly()},1 )}}}(),fun ction(){fu nction a(a ,b){functi on m(b){b= g.list[b]; if(b.equal s(a.editab le())||"tr ue"==b.get Attribute( "contented itable")){ var c=a.cr eateRange( );c.select NodeConten ts(b);c.se lect()}els e a.getSel ection().s electEleme nt(b);a.fo cus()}func tion f(){h &&h.setHtm l('\x3cspa n class\x3 d"cke_path _empty"\x3 e\x26nbsp; \x3c/span\ x3e');dele te g.list} var l=a.ui .spaceId(" path"),h,g =a._.eleme ntsPath,        
696   n=g.idBase ;b.html+=' \x3cspan i d\x3d"'+l+ '_label" c lass\x3d"c ke_voice_l abel"\x3e' +a.lang.el ementspath .eleLabel+ '\x3c/span \x3e\x3csp an id\x3d" '+l+'" cla ss\x3d"cke _path" rol e\x3d"grou p" aria-la belledby\x 3d"'+l+'_l abel"\x3e\ x3cspan cl ass\x3d"ck e_path_emp ty"\x3e\x2 6nbsp;\x3c /span\x3e\ x3c/span\x 3e';a.on(" uiReady",f unction(){ var b=a.ui .space("pa th");b&&a. focusManag er.add(b,1 )});g.onCl ick=m;var  r=CKEDITOR .tools.add Function(m ),t=CKEDIT OR.tools.a ddFunction (function( b,c){var f =g.idBase, e;c=new CK EDITOR.dom .event(c);        
697   e="rtl"==a .lang.dir; switch(c.g etKeystrok e()){case  e?39:37:ca se 9:retur n(e=CKEDIT OR.documen t.getById( f+(b+1)))| |(e=CKEDIT OR.documen t.getById( f+"0")),e. focus(),!1 ;case e?37 :39:case C KEDITOR.SH IFT+9:retu rn(e=CKEDI TOR.docume nt.getById (f+(b-1))) ||(e=CKEDI TOR.docume nt.getById (f+(g.list .length-1) )),e.focus (),!1;case  27:return  a.focus() ,!1;case 1 3:case 32: return m(b ),!1}retur n!0});a.on ("selectio nChange",f unction(){ for(var b= [],f=g.lis t=[],e=[], k=g.filter s,m=!0,B=a .elementPa th().eleme nts,v,z=B. length;z-- ;){var C=        
698   B[z],x=0;v =C.data("c ke-display -name")?C. data("cke- display-na me"):C.dat a("cke-rea l-element- type")?C.d ata("cke-r eal-elemen t-type"):C .getName() ;(m=C.hasA ttribute(" contentedi table")?"t rue"==C.ge tAttribute ("contente ditable"): m)||C.hasA ttribute(" contentedi table")||( x=1);for(v ar A=0;A<k .length;A+ +){var D=k [A](C,v);i f(!1===D){ x=1;break} v=D||v}x|| (f.unshift (C),e.unsh ift(v))}f= f.length;f or(k=0;k<f ;k++)v=e[k ],m=a.lang .elementsp ath.eleTit le.replace (/%1/,v),v =c.output( {id:n+k,la bel:m,text :v,jsTitle :"javascri pt:void('" +        
699   v+"')",ind ex:k,keyDo wnFn:t,cli ckFn:r}),b .unshift(v );h||(h=CK EDITOR.doc ument.getB yId(l));e= h;e.setHtm l(b.join(" ")+'\x3csp an class\x 3d"cke_pat h_empty"\x 3e\x26nbsp ;\x3c/span \x3e');a.f ire("eleme ntsPathUpd ate",{spac e:e})});a. on("readOn ly",f);a.o n("content DomUnload" ,f);a.addC ommand("el ementsPath Focus",e.t oolbarFocu s);a.setKe ystroke(CK EDITOR.ALT +122,"elem entsPathFo cus")}var  e={toolbar Focus:{edi torFocus:! 1,readOnly :1,exec:fu nction(a){ (a=CKEDITO R.document .getById(a ._.element sPath.idBa se+"0"))&& a.focus(CK EDITOR.env .ie||        
700   CKEDITOR.e nv.air)}}} ,b="";CKED ITOR.env.g ecko&&CKED ITOR.env.m ac&&(b+='  onkeypress \x3d"retur n false;"' );CKEDITOR .env.gecko &&(b+=' on blur\x3d"t his.style. cssText \x 3d this.st yle.cssTex t;"');var  c=CKEDITOR .addTempla te("pathIt em",'\x3ca  id\x3d"{i d}" href\x 3d"{jsTitl e}" tabind ex\x3d"-1"  class\x3d "cke_path_ item" titl e\x3d"{lab el}"'+b+'  hidefocus\ x3d"true"   onkeydown \x3d"retur n CKEDITOR .tools.cal lFunction( {keyDownFn },{index},  event );"  onclick\x 3d"CKEDITO R.tools.ca llFunction ({clickFn} ,{index});  return fa lse;" role \x3d"butto n" aria-la bel\x3d"{l abel}"\x3e {text}\x3c /a\x3e');        
701   CKEDITOR.p lugins.add ("elements path",{ini t:function (b){b._.el ementsPath ={idBase:" cke_elemen tspath_"+C KEDITOR.to ols.getNex tNumber()+ "_",filter s:[]};b.on ("uiSpace" ,function( c){"bottom "==c.data. space&&a(b ,c.data)}) }})}(),fun ction(){fu nction a(a ,b,c){c=a. config.for ceEnterMod e||c;"wysi wyg"==a.mo de&&(b||(b =a.activeE nterMode), a.elementP ath().isCo ntextFor(" p")||(b=CK EDITOR.ENT ER_BR,c=1) ,a.fire("s aveSnapsho t"),b==CKE DITOR.ENTE R_BR?m(a,b ,null,c):f (a,b,null, c),a.fire( "saveSnaps hot"))}fun ction e(a) {a=a.getSe lection(). getRanges( !0);        
702   for(var b= a.length-1 ;0<b;b--)a [b].delete Contents() ;return a[ 0]}functio n b(a){var  b=a.start Container. getAscenda nt(functio n(a){retur n a.type== CKEDITOR.N ODE_ELEMEN T&&"true"= =a.getAttr ibute("con tenteditab le")},!0); if(a.root. equals(b)) return a;b =new CKEDI TOR.dom.ra nge(b);b.m oveToRange (a);return  b}CKEDITO R.plugins. add("enter key",{init :function( b){b.addCo mmand("ent er",{modes :{wysiwyg: 1},editorF ocus:!1,ex ec:functio n(b){a(b)} });b.addCo mmand("shi ftEnter",{ modes:{wys iwyg:1},ed itorFocus: !1,exec:fu nction(b){ a(b,        
703   b.activeSh iftEnterMo de,1)}});b .setKeystr oke([[13," enter"],[C KEDITOR.SH IFT+13,"sh iftEnter"] ])}});var  c=CKEDITOR .dom.walke r.whitespa ces(),d=CK EDITOR.dom .walker.bo okmark();C KEDITOR.pl ugins.ente rkey={ente rBlock:fun ction(a,f, k,r){if(k= k||e(a)){k =b(k);var  t=k.docume nt,q=k.che ckStartOfB lock(),p=k .checkEndO fBlock(),u =a.element Path(k.sta rtContaine r),w=u.blo ck,y=f==CK EDITOR.ENT ER_DIV?"di v":"p",B;i f(q&&p){if (w&&(w.is( "li")||w.g etParent() .is("li")) ){w.is("li ")||(w=w.g etParent() );k=w.getP arent();B= k.getParen t();        
704   r=!w.hasPr evious();v ar v=!w.ha sNext(),y= a.getSelec tion(),z=y .createBoo kmarks(),q =w.getDire ction(1),p =w.getAttr ibute("cla ss"),C=w.g etAttribut e("style") ,x=B.getDi rection(1) !=q;a=a.en terMode!=C KEDITOR.EN TER_BR||x| |C||p;if(B .is("li")) r||v?(r&&v &&k.remove (),w[v?"in sertAfter" :"insertBe fore"](B)) :w.breakPa rent(B);el se{if(a)if (u.block.i s("li")?(B =t.createE lement(f== CKEDITOR.E NTER_P?"p" :"div"),x& &B.setAttr ibute("dir ",q),C&&B. setAttribu te("style" ,C),p&&B.s etAttribut e("class", p),w.moveC hildren(B) ):B=u.bloc k,        
705   r||v)B[r?" insertBefo re":"inser tAfter"](k );else w.b reakParent (k),B.inse rtAfter(k) ;else if(w .appendBog us(!0),r|| v)for(;t=w [r?"getFir st":"getLa st"]();)t[ r?"insertB efore":"in sertAfter" ](k);else  for(w.brea kParent(k) ;t=w.getLa st();)t.in sertAfter( k);w.remov e()}y.sele ctBookmark s(z);retur n}if(w&&w. getParent( ).is("bloc kquote")){ w.breakPar ent(w.getP arent());w .getPrevio us().getFi rst(CKEDIT OR.dom.wal ker.invisi ble(1))||w .getPrevio us().remov e();w.getN ext().getF irst(CKEDI TOR.dom.wa lker.invis ible(1))|| w.getNext( ).remove() ;        
706   k.moveToEl ementEditS tart(w);k. select();r eturn}}els e if(w&&w. is("pre")& &!p){m(a,f ,k,r);retu rn}if(q=k. splitBlock (y)){f=q.p reviousBlo ck;w=q.nex tBlock;u=q .wasStartO fBlock;a=q .wasEndOfB lock;w?(z= w.getParen t(),z.is(" li")&&(w.b reakParent (z),w.move (w.getNext (),1))):f& &(z=f.getP arent())&& z.is("li") &&(f.break Parent(z), z=f.getNex t(),k.move ToElementE ditStart(z ),f.move(f .getPrevio us()));if( u||a){if(f ){if(f.is( "li")||!l. test(f.get Name())&&! f.is("pre" ))B=f.clon e()}else w &&(B=w.clo ne());B?r& &!B.is("li ")&&B.rena meNode(y):        
707   z&&z.is("l i")?B=z:(B =t.createE lement(y), f&&(v=f.ge tDirection ())&&B.set Attribute( "dir",v)); if(t=q.ele mentPath)f or(r=0,y=t .elements. length;r<y ;r++){z=t. elements[r ];if(z.equ als(t.bloc k)||z.equa ls(t.block Limit))bre ak;CKEDITO R.dtd.$rem oveEmpty[z .getName() ]&&(z=z.cl one(),B.mo veChildren (z),B.appe nd(z))}B.a ppendBogus ();B.getPa rent()||k. insertNode (B);B.is(" li")&&B.re moveAttrib ute("value ");!CKEDIT OR.env.ie| |!u||a&&f. getChildCo unt()||(k. moveToElem entEditSta rt(a?f:B), k.select() );k.moveTo ElementEdi tStart(u&& !a?        
708   w:B)}else  w.is("li") &&(B=k.clo ne(),B.sel ectNodeCon tents(w),B =new CKEDI TOR.dom.wa lker(B),B. evaluator= function(a ){return!( d(a)||c(a) ||a.type== CKEDITOR.N ODE_ELEMEN T&&a.getNa me()in CKE DITOR.dtd. $inline&&! (a.getName ()in CKEDI TOR.dtd.$e mpty))},(z =B.next()) &&z.type== CKEDITOR.N ODE_ELEMEN T&&z.is("u l","ol")&& (CKEDITOR. env.needsB rFiller?t. createElem ent("br"): t.createTe xt(" ")).i nsertBefor e(z)),w&&k .moveToEle mentEditSt art(w);k.s elect();k. scrollInto View()}}}, enterBr:fu nction(a,b ,c,d){if(c =c||e(a)){ var k=c.do cument,        
709   m=c.checkE ndOfBlock( ),p=new CK EDITOR.dom .elementPa th(a.getSe lection(). getStartEl ement()),u =p.block,w =u&&p.bloc k.getName( );d||"li"! =w?(!d&&m& &l.test(w) ?(m=u.getD irection() )?(k=k.cre ateElement ("div"),k. setAttribu te("dir",m ),k.insert After(u),c .setStart( k,0)):(k.c reateEleme nt("br").i nsertAfter (u),CKEDIT OR.env.gec ko&&k.crea teText("") .insertAft er(u),c.se tStartAt(u .getNext() ,CKEDITOR. env.ie?CKE DITOR.POSI TION_BEFOR E_START:CK EDITOR.POS ITION_AFTE R_START)): (a="pre"== w&&CKEDITO R.env.ie&& 8>CKEDITOR .env.versi on?        
710   k.createTe xt("\r"):k .createEle ment("br") ,c.deleteC ontents(), c.insertNo de(a),CKED ITOR.env.n eedsBrFill er?(k.crea teText("" ).insertAf ter(a),m&& (u||p.bloc kLimit).ap pendBogus( ),a.getNex t().$.node Value="",c .setStartA t(a.getNex t(),CKEDIT OR.POSITIO N_AFTER_ST ART)):c.se tStartAt(a ,CKEDITOR. POSITION_A FTER_END)) ,c.collaps e(!0),c.se lect(),c.s crollIntoV iew()):f(a ,b,c,d)}}} ;var k=CKE DITOR.plug ins.enterk ey,m=k.ent erBr,f=k.e nterBlock, l=/^h[1-6] $/}(),func tion(){fun ction a(a, b){var c={ },d=[],k={ nbsp:" ",s hy:"­",gt: "\x3e",        
711   lt:"\x3c", amp:"\x26" ,apos:"'", quot:'"'}; a=a.replac e(/\b(nbsp |shy|gt|lt |amp|apos| quot)(?:,| $)/g,funct ion(a,f){v ar e=b?"\x 26"+f+";": k[f];c[e]= b?k[f]:"\x 26"+f+";"; d.push(e); return""}) ;if(!b&&a) {a=a.split (",");var  m=document .createEle ment("div" ),f;m.inne rHTML="\x2 6"+a.join( ";\x26")+" ;";f=m.inn erHTML;m=n ull;for(m= 0;m<f.leng th;m++){va r l=f.char At(m);c[l] ="\x26"+a[ m]+";";d.p ush(l)}}c. regex=d.jo in(b?"|":" ");return  c}CKEDITOR .plugins.a dd("entiti es",{after Init:funct ion(e){fun ction b(a) {return l[ a]}functio n c(a){ret urn"force" !=        
712   d.entities _processNu merical&&m [a]?m[a]:" \x26#"+a.c harCodeAt( 0)+";"}var  d=e.confi g;if(e=(e= e.dataProc essor)&&e. htmlFilter ){var k=[] ;!1!==d.ba sicEntitie s&&k.push( "nbsp,gt,l t,amp");d. entities&& (k.length& &k.push("q uot,iexcl, cent,pound ,curren,ye n,brvbar,s ect,uml,co py,ordf,la quo,not,sh y,reg,macr ,deg,plusm n,sup2,sup 3,acute,mi cro,para,m iddot,cedi l,sup1,ord m,raquo,fr ac14,frac1 2,frac34,i quest,time s,divide,f nof,bull,h ellip,prim e,Prime,ol ine,frasl, weierp,ima ge,real,tr ade,alefsy m,larr,uar r,rarr,dar r,harr,cra rr,lArr,uA rr,rArr,dA rr,hArr,fo rall,part, exist,empt y,nabla,is in,notin,n i,prod,sum ,minus,low ast,radic, prop,infin ,ang,and,o r,cap,cup, int,there4 ,sim,cong, asymp,ne,e quiv,le,ge ,sub,sup,n sub,sube,s upe,oplus, otimes,per p,sdot,lce il,rceil,l floor,rflo or,lang,ra ng,loz,spa des,clubs, hearts,dia ms,circ,ti lde,ensp,e msp,thinsp ,zwnj,zwj, lrm,rlm,nd ash,mdash, lsquo,rsqu o,sbquo,ld quo,rdquo, bdquo,dagg er,Dagger, permil,lsa quo,rsaquo ,euro"),        
713   d.entities _latin&&k. push("Agra ve,Aacute, Acirc,Atil de,Auml,Ar ing,AElig, Ccedil,Egr ave,Eacute ,Ecirc,Eum l,Igrave,I acute,Icir c,Iuml,ETH ,Ntilde,Og rave,Oacut e,Ocirc,Ot ilde,Ouml, Oslash,Ugr ave,Uacute ,Ucirc,Uum l,Yacute,T HORN,szlig ,agrave,aa cute,acirc ,atilde,au ml,aring,a elig,ccedi l,egrave,e acute,ecir c,euml,igr ave,iacute ,icirc,ium l,eth,ntil de,ograve, oacute,oci rc,otilde, ouml,oslas h,ugrave,u acute,ucir c,uuml,yac ute,thorn, yuml,OElig ,oelig,Sca ron,scaron ,Yuml"),d. entities_g reek&&k.pu sh("Alpha, Beta,Gamma ,Delta,Eps ilon,Zeta, Eta,Theta, Iota,Kappa ,Lambda,Mu ,Nu,Xi,Omi cron,Pi,Rh o,Sigma,Ta u,Upsilon, Phi,Chi,Ps i,Omega,al pha,beta,g amma,delta ,epsilon,z eta,eta,th eta,iota,k appa,lambd a,mu,nu,xi ,omicron,p i,rho,sigm af,sigma,t au,upsilon ,phi,chi,p si,omega,t hetasym,up sih,piv"),        
714   d.entities _additiona l&&k.push( d.entities _additiona l));var m= a(k.join(" ,")),f=m.r egex?"["+m .regex+"]" :"a^";dele te m.regex ;d.entitie s&&d.entit ies_proces sNumerical &&(f="[^ - ~]|"+f);va r f=new Re gExp(f,"g" ),l=a("nbs p,gt,lt,am p,shy",!0) ,h=new Reg Exp(l.rege x,"g");e.a ddRules({t ext:functi on(a){retu rn a.repla ce(h,b).re place(f,c) }},{applyT oAll:!0,ex cludeNeste dEditable: !0})}}})}( ),CKEDITOR .config.ba sicEntitie s=!0,CKEDI TOR.config .entities= !0,CKEDITO R.config.e ntities_la tin=!0,CKE DITOR.conf ig.entitie s_greek=!0 ,        
715   CKEDITOR.c onfig.enti ties_addit ional="#39 ",CKEDITOR .plugins.a dd("popup" ),CKEDITOR .tools.ext end(CKEDIT OR.editor. prototype, {popup:fun ction(a,e, b,c){e=e|| "80%";b=b| |"70%";"st ring"==typ eof e&&1<e .length&&" %"==e.subs tr(e.lengt h-1,1)&&(e =parseInt( window.scr een.width* parseInt(e ,10)/100,1 0));"strin g"==typeof  b&&1<b.le ngth&&"%"= =b.substr( b.length-1 ,1)&&(b=pa rseInt(win dow.screen .height*pa rseInt(b,1 0)/100,10) );640>e&&( e=640);420 >b&&(b=420 );var d=pa rseInt((wi ndow.scree n.height-b )/2,10),k= parseInt(( window.scr een.width-        
716   e)/2,10);c =(c||"loca tion\x3dno ,menubar\x 3dno,toolb ar\x3dno,d ependent\x 3dyes,mini mizable\x3 dno,modal\ x3dyes,alw aysRaised\ x3dyes,res izable\x3d yes,scroll bars\x3dye s")+",widt h\x3d"+e+" ,height\x3 d"+b+",top \x3d"+d+", left\x3d"+ k;var m=wi ndow.open( "",null,c, !0);if(!m) return!1;t ry{-1==nav igator.use rAgent.toL owerCase() .indexOf("  chrome/") &&(m.moveT o(k,d),m.r esizeTo(e, b)),m.focu s(),m.loca tion.href= a}catch(f) {window.op en(a,null, c,!0)}retu rn!0}}),fu nction(){f unction a( a,b){var c =[];if(b)f or(var d i n b)c.push (d+        
717   "\x3d"+enc odeURIComp onent(b[d] ));else re turn a;ret urn a+(-1! =a.indexOf ("?")?"\x2 6":"?")+c. join("\x26 ")}functio n e(a){a+= "";return  a.charAt(0 ).toUpperC ase()+a.su bstr(1)}fu nction b() {var b=thi s.getDialo g(),c=b.ge tParentEdi tor();c._. filebrowse rSe=this;v ar d=c.con fig["fileb rowser"+e( b.getName( ))+"Window Width"]||c .config.fi lebrowserW indowWidth ||"80%",b= c.config[" filebrowse r"+e(b.get Name())+"W indowHeigh t"]||c.con fig.filebr owserWindo wHeight||" 70%",f=thi s.filebrow ser.params ||{};f.CKE ditor=c.na me;f.CKEdi torFuncNum =        
718   c._.filebr owserFn;f. langCode|| (f.langCod e=c.langCo de);f=a(th is.filebro wser.url,f );c.popup( f,d,b,c.co nfig.fileb rowserWind owFeatures ||c.config .fileBrows erWindowFe atures)}fu nction c() {var a=thi s.getDialo g();a.getP arentEdito r()._.file browserSe= this;retur n a.getCon tentElemen t(this["fo r"][0],thi s["for"][1 ]).getInpu tElement() .$.value&& a.getConte ntElement( this["for" ][0],this[ "for"][1]) .getAction ()?!0:!1}f unction d( b,c,d){var  f=d.param s||{};f.CK Editor=b.n ame;f.CKEd itorFuncNu m=b._.file browserFn; f.langCode ||        
719   (f.langCod e=b.langCo de);c.acti on=a(d.url ,f);c.file browser=d} function k (a,f,g,m){ if(m&&m.le ngth)for(v ar r,t=m.l ength;t--; )if(r=m[t] ,"hbox"!=r .type&&"vb ox"!=r.typ e&&"fields et"!=r.typ e||k(a,f,g ,r.childre n),r.fileb rowser)if( "string"== typeof r.f ilebrowser &&(r.fileb rowser={ac tion:"file Button"==r .type?"Qui ckUpload": "Browse",t arget:r.fi lebrowser} ),"Browse" ==r.filebr owser.acti on){var q= r.filebrow ser.url;vo id 0===q&& (q=a.confi g["filebro wser"+e(f) +"BrowseUr l"],void 0 ===q&&(q=a .config.fi lebrowserB rowseUrl)) ;        
720   q&&(r.onCl ick=b,r.fi lebrowser. url=q,r.hi dden=!1)}e lse if("Qu ickUpload" ==r.filebr owser.acti on&&r["for "]&&(q=r.f ilebrowser .url,void  0===q&&(q= a.config[" filebrowse r"+e(f)+"U ploadUrl"] ,void 0=== q&&(q=a.co nfig.fileb rowserUplo adUrl)),q) ){var p=r. onClick;r. onClick=fu nction(a){ var b=a.se nder;retur n p&&!1=== p.call(b,a )?!1:c.cal l(b,a)};r. filebrowse r.url=q;r. hidden=!1; d(a,g.getC ontents(r[ "for"][0]) .get(r["fo r"][1]),r. filebrowse r)}}functi on m(a,b,c ){if(-1!== c.indexOf( ";")){c=c. split(";") ;for(var d =0;d<c.len gth;d++)if (m(a,        
721   b,c[d]))re turn!0;ret urn!1}retu rn(a=a.get Contents(b ).get(c).f ilebrowser )&&a.url}f unction f( a,b){var c =this._.fi lebrowserS e.getDialo g(),d=this ._.filebro wserSe["fo r"],f=this ._.filebro wserSe.fil ebrowser.o nSelect;d& &c.getCont entElement (d[0],d[1] ).reset(); if("functi on"!=typeo f b||!1!== b.call(thi s._.filebr owserSe))i f(!f||!1!= =f.call(th is._.fileb rowserSe,a ,b))if("st ring"==typ eof b&&b&& alert(b),a &&(d=this. _.filebrow serSe,c=d. getDialog( ),d=d.file browser.ta rget||null ))if(d=d.s plit(":"), f=c.getCon tentElemen t(d[0],        
722   d[1]))f.se tValue(a), c.selectPa ge(d[0])}C KEDITOR.pl ugins.add( "filebrows er",{requi res:"popup ",init:fun ction(a){a ._.filebro wserFn=CKE DITOR.tool s.addFunct ion(f,a);a .on("destr oy",functi on(){CKEDI TOR.tools. removeFunc tion(this. _.filebrow serFn)})}} );CKEDITOR .on("dialo gDefinitio n",functio n(a){if(a. editor.plu gins.fileb rowser)for (var b=a.d ata.defini tion,c,d=0 ;d<b.conte nts.length ;++d)if(c= b.contents [d])k(a.ed itor,a.dat a.name,b,c .elements) ,c.hidden& &c.filebro wser&&(c.h idden=!m(b ,c.id,c.fi lebrowser) )})}(),CKE DITOR.plug ins.add("f ind",        
723   {requires: "dialog",i nit:functi on(a){var  e=a.addCom mand("find ",new CKED ITOR.dialo gCommand(" find"));e. canUndo=!1 ;e.readOnl y=1;a.addC ommand("re place",new  CKEDITOR. dialogComm and("repla ce")).canU ndo=!1;a.u i.addButto n&&(a.ui.a ddButton(" Find",{lab el:a.lang. find.find, command:"f ind",toolb ar:"find,1 0"}),a.ui. addButton( "Replace", {label:a.l ang.find.r eplace,com mand:"repl ace",toolb ar:"find,2 0"}));CKED ITOR.dialo g.add("fin d",this.pa th+"dialog s/find.js" );CKEDITOR .dialog.ad d("replace ",this.pat h+"dialogs /find.js") }}),        
724   CKEDITOR.c onfig.find _highlight ={element: "span",sty les:{"back ground-col or":"#004" ,color:"#f ff"}},func tion(){fun ction a(a, b){var d=c .exec(a),e =c.exec(b) ;if(d){if( !d[2]&&"px "==e[2])re turn e[1]; if("px"==d [2]&&!e[2] )return e[ 1]+"px"}re turn b}var  e=CKEDITO R.htmlPars er.cssStyl e,b=CKEDIT OR.tools.c ssLength,c =/^((?:\d* (?:\.\d+)) |(?:\d+))( .*)?$/i,d= {elements: {$:functio n(b){var c =b.attribu tes;if((c= (c=(c=c&&c ["data-cke -realeleme nt"])&&new  CKEDITOR. htmlParser .fragment. fromHtml(d ecodeURICo mponent(c) ))&&c.chil dren[0])&&        
725   b.attribut es["data-c ke-resizab le"]){var  d=(new e(b )).rules;b =c.attribu tes;var l= d.width,d= d.height;l &&(b.width =a(b.width ,l));d&&(b .height=a( b.height,d ))}return  c}}};CKEDI TOR.plugin s.add("fak eobjects", {init:func tion(a){a. filter.all ow("img[!d ata-cke-re alelement, src,alt,ti tle](*){*} ","fakeobj ects")},af terInit:fu nction(a){ (a=(a=a.da taProcesso r)&&a.html Filter)&&a .addRules( d,{applyTo All:!0})}} );CKEDITOR .editor.pr ototype.cr eateFakeEl ement=func tion(a,c,d ,l){var h= this.lang. fakeobject s,h=h[d]|| h.unknown; c=        
726   {"class":c ,"data-cke -realeleme nt":encode URICompone nt(a.getOu terHtml()) ,"data-cke -real-node -type":a.t ype,alt:h, title:h,al ign:a.getA ttribute(" align")||" "};CKEDITO R.env.hc|| (c.src=CKE DITOR.tool s.transpar entImageDa ta);d&&(c[ "data-cke- real-eleme nt-type"]= d);l&&(c[" data-cke-r esizable"] =l,d=new e ,l=a.getAt tribute("w idth"),a=a .getAttrib ute("heigh t"),l&&(d. rules.widt h=b(l)),a& &(d.rules. height=b(a )),d.popul ate(c));re turn this. document.c reateEleme nt("img",{ attributes :c})};CKED ITOR.edito r.prototyp e.createFa keParserEl ement=        
727   function(a ,c,d,l){va r h=this.l ang.fakeob jects,h=h[ d]||h.unkn own,g;g=ne w CKEDITOR .htmlParse r.basicWri ter;a.writ eHtml(g);g =g.getHtml ();c={"cla ss":c,"dat a-cke-real element":e ncodeURICo mponent(g) ,"data-cke -real-node -type":a.t ype,alt:h, title:h,al ign:a.attr ibutes.ali gn||""};CK EDITOR.env .hc||(c.sr c=CKEDITOR .tools.tra nsparentIm ageData);d &&(c["data -cke-real- element-ty pe"]=d);l& &(c["data- cke-resiza ble"]=l,l= a.attribut es,a=new e ,d=l.width ,l=l.heigh t,void 0!= =d&&(a.rul es.width=b (d)),void  0!==l&&(a. rules.heig ht=        
728   b(l)),a.po pulate(c)) ;return ne w CKEDITOR .htmlParse r.element( "img",c)}; CKEDITOR.e ditor.prot otype.rest oreRealEle ment=funct ion(b){if( b.data("ck e-real-nod e-type")!= CKEDITOR.N ODE_ELEMEN T)return n ull;var c= CKEDITOR.d om.element .createFro mHtml(deco deURICompo nent(b.dat a("cke-rea lelement") ),this.doc ument);if( b.data("ck e-resizabl e")){var d =b.getStyl e("width") ;b=b.getSt yle("heigh t");d&&c.s etAttribut e("width", a(c.getAtt ribute("wi dth"),d)); b&&c.setAt tribute("h eight",a(c .getAttrib ute("heigh t"),b))}re turn c}}() ,        
729   function() {function  a(a){a=a.a ttributes; return"app lication/x -shockwave -flash"==a .type||b.t est(a.src| |"")}funct ion e(a,b) {return a. createFake ParserElem ent(b,"cke _flash","f lash",!0)} var b=/\.s wf(?:$|\?) /i;CKEDITO R.plugins. add("flash ",{require s:"dialog, fakeobject s",onLoad: function() {CKEDITOR. addCss("im g.cke_flas h{backgrou nd-image:  url("+CKED ITOR.getUr l(this.pat h+"images/ placeholde r.png")+") ;backgroun d-position : center c enter;back ground-rep eat: no-re peat;borde r: 1px sol id #a9a9a9 ;width: 80 px;height:  80px;}")} ,        
730   init:funct ion(a){var  b="object [classid,c odebase,he ight,hspac e,vspace,w idth];para m[name,val ue];embed[ height,hsp ace,plugin spage,src, type,vspac e,width]"; CKEDITOR.d ialog.isTa bEnabled(a ,"flash"," properties ")&&(b+="; object[ali gn]; embed [allowscri ptaccess,q uality,sca le,wmode]" );CKEDITOR .dialog.is TabEnabled (a,"flash" ,"advanced ")&&(b+="; object[id] {*}; embed [bgcolor]{ *}(*)");a. addCommand ("flash",n ew CKEDITO R.dialogCo mmand("fla sh",{allow edContent: b,required Content:"e mbed"}));a .ui.addBut ton&&a.ui. addButton( "Flash",        
731   {label:a.l ang.common .flash,com mand:"flas h",toolbar :"insert,2 0"});CKEDI TOR.dialog .add("flas h",this.pa th+"dialog s/flash.js ");a.addMe nuItems&&a .addMenuIt ems({flash :{label:a. lang.flash .propertie s,command: "flash",gr oup:"flash "}});a.on( "doublecli ck",functi on(a){var  b=a.data.e lement;b.i s("img")&& "flash"==b .data("cke -real-elem ent-type") &&(a.data. dialog="fl ash")});a. contextMen u&&a.conte xtMenu.add Listener(f unction(a) {if(a&&a.i s("img")&& !a.isReadO nly()&&"fl ash"==a.da ta("cke-re al-element -type"))re turn{flash :CKEDITOR. TRISTATE_O FF}})},        
732   afterInit: function(b ){var d=b. dataProces sor;(d=d&& d.dataFilt er)&&d.add Rules({ele ments:{"ck e:object": function(d ){var m=d. attributes ;if(!(m.cl assid&&Str ing(m.clas sid).toLow erCase()|| a(d))){for (m=0;m<d.c hildren.le ngth;m++)i f("cke:emb ed"==d.chi ldren[m].n ame){if(!a (d.childre n[m]))brea k;return e (b,d)}retu rn null}re turn e(b,d )},"cke:em bed":funct ion(d){ret urn a(d)?e (b,d):null }}},5)}})} (),CKEDITO R.tools.ex tend(CKEDI TOR.config ,{flashEmb edTagOnly: !1,flashAd dEmbedTag: !0,flashCo nvertOnEdi t:!1}),fun ction(){fu nction a(a ){var d=        
733   a.config,k =a.fire("u iSpace",{s pace:"top" ,html:""}) .html,m=fu nction(){f unction f( a,c,d){l.s etStyle(c, b(d));l.se tStyle("po sition",a) }function  g(a){var b =k.getDocu mentPositi on();switc h(a){case  "top":f("a bsolute"," top",b.y-y -z);break; case "pin" :f("fixed" ,"top",x); break;case  "bottom": f("absolut e","top",b .y+(u.heig ht||u.bott om-u.top)+ z)}h=a}var  h,k,p,u,w ,y,B,v=d.f loatSpaceD ockedOffse tX||0,z=d. floatSpace DockedOffs etY||0,C=d .floatSpac ePinnedOff setX||0,x= d.floatSpa cePinnedOf fsetY||0;r eturn func tion(f){if (k=        
734   a.editable ()){var n= f&&"focus" ==f.name;n &&l.show() ;a.fire("f loatingSpa ceLayout", {show:n}); l.removeSt yle("left" );l.remove Style("rig ht");p=l.g etClientRe ct();u=k.g etClientRe ct();w=e.g etViewPane Size();y=p .height;B= "pageXOffs et"in e.$? e.$.pageXO ffset:CKED ITOR.docum ent.$.docu mentElemen t.scrollLe ft;h?(y+z< =u.top?g(" top"):y+z> w.height-u .bottom?g( "pin"):g(" bottom"),f =w.width/2 ,f=d.float SpacePrefe rRight?"ri ght":0<u.l eft&&u.rig ht<w.width &&u.width> p.width?"r tl"==d.con tentsLangD irection?" right":"le ft":f-u.le ft>        
735   u.right-f? "left":"ri ght",p.wid th>w.width ?(f="left" ,n=0):(n=" left"==f?0 <u.left?u. left:0:u.r ight<w.wid th?w.width -u.right:0 ,n+p.width >w.width&& (f="left"= =f?"right" :"left",n= 0)),l.setS tyle(f,b(( "pin"==h?C :v)+n+("pi n"==h?0:"l eft"==f?B: -B)))):(h= "pin",g("p in"),m(f)) }}}();if(k ){var f=ne w CKEDITOR .template( '\x3cdiv i d\x3d"cke_ {name}" cl ass\x3d"ck e {id} cke _reset_all  cke_chrom e cke_edit or_{name}  cke_float  cke_{langD ir} '+CKED ITOR.env.c ssClass+'"  dir\x3d"{ langDir}"  title\x3d" '+(CKEDITO R.env.geck o?" ":"")+ '" lang\x3 d"{langCod e}" role\x 3d"applica tion" styl e\x3d"{sty le}"'+        
736   (a.title?'  aria-labe lledby\x3d "cke_{name }_arialbl" ':" ")+"\x 3e"+(a.tit le?'\x3csp an id\x3d" cke_{name} _arialbl"  class\x3d" cke_voice_ label"\x3e {voiceLabe l}\x3c/spa n\x3e':" " )+'\x3cdiv  class\x3d "cke_inner "\x3e\x3cd iv id\x3d" {topId}" c lass\x3d"c ke_top" ro le\x3d"pre sentation" \x3e{conte nt}\x3c/di v\x3e\x3c/ div\x3e\x3 c/div\x3e' ),l=CKEDIT OR.documen t.getBody( ).append(C KEDITOR.do m.element. createFrom Html(f.out put({conte nt:k,id:a. id,langDir :a.lang.di r,langCode :a.langCod e,name:a.n ame,style: "display:n one;z-inde x:"+        
737   (d.baseFlo atZIndex-1 ),topId:a. ui.spaceId ("top"),vo iceLabel:a .title}))) ,h=CKEDITO R.tools.ev entsBuffer (500,m),g= CKEDITOR.t ools.event sBuffer(10 0,m);l.uns electable( );l.on("mo usedown",f unction(a) {a=a.data; a.getTarge t().hasAsc endant("a" ,1)||a.pre ventDefaul t()});a.on ("focus",f unction(b) {m(b);a.on ("change", h.input);e .on("scrol l",g.input );e.on("re size",g.in put)});a.o n("blur",f unction(){ l.hide();a .removeLis tener("cha nge",h.inp ut);e.remo veListener ("scroll", g.input);e .removeLis tener("res ize",g.inp ut)});a.on ("destroy" ,        
738   function() {e.removeL istener("s croll",g.i nput);e.re moveListen er("resize ",g.input) ;l.clearCu stomData() ;l.remove( )});a.focu sManager.h asFocus&&l .show();a. focusManag er.add(l,1 )}}var e=C KEDITOR.do cument.get Window(),b =CKEDITOR. tools.cssL ength;CKED ITOR.plugi ns.add("fl oatingspac e",{init:f unction(b) {b.on("loa ded",funct ion(){a(th is)},null, null,20)}} )}(),CKEDI TOR.plugin s.add("lis tblock",{r equires:"p anel",onLo ad:functio n(){var a= CKEDITOR.a ddTemplate ("panel-li st",'\x3cu l role\x3d "presentat ion" class \x3d"cke_p anel_list" \x3e{items }\x3c/ul\x 3e'),        
739   e=CKEDITOR .addTempla te("panel- list-item" ,'\x3cli i d\x3d"{id} " class\x3 d"cke_pane l_listItem " role\x3d presentati on\x3e\x3c a id\x3d"{ id}_option " _cke_foc us\x3d1 hi defocus\x3 dtrue titl e\x3d"{tit le}" href\ x3d"javasc ript:void( \'{val}\') "  {onclic k}\x3d"CKE DITOR.tool s.callFunc tion({clic kFn},\'{va l}\'); ret urn false; " role\x3d "option"\x 3e{text}\x 3c/a\x3e\x 3c/li\x3e' ),b=CKEDIT OR.addTemp late("pane l-list-gro up",'\x3ch 1 id\x3d"{ id}" class \x3d"cke_p anel_group title" rol e\x3d"pres entation"  \x3e{label }\x3c/h1\x 3e'),        
740   c=/\'/g;CK EDITOR.ui. panel.prot otype.addL istBlock=f unction(a, b){return  this.addBl ock(a,new  CKEDITOR.u i.listBloc k(this.get HolderElem ent(),b))} ;CKEDITOR. ui.listBlo ck=CKEDITO R.tools.cr eateClass( {base:CKED ITOR.ui.pa nel.block, $:function (a,b){b=b| |{};var c= b.attribut es||(b.att ributes={} );(this.mu ltiSelect= !!b.multiS elect)&&(c ["aria-mul tiselectab le"]=!0);! c.role&&(c .role="lis tbox");thi s.base.app ly(this,ar guments);t his.elemen t.setAttri bute("role ",c.role); c=this.key s;c[40]="n ext";c[9]= "next";c[3 8]="prev"; c[CKEDITOR .SHIFT+        
741   9]="prev"; c[32]=CKED ITOR.env.i e?"mouseup ":"click"; CKEDITOR.e nv.ie&&(c[ 13]="mouse up");this. _.pendingH tml=[];thi s._.pendin gList=[];t his._.item s={};this. _.groups={ }},_:{clos e:function (){if(this ._.started ){var b=a. output({it ems:this._ .pendingLi st.join("" )});this._ .pendingLi st=[];this ._.pending Html.push( b);delete  this._.sta rted}},get Click:func tion(){thi s._.click| |(this._.c lick=CKEDI TOR.tools. addFunctio n(function (a){var b= this.toggl e(a);if(th is.onClick )this.onCl ick(a,b)}, this));ret urn this._ .click}},p roto:{add: function(a ,        
742   b,m){var f =CKEDITOR. tools.getN extId();th is._.start ed||(this. _.started= 1,this._.s ize=this._ .size||0); this._.ite ms[a]=f;va r l;l=CKED ITOR.tools .htmlEncod eAttr(a).r eplace(c," \\'");a={i d:f,val:l, onclick:CK EDITOR.env .ie?'oncli ck\x3d"ret urn false; " onmouseu p':"onclic k",clickFn :this._.ge tClick(),t itle:CKEDI TOR.tools. htmlEncode Attr(m||a) ,text:b||a };this._.p endingList .push(e.ou tput(a))}, startGroup :function( a){this._. close();va r c=CKEDIT OR.tools.g etNextId() ;this._.gr oups[a]=c; this._.pen dingHtml.p ush(b.outp ut({id:c,        
743   label:a})) },commit:f unction(){ this._.clo se();this. element.ap pendHtml(t his._.pend ingHtml.jo in(""));de lete this. _.size;thi s._.pendin gHtml=[]}, toggle:fun ction(a){v ar b=this. isMarked(a );b?this.u nmark(a):t his.mark(a );return!b },hideGrou p:function (a){var b= (a=this.el ement.getD ocument(). getById(th is._.group s[a]))&&a. getNext(); a&&(a.setS tyle("disp lay","none "),b&&"ul" ==b.getNam e()&&b.set Style("dis play","non e"))},hide Item:funct ion(a){thi s.element. getDocumen t().getByI d(this._.i tems[a]).s etStyle("d isplay","n one")},        
744   showAll:fu nction(){v ar a=this. _.items,b= this._.gro ups,c=this .element.g etDocument (),f;for(f  in a)c.ge tById(a[f] ).setStyle ("display" ,"");for(v ar e in b) a=c.getByI d(b[e]),f= a.getNext( ),a.setSty le("displa y",""),f&& "ul"==f.ge tName()&&f .setStyle( "display", "")},mark: function(a ){this.mul tiSelect|| this.unmar kAll();a=t his._.item s[a];var b =this.elem ent.getDoc ument().ge tById(a);b .addClass( "cke_selec ted");this .element.g etDocument ().getById (a+"_optio n").setAtt ribute("ar ia-selecte d",!0);thi s.onMark&& this.onMar k(b)},        
745   unmark:fun ction(a){v ar b=this. element.ge tDocument( );a=this._ .items[a]; var c=b.ge tById(a);c .removeCla ss("cke_se lected");b .getById(a +"_option" ).removeAt tribute("a ria-select ed");this. onUnmark&& this.onUnm ark(c)},un markAll:fu nction(){v ar a=this. _.items,b= this.eleme nt.getDocu ment(),c;f or(c in a) {var f=a[c ];b.getByI d(f).remov eClass("ck e_selected ");b.getBy Id(f+"_opt ion").remo veAttribut e("aria-se lected")}t his.onUnma rk&&this.o nUnmark()} ,isMarked: function(a ){return t his.elemen t.getDocum ent().getB yId(this._ .items[a]) .hasClass( "cke_selec ted")},        
746   focus:func tion(a){th is._.focus Index=-1;v ar b=this. element.ge tElementsB yTag("a"), c,f=-1;if( a)for(c=th is.element .getDocume nt().getBy Id(this._. items[a]). getFirst() ;a=b.getIt em(++f);){ if(a.equal s(c)){this ._.focusIn dex=f;brea k}}else th is.element .focus();c &&setTimeo ut(functio n(){c.focu s()},0)}}} )}}),CKEDI TOR.plugin s.add("ric hcombo",{r equires:"f loatpanel, listblock, button",be foreInit:f unction(a) {a.ui.addH andler(CKE DITOR.UI_R ICHCOMBO,C KEDITOR.ui .richCombo .handler)} }),functio n(){var a= '\x3cspan  id\x3d"{id }" class\x 3d"cke_com bo cke_com bo__{name}  {cls}" ro le\x3d"pre sentation" \x3e\x3csp an id\x3d" {id}_label " class\x3 d"cke_comb o_label"\x 3e{label}\ x3c/span\x 3e\x3ca cl ass\x3d"ck e_combo_bu tton" titl e\x3d"{tit le}" tabin dex\x3d"-1 "'+        
747   (CKEDITOR. env.gecko& &!CKEDITOR .env.hc?"" :" href\x3 d\"javascr ipt:void(' {titleJs}' )\"")+' hi defocus\x3 d"true" ro le\x3d"but ton" aria- labelledby \x3d"{id}_ label" ari a-haspopup \x3d"true" ';CKEDITOR .env.gecko &&CKEDITOR .env.mac&& (a+=' onke ypress\x3d "return fa lse;"');CK EDITOR.env .gecko&&(a +=' onblur \x3d"this. style.cssT ext \x3d t his.style. cssText;"' );var a=a+ (' onkeydo wn\x3d"ret urn CKEDIT OR.tools.c allFunctio n({keydown Fn},event, this);" on focus\x3d" return CKE DITOR.tool s.callFunc tion({focu sFn},event );" '+(CKE DITOR.env. ie?        
748   'onclick\x 3d"return  false;" on mouseup':" onclick")+ '\x3d"CKED ITOR.tools .callFunct ion({click Fn},this); return fal se;"\x3e\x 3cspan id\ x3d"{id}_t ext" class \x3d"cke_c ombo_text  cke_combo_ inlinelabe l"\x3e{lab el}\x3c/sp an\x3e\x3c span class \x3d"cke_c ombo_open" \x3e\x3csp an class\x 3d"cke_com bo_arrow"\ x3e'+(CKED ITOR.env.h c?"\x26#96 60;":CKEDI TOR.env.ai r?"\x26nbs p;":"")+"\ x3c/span\x 3e\x3c/spa n\x3e\x3c/ a\x3e\x3c/ span\x3e") ,e=CKEDITO R.addTempl ate("combo ",a);CKEDI TOR.UI_RIC HCOMBO="ri chcombo";C KEDITOR.ui .richCombo =        
749   CKEDITOR.t ools.creat eClass({$: function(a ){CKEDITOR .tools.ext end(this,a ,{canGroup :!1,title: a.label,mo des:{wysiw yg:1},edit orFocus:1} );a=this.p anel||{};d elete this .panel;thi s.id=CKEDI TOR.tools. getNextNum ber();this .document= a.parent&& a.parent.g etDocument ()||CKEDIT OR.documen t;a.classN ame="cke_c ombopanel" ;a.block={ multiSelec t:a.multiS elect,attr ibutes:a.a ttributes} ;a.toolbar Related=!0 ;this._={p anelDefini tion:a,ite ms:{}}},pr oto:{rende rHtml:func tion(a){va r c=[];thi s.render(a ,c);return  c.join("" )},render: function(a ,        
750   c){functio n d(){if(t his.getSta te()!=CKED ITOR.TRIST ATE_ON){va r c=this.m odes[a.mod e]?CKEDITO R.TRISTATE _OFF:CKEDI TOR.TRISTA TE_DISABLE D;a.readOn ly&&!this. readOnly&& (c=CKEDITO R.TRISTATE _DISABLED) ;this.setS tate(c);th is.setValu e("");c!=C KEDITOR.TR ISTATE_DIS ABLED&&thi s.refresh& &this.refr esh()}}var  k=CKEDITO R.env,m="c ke_"+this. id,f=CKEDI TOR.tools. addFunctio n(function (c){r&&(a. unlockSele ction(1),r =0);h.exec ute(c)},th is),l=this ,h={id:m,c ombo:this, focus:func tion(){CKE DITOR.docu ment.getBy Id(m).getC hild(1).fo cus()},        
751   execute:fu nction(c){ var d=l._; if(d.state !=CKEDITOR .TRISTATE_ DISABLED)i f(l.create Panel(a),d .on)d.pane l.hide();e lse{l.comm it();var f =l.getValu e();f?d.li st.mark(f) :d.list.un markAll(); d.panel.sh owBlock(l. id,new CKE DITOR.dom. element(c) ,4)}},clic kFn:f};a.o n("activeF ilterChang e",d,this) ;a.on("mod e",d,this) ;a.on("sel ectionChan ge",d,this );!this.re adOnly&&a. on("readOn ly",d,this );var g=CK EDITOR.too ls.addFunc tion(funct ion(c,d){c =new CKEDI TOR.dom.ev ent(c);var  e=c.getKe ystroke(); if(40==e)a .once("pan elShow",fu nction(a){ a.data._.p anel._.cur rentBlock. onKeyDown( 40)});        
752   switch(e){ case 13:ca se 32:case  40:CKEDIT OR.tools.c allFunctio n(f,d);bre ak;default :h.onkey(h ,e)}c.prev entDefault ()}),n=CKE DITOR.tool s.addFunct ion(functi on(){h.onf ocus&&h.on focus()}), r=0;h.keyD ownFn=g;k= {id:m,name :this.name ||this.com mand,label :this.labe l,title:th is.title,c ls:this.cl assName||" ",titleJs: k.gecko&&! k.hc?"":(t his.title| |"").repla ce("'","") ,keydownFn :g,focusFn :n,clickFn :f};e.outp ut(k,c);if (this.onRe nder)this. onRender() ;return h} ,createPan el:functio n(a){if(!t his._.pane l){var c=t his._.pane lDefinitio n,        
753   d=this._.p anelDefini tion.block ,e=c.paren t||CKEDITO R.document .getBody() ,m="cke_co mbopanel__ "+this.nam e,f=new CK EDITOR.ui. floatPanel (a,e,c),l= f.addListB lock(this. id,d),h=th is;f.onSho w=function (){this.el ement.addC lass(m);h. setState(C KEDITOR.TR ISTATE_ON) ;h._.on=1; h.editorFo cus&&!a.fo cusManager .hasFocus& &a.focus() ;if(h.onOp en)h.onOpe n();a.once ("panelSho w",functio n(){l.focu s(!l.multi Select&&h. getValue() )})};f.onH ide=functi on(c){this .element.r emoveClass (m);h.setS tate(h.mod es&&h.mode s[a.mode]? CKEDITOR.T RISTATE_OF F:        
754   CKEDITOR.T RISTATE_DI SABLED);h. _.on=0;if( !c&&h.onCl ose)h.onCl ose()};f.o nEscape=fu nction(){f .hide(1)}; l.onClick= function(a ,b){h.onCl ick&&h.onC lick.call( h,a,b);f.h ide()};thi s._.panel= f;this._.l ist=l;f.ge tBlock(thi s.id).onHi de=functio n(){h._.on =0;h.setSt ate(CKEDIT OR.TRISTAT E_OFF)};th is.init&&t his.init() }},setValu e:function (a,c){this ._.value=a ;var d=thi s.document .getById(" cke_"+this .id+"_text ");d&&(a|| c?d.remove Class("cke _combo_inl inelabel") :(c=this.l abel,d.add Class("cke _combo_inl inelabel") ),d.setTex t("undefin ed"!=        
755   typeof c?c :a))},getV alue:funct ion(){retu rn this._. value||""} ,unmarkAll :function( ){this._.l ist.unmark All()},mar k:function (a){this._ .list.mark (a)},hideI tem:functi on(a){this ._.list.hi deItem(a)} ,hideGroup :function( a){this._. list.hideG roup(a)},s howAll:fun ction(){th is._.list. showAll()} ,add:funct ion(a,c,d) {this._.it ems[a]=d|| a;this._.l ist.add(a, c,d)},star tGroup:fun ction(a){t his._.list .startGrou p(a)},comm it:functio n(){this._ .committed ||(this._. list.commi t(),this._ .committed =1,CKEDITO R.ui.fire( "ready",th is));        
756   this._.com mitted=1}, setState:f unction(a) {if(this._ .state!=a) {var c=thi s.document .getById(" cke_"+this .id);c.set State(a,"c ke_combo") ;a==CKEDIT OR.TRISTAT E_DISABLED ?c.setAttr ibute("ari a-disabled ",!0):c.re moveAttrib ute("aria- disabled") ;this._.st ate=a}},ge tState:fun ction(){re turn this. _.state},e nable:func tion(){thi s._.state= =CKEDITOR. TRISTATE_D ISABLED&&t his.setSta te(this._. lastState) },disable: function() {this._.st ate!=CKEDI TOR.TRISTA TE_DISABLE D&&(this._ .lastState =this._.st ate,this.s etState(CK EDITOR.TRI STATE_DISA BLED))}},        
757   statics:{h andler:{cr eate:funct ion(a){ret urn new CK EDITOR.ui. richCombo( a)}}}});CK EDITOR.ui. prototype. addRichCom bo=functio n(a,c){thi s.add(a,CK EDITOR.UI_ RICHCOMBO, c)}}(),fun ction(){fu nction a(a ,c,d,k,m,f ,l,h){var  g=a.config ,n=new CKE DITOR.styl e(l),r=m.s plit(";"); m=[];for(v ar t={},q= 0;q<r.leng th;q++){va r p=r[q];i f(p){var p =p.split(" /"),u={},w =r[q]=p[0] ;u[d]=m[q] =p[1]||w;t [w]=new CK EDITOR.sty le(l,u);t[ w]._.defin ition.name =w}else r. splice(q-- ,1)}a.ui.a ddRichComb o(c,{label :k.label,t itle:k.pan elTitle,to olbar:"sty les,"+        
758   h,allowedC ontent:n,r equiredCon tent:n,pan el:{css:[C KEDITOR.sk in.getPath ("editor") ].concat(g .contentsC ss),multiS elect:!1,a ttributes: {"aria-lab el":k.pane lTitle}},i nit:functi on(){this. startGroup (k.panelTi tle);for(v ar a=0;a<r .length;a+ +){var b=r [a];this.a dd(b,t[b]. buildPrevi ew(),b)}}, onClick:fu nction(c){ a.focus(); a.fire("sa veSnapshot ");var d=t his.getVal ue(),f=t[c ];if(d&&c! =d){var g= t[d],h=a.g etSelectio n().getRan ges()[0];i f(h.collap sed){var k =a.element Path(),l=k .contains( function(a ){return g .checkElem entRemovab le(a)});        
759   if(l){var  m=h.checkB oundaryOfE lement(l,C KEDITOR.ST ART),w=h.c heckBounda ryOfElemen t(l,CKEDIT OR.END);if (m&&w){for (m=h.creat eBookmark( );k=l.getF irst();)k. insertBefo re(l);l.re move();h.m oveToBookm ark(m)}els e m?h.move ToPosition (l,CKEDITO R.POSITION _BEFORE_ST ART):w?h.m oveToPosit ion(l,CKED ITOR.POSIT ION_AFTER_ END):(h.sp litElement (l),h.move ToPosition (l,CKEDITO R.POSITION _AFTER_END ),e(h,k.el ements.sli ce(),l));a .getSelect ion().sele ctRanges([ h])}}else  a.removeSt yle(g)}a[d ==c?"remov eStyle":"a pplyStyle" ](f);a.fir e("saveSna pshot")},        
760   onRender:f unction(){ a.on("sele ctionChang e",functio n(c){var d =this.getV alue();c=c .data.path .elements; for(var e= 0,g;e<c.le ngth;e++){ g=c[e];for (var h in  t)if(t[h]. checkEleme ntMatch(g, !0,a)){h!= d&&this.se tValue(h); return}}th is.setValu e("",f)},t his)},refr esh:functi on(){a.act iveFilter. check(n)|| this.setSt ate(CKEDIT OR.TRISTAT E_DISABLED )}})}funct ion e(a,c, d){var k=c .pop();if( k){if(d)re turn e(a,c ,k.equals( d)?null:d) ;d=k.clone ();a.inser tNode(d);a .moveToPos ition(d,CK EDITOR.POS ITION_AFTE R_START);e (a,c)}}CKE DITOR.plug ins.add("f ont",        
761   {requires: "richcombo ",init:fun ction(b){v ar c=b.con fig;a(b,"F ont","fami ly",b.lang .font,c.fo nt_names,c .font_defa ultLabel,c .font_styl e,30);a(b, "FontSize" ,"size",b. lang.font. fontSize,c .fontSize_ sizes,c.fo ntSize_def aultLabel, c.fontSize _style,40) }})}(),CKE DITOR.conf ig.font_na mes="Arial /Arial, He lvetica, s ans-serif; Comic Sans  MS/Comic  Sans MS, c ursive;Cou rier New/C ourier New , Courier,  monospace ;Georgia/G eorgia, se rif;Lucida  Sans Unic ode/Lucida  Sans Unic ode, Lucid a Grande,  sans-serif ;Tahoma/Ta homa, Gene va, sans-s erif;Times  New Roman /Times New  Roman, Ti mes, serif ;Trebuchet  MS/Trebuc het MS, He lvetica, s ans-serif; Verdana/Ve rdana, Gen eva, sans- serif",        
762   CKEDITOR.c onfig.font _defaultLa bel="",CKE DITOR.conf ig.font_st yle={eleme nt:"span", styles:{"f ont-family ":"#(famil y)"},overr ides:[{ele ment:"font ",attribut es:{face:n ull}}]},CK EDITOR.con fig.fontSi ze_sizes=" 8/8px;9/9p x;10/10px; 11/11px;12 /12px;14/1 4px;16/16p x;18/18px; 20/20px;22 /22px;24/2 4px;26/26p x;28/28px; 36/36px;48 /48px;72/7 2px",CKEDI TOR.config .fontSize_ defaultLab el="",CKED ITOR.confi g.fontSize _style={el ement:"spa n",styles: {"font-siz e":"#(size )"},overri des:[{elem ent:"font" ,attribute s:{size:nu ll}}]},CKE DITOR.plug ins.add("f ormat",        
763   {requires: "richcombo ",init:fun ction(a){i f(!a.block less){for( var e=a.co nfig,b=a.l ang.format ,c=e.forma t_tags.spl it(";"),d= {},k=0,m=[ ],f=0;f<c. length;f++ ){var l=c[ f],h=new C KEDITOR.st yle(e["for mat_"+l]); if(!a.filt er.customC onfig||a.f ilter.chec k(h))k++,d [l]=h,d[l] ._.enterMo de=a.confi g.enterMod e,m.push(h )}0!==k&&a .ui.addRic hCombo("Fo rmat",{lab el:b.label ,title:b.p anelTitle, toolbar:"s tyles,20", allowedCon tent:m,pan el:{css:[C KEDITOR.sk in.getPath ("editor") ].concat(e .contentsC ss),multiS elect:!1,a ttributes: {"aria-lab el":b.pane lTitle}},        
764   init:funct ion(){this .startGrou p(b.panelT itle);for( var a in d ){var c=b[ "tag_"+a]; this.add(a ,d[a].buil dPreview(c ),c)}},onC lick:funct ion(b){a.f ocus();a.f ire("saveS napshot"); b=d[b];var  c=a.eleme ntPath();a [b.checkAc tive(c,a)? "removeSty le":"apply Style"](b) ;setTimeou t(function (){a.fire( "saveSnaps hot")},0)} ,onRender: function() {a.on("sel ectionChan ge",functi on(b){var  c=this.get Value();b= b.data.pat h;this.ref resh();for (var f in  d)if(d[f]. checkActiv e(b,a)){f! =c&&this.s etValue(f, a.lang.for mat["tag_" +f]);retur n}this.set Value("")} ,        
765   this)},onO pen:functi on(){this. showAll(); for(var b  in d)a.act iveFilter. check(d[b] )||this.hi deItem(b)} ,refresh:f unction(){ var b=a.el ementPath( );if(b){if (b.isConte xtFor("p") )for(var c  in d)if(a .activeFil ter.check( d[c]))retu rn;this.se tState(CKE DITOR.TRIS TATE_DISAB LED)}}})}} }),CKEDITO R.config.f ormat_tags ="p;h1;h2; h3;h4;h5;h 6;pre;addr ess;div",C KEDITOR.co nfig.forma t_p={eleme nt:"p"},CK EDITOR.con fig.format _div={elem ent:"div"} ,CKEDITOR. config.for mat_pre={e lement:"pr e"},CKEDIT OR.config. format_add ress={elem ent:"addre ss"},        
766   CKEDITOR.c onfig.form at_h1={ele ment:"h1"} ,CKEDITOR. config.for mat_h2={el ement:"h2" },CKEDITOR .config.fo rmat_h3={e lement:"h3 "},CKEDITO R.config.f ormat_h4={ element:"h 4"},CKEDIT OR.config. format_h5= {element:" h5"},CKEDI TOR.config .format_h6 ={element: "h6"},CKED ITOR.plugi ns.add("fo rms",{requ ires:"dial og,fakeobj ects",onLo ad:functio n(){CKEDIT OR.addCss( ".cke_edit able form{ border: 1p x dotted # FF0000;pad ding: 2px; }\n");CKED ITOR.addCs s("img.cke _hidden{ba ckground-i mage: url( "+CKEDITOR .getUrl(th is.path+"i mages/hidd enfield.gi f")+        
767   ");backgro und-positi on: center  center;ba ckground-r epeat: no- repeat;bor der: 1px s olid #a9a9 a9;width:  16px !impo rtant;heig ht: 16px ! important; }")},init: function(a ){var e=a. lang,b=0,c ={email:1, password:1 ,search:1, tel:1,text :1,url:1}, d={checkbo x:"input[t ype,name,c hecked,req uired]",ra dio:"input [type,name ,checked,r equired]", textfield: "input[typ e,name,val ue,size,ma xlength,re quired]",t extarea:"t extarea[co ls,rows,na me,require d]",select :"select[n ame,size,m ultiple,re quired]; o ption[valu e,selected ]",button: "input[typ e,name,val ue]",        
768   form:"form [action,na me,id,enct ype,target ,method]", hiddenfiel d:"input[t ype,name,v alue]",ima gebutton:" input[type ,alt,src]{ width,heig ht,border, border-wid th,border- style,marg in,float}" },k={check box:"input ",radio:"i nput",text field:"inp ut",textar ea:"textar ea",select :"select", button:"in put",form: "form",hid denfield:" input",ima gebutton:" input"},m= function(c ,f,l){var  m={allowed Content:d[ f],require dContent:k [f]};"form "==f&&(m.c ontext="fo rm");a.add Command(f, new CKEDIT OR.dialogC ommand(f,m ));a.ui.ad dButton&&a .ui.addBut ton(c,        
769   {label:e.c ommon[c.ch arAt(0).to LowerCase( )+c.slice( 1)],comman d:f,toolba r:"forms," +(b+=10)}) ;CKEDITOR. dialog.add (f,l)},f=t his.path+" dialogs/"; !a.blockle ss&&m("For m","form", f+"form.js ");m("Chec kbox","che ckbox",f+" checkbox.j s");m("Rad io","radio ",f+"radio .js");m("T extField", "textfield ",f+"textf ield.js"); m("Textare a","textar ea",f+"tex tarea.js") ;m("Select ","select" ,f+"select .js");m("B utton","bu tton",f+"b utton.js") ;var l=a.p lugins.ima ge;l&&!a.p lugins.ima ge2&&m("Im ageButton" ,"imagebut ton",CKEDI TOR.plugin s.getPath( "image")+        
770   "dialogs/i mage.js"); m("HiddenF ield","hid denfield", f+"hiddenf ield.js"); a.addMenuI tems&&(m={ checkbox:{ label:e.fo rms.checkb oxAndRadio .checkboxT itle,comma nd:"checkb ox",group: "checkbox" },radio:{l abel:e.for ms.checkbo xAndRadio. radioTitle ,command:" radio",gro up:"radio" },textfiel d:{label:e .forms.tex tfield.tit le,command :"textfiel d",group:" textfield" },hiddenfi eld:{label :e.forms.h idden.titl e,command: "hiddenfie ld",group: "hiddenfie ld"},butto n:{label:e .forms.but ton.title, command:"b utton",gro up:"button "},select: {label:e.f orms.selec t.title,        
771   command:"s elect",gro up:"select "},textare a:{label:e .forms.tex tarea.titl e,command: "textarea" ,group:"te xtarea"}}, l&&(m.imag ebutton={l abel:e.ima ge.titleBu tton,comma nd:"imageb utton",gro up:"imageb utton"}),! a.blockles s&&(m.form ={label:e. forms.form .menu,comm and:"form" ,group:"fo rm"}),a.ad dMenuItems (m));a.con textMenu&& (!a.blockl ess&&a.con textMenu.a ddListener (function( a,b,c){if( (a=c.conta ins("form" ,1))&&!a.i sReadOnly( ))return{f orm:CKEDIT OR.TRISTAT E_OFF}}),a .contextMe nu.addList ener(funct ion(a){if( a&&!a.isRe adOnly()){ var b=        
772   a.getName( );if("sele ct"==b)ret urn{select :CKEDITOR. TRISTATE_O FF};if("te xtarea"==b )return{te xtarea:CKE DITOR.TRIS TATE_OFF}; if("input" ==b){var d =a.getAttr ibute("typ e")||"text ";switch(d ){case "bu tton":case  "submit": case "rese t":return{ button:CKE DITOR.TRIS TATE_OFF}; case "chec kbox":retu rn{checkbo x:CKEDITOR .TRISTATE_ OFF};case  "radio":re turn{radio :CKEDITOR. TRISTATE_O FF};case " image":ret urn l?{ima gebutton:C KEDITOR.TR ISTATE_OFF }:null}if( c[d])retur n{textfiel d:CKEDITOR .TRISTATE_ OFF}}if("i mg"==b&&"h iddenfield "==        
773   a.data("ck e-real-ele ment-type" ))return{h iddenfield :CKEDITOR. TRISTATE_O FF}}}));a. on("double click",fun ction(b){v ar d=b.dat a.element; if(!a.bloc kless&&d.i s("form")) b.data.dia log="form" ;else if(d .is("selec t"))b.data .dialog="s elect";els e if(d.is( "textarea" ))b.data.d ialog="tex tarea";els e if(d.is( "img")&&"h iddenfield "==d.data( "cke-real- element-ty pe"))b.dat a.dialog=" hiddenfiel d";else if (d.is("inp ut")){d=d. getAttribu te("type") ||"text";s witch(d){c ase "butto n":case "s ubmit":cas e "reset": b.data.dia log="butto n";        
774   break;case  "checkbox ":b.data.d ialog="che ckbox";bre ak;case "r adio":b.da ta.dialog= "radio";br eak;case " image":b.d ata.dialog ="imagebut ton"}c[d]& &(b.data.d ialog="tex tfield")}} )},afterIn it:functio n(a){var e =a.dataPro cessor,b=e &&e.htmlFi lter,e=e&& e.dataFilt er;CKEDITO R.env.ie&& b&&b.addRu les({eleme nts:{input :function( a){a=a.att ributes;va r b=a.type ;b||(a.typ e="text"); "checkbox" !=b&&"radi o"!=b||"on "!=a.value ||delete a .value}}}, {applyToAl l:!0});e&& e.addRules ({elements :{input:fu nction(b){ if("hidden "==b.attri butes.type )return a. createFake ParserElem ent(b,        
775   "cke_hidde n","hidden field")}}} ,{applyToA ll:!0})}}) ,function( ){var a={c anUndo:!1, exec:funct ion(a){var  b=a.docum ent.create Element("h r");a.inse rtElement( b)},allowe dContent:" hr",requir edContent: "hr"};CKED ITOR.plugi ns.add("ho rizontalru le",{init: function(e ){e.blockl ess||(e.ad dCommand(" horizontal rule",a),e .ui.addBut ton&&e.ui. addButton( "Horizonta lRule",{la bel:e.lang .horizonta lrule.tool bar,comman d:"horizon talrule",t oolbar:"in sert,40"}) )}})}(),CK EDITOR.plu gins.add(" htmlwriter ",{init:fu nction(a){ var e=new  CKEDITOR.h tmlWriter;        
776   e.forceSim pleAmpersa nd=a.confi g.forceSim pleAmpersa nd;e.inden tationChar s=a.config .dataInden tationChar s||"\t";a. dataProces sor.writer =e}}),CKED ITOR.htmlW riter=CKED ITOR.tools .createCla ss({base:C KEDITOR.ht mlParser.b asicWriter ,$:functio n(){this.b ase();this .indentati onChars="\ t";this.se lfClosingE nd=" /\x3e ";this.lin eBreakChar s="\n";thi s.sortAttr ibutes=1;t his._.inde nt=0;this. _.indentat ion="";thi s._.inPre= 0;this._.r ules={};va r a=CKEDIT OR.dtd,e;f or(e in CK EDITOR.too ls.extend( {},a.$nonB odyContent ,a.$block, a.$listIte m,        
777   a.$tableCo ntent))thi s.setRules (e,{indent :!a[e]["#" ],breakBef oreOpen:1, breakBefor eClose:!a[ e]["#"],br eakAfterCl ose:1,need sSpace:e i n a.$block &&!(e in{l i:1,dt:1,d d:1})});th is.setRule s("br",{br eakAfterOp en:1});thi s.setRules ("title",{ indent:0,b reakAfterO pen:0});th is.setRule s("style", {indent:0, breakBefor eClose:1}) ;this.setR ules("pre" ,{breakAft erOpen:1,i ndent:0})} ,proto:{op enTag:func tion(a){va r e=this._ .rules[a]; this._.aft erCloser&& e&&e.needs Space&&thi s._.needsS pace&&this ._.output. push("\n") ;this._.in dent?        
778   this.inden tation():e &&e.breakB eforeOpen& &(this.lin eBreak(),t his.indent ation());t his._.outp ut.push("\ x3c",a);th is._.after Closer=0}, openTagClo se:functio n(a,e){var  b=this._. rules[a];e ?(this._.o utput.push (this.self ClosingEnd ),b&&b.bre akAfterClo se&&(this. _.needsSpa ce=b.needs Space)):(t his._.outp ut.push("\ x3e"),b&&b .indent&&( this._.ind entation+= this.inden tationChar s));b&&b.b reakAfterO pen&&this. lineBreak( );"pre"==a &&(this._. inPre=1)}, attribute: function(a ,e){"strin g"==typeof  e&&(this. forceSimpl eAmpersand &&        
779   (e=e.repla ce(/&amp;/ g,"\x26")) ,e=CKEDITO R.tools.ht mlEncodeAt tr(e));thi s._.output .push(" ", a,'\x3d"', e,'"')},cl oseTag:fun ction(a){v ar e=this. _.rules[a] ;e&&e.inde nt&&(this. _.indentat ion=this._ .indentati on.substr( this.inden tationChar s.length)) ;this._.in dent?this. indentatio n():e&&e.b reakBefore Close&&(th is.lineBre ak(),this. indentatio n());this. _.output.p ush("\x3c/ ",a,"\x3e" );"pre"==a &&(this._. inPre=0);e &&e.breakA fterClose& &(this.lin eBreak(),t his._.need sSpace=e.n eedsSpace) ;this._.af terCloser= 1},text:fu nction(a){ this._.ind ent&&        
780   (this.inde ntation(), !this._.in Pre&&(a=CK EDITOR.too ls.ltrim(a )));this._ .output.pu sh(a)},com ment:funct ion(a){thi s._.indent &&this.ind entation() ;this._.ou tput.push( "\x3c!--", a,"--\x3e" )},lineBre ak:functio n(){!this. _.inPre&&0 <this._.ou tput.lengt h&&this._. output.pus h(this.lin eBreakChar s);this._. indent=1}, indentatio n:function (){!this._ .inPre&&th is._.inden tation&&th is._.outpu t.push(thi s._.indent ation);thi s._.indent =0},reset: function() {this._.ou tput=[];th is._.inden t=0;this._ .indentati on="";this ._.afterCl oser=        
781   0;this._.i nPre=0},se tRules:fun ction(a,e) {var b=thi s._.rules[ a];b?CKEDI TOR.tools. extend(b,e ,!0):this. _.rules[a] =e}}}),fun ction(){CK EDITOR.plu gins.add(" iframe",{r equires:"d ialog,fake objects",o nLoad:func tion(){CKE DITOR.addC ss("img.ck e_iframe{b ackground- image: url ("+CKEDITO R.getUrl(t his.path+" images/pla ceholder.p ng")+");ba ckground-p osition: c enter cent er;backgro und-repeat : no-repea t;border:  1px solid  #a9a9a9;wi dth: 80px; height: 80 px;}")},in it:functio n(a){var e =a.lang.if rame,b="if rame[align ,longdesc, frameborde r,height,n ame,scroll ing,src,ti tle,width] ";        
782   a.plugins. dialogadvt ab&&(b+="; iframe"+a. plugins.di alogadvtab .allowedCo ntent({id: 1,classes: 1,styles:1 }));CKEDIT OR.dialog. add("ifram e",this.pa th+"dialog s/iframe.j s");a.addC ommand("if rame",new  CKEDITOR.d ialogComma nd("iframe ",{allowed Content:b, requiredCo ntent:"ifr ame"}));a. ui.addButt on&&a.ui.a ddButton(" Iframe",{l abel:e.too lbar,comma nd:"iframe ",toolbar: "insert,80 "});a.on(" doubleclic k",functio n(a){var b =a.data.el ement;b.is ("img")&&" iframe"==b .data("cke -real-elem ent-type") &&(a.data. dialog="if rame")});a .addMenuIt ems&&        
783   a.addMenuI tems({ifra me:{label: e.title,co mmand:"ifr ame",group :"image"}} );a.contex tMenu&&a.c ontextMenu .addListen er(functio n(a){if(a& &a.is("img ")&&"ifram e"==a.data ("cke-real -element-t ype"))retu rn{iframe: CKEDITOR.T RISTATE_OF F}})},afte rInit:func tion(a){va r e=a.data Processor; (e=e&&e.da taFilter)& &e.addRule s({element s:{iframe: function(b ){return a .createFak eParserEle ment(b,"ck e_iframe", "iframe",! 0)}}})}})} (),functio n(){functi on a(a,c){ c||(c=a.ge tSelection ().getSele ctedElemen t());if(c& &c.is("img ")&&!c.dat a("cke-rea lelement") &&        
784   !c.isReadO nly())retu rn c}funct ion e(a){v ar c=a.get Style("flo at");if("i nherit"==c ||"none"== c)c=0;c||( c=a.getAtt ribute("al ign"));ret urn c}CKED ITOR.plugi ns.add("im age",{requ ires:"dial og",init:f unction(b) {if(!b.plu gins.image 2){CKEDITO R.dialog.a dd("image" ,this.path +"dialogs/ image.js") ;var c="im g[alt,!src ]{border-s tyle,borde r-width,fl oat,height ,margin,ma rgin-botto m,margin-l eft,margin -right,mar gin-top,wi dth}";CKED ITOR.dialo g.isTabEna bled(b,"im age","adva nced")&&(c ="img[alt, dir,id,lan g,longdesc ,!src,titl e]{*}(*)") ;        
785   b.addComma nd("image" ,new CKEDI TOR.dialog Command("i mage",{all owedConten t:c,requir edContent: "img[alt,s rc]",conte ntTransfor mations:[[ "img{width }: sizeToS tyle","img [width]: s izeToAttri bute"],["i mg{float}:  alignment ToStyle"," img[align] : alignmen tToAttribu te"]]}));b .ui.addBut ton&&b.ui. addButton( "Image",{l abel:b.lan g.common.i mage,comma nd:"image" ,toolbar:" insert,10" });b.on("d oubleclick ",function (a){var b= a.data.ele ment;!b.is ("img")||b .data("cke -realeleme nt")||b.is ReadOnly() ||(a.data. dialog="im age")});b. addMenuIte ms&&        
786   b.addMenuI tems({imag e:{label:b .lang.imag e.menu,com mand:"imag e",group:" image"}}); b.contextM enu&&b.con textMenu.a ddListener (function( c){if(a(b, c))return{ image:CKED ITOR.TRIST ATE_OFF}}) }},afterIn it:functio n(b){funct ion c(c){v ar k=b.get Command("j ustify"+c) ;if(k){if( "left"==c| |"right"== c)k.on("ex ec",functi on(k){var  f=a(b),l;f &&(l=e(f), l==c?(f.re moveStyle( "float"),c ==e(f)&&f. removeAttr ibute("ali gn")):f.se tStyle("fl oat",c),k. cancel())} );k.on("re fresh",fun ction(k){v ar f=a(b); f&&(f=e(f) ,this.setS tate(f==c? CKEDITOR.T RISTATE_ON :        
787   "right"==c ||"left"== c?CKEDITOR .TRISTATE_ OFF:CKEDIT OR.TRISTAT E_DISABLED ),k.cancel ())})}}b.p lugins.ima ge2||(c("l eft"),c("r ight"),c(" center"),c ("block")) }})}(),CKE DITOR.conf ig.image_r emoveLinkB yEmptyURL= !0,functio n(){functi on a(a,d){ var k,m;d. on("refres h",functio n(a){var c =[e],d;for (d in a.da ta.states) c.push(a.d ata.states [d]);this. setState(C KEDITOR.to ols.search (c,b)?b:e) },d,null,1 00);d.on(" exec",func tion(b){k= a.getSelec tion();m=k .createBoo kmarks(1); b.data||(b .data={}); b.data.don e=!1},d,nu ll,0);d.on ("exec",        
788   function() {a.forceNe xtSelectio nCheck();k .selectBoo kmarks(m)} ,d,null,10 0)}var e=C KEDITOR.TR ISTATE_DIS ABLED,b=CK EDITOR.TRI STATE_OFF; CKEDITOR.p lugins.add ("indent", {init:func tion(b){va r d=CKEDIT OR.plugins .indent.ge nericDefin ition;a(b, b.addComma nd("indent ",new d(!0 )));a(b,b. addCommand ("outdent" ,new d));b .ui.addBut ton&&(b.ui .addButton ("Indent", {label:b.l ang.indent .indent,co mmand:"ind ent",direc tional:!0, toolbar:"i ndent,20"} ),b.ui.add Button("Ou tdent",{la bel:b.lang .indent.ou tdent,comm and:"outde nt",direct ional:!0,        
789   toolbar:"i ndent,10"} ));b.on("d irChanged" ,function( a){var d=b .createRan ge(),f=a.d ata.node;d .setStartB efore(f);d .setEndAft er(f);for( var e=new  CKEDITOR.d om.walker( d),h;h=e.n ext();)if( h.type==CK EDITOR.NOD E_ELEMENT) if(!h.equa ls(f)&&h.g etDirectio n())d.setS tartAfter( h),e=new C KEDITOR.do m.walker(d );else{var  g=b.confi g.indentCl asses;if(g )for(var n ="ltr"==a. data.dir?[ "_rtl",""] :["","_rtl "],r=0;r<g .length;r+ +)h.hasCla ss(g[r]+n[ 0])&&(h.re moveClass( g[r]+n[0]) ,h.addClas s(g[r]+n[1 ]));g=h.ge tStyle("ma rgin-right ");        
790   n=h.getSty le("margin -left");g? h.setStyle ("margin-l eft",g):h. removeStyl e("margin- left");n?h .setStyle( "margin-ri ght",n):h. removeStyl e("margin- right")}}) }});CKEDIT OR.plugins .indent={g enericDefi nition:fun ction(a){t his.isInde nt=!!a;thi s.startDis abled=!thi s.isIndent },specific Definition :function( a,b,e){thi s.name=b;t his.editor =a;this.jo bs={};this .enterBr=a .config.en terMode==C KEDITOR.EN TER_BR;thi s.isIndent =!!e;this. relatedGlo bal=e?"ind ent":"outd ent";this. indentKey= e?9:CKEDIT OR.SHIFT+9 ;this.data base={}},r egisterCom mands:func tion(a,        
791   b){a.on("p luginsLoad ed",functi on(){for(v ar a in b) (function( a,b){var c =a.getComm and(b.rela tedGlobal) ,d;for(d i n b.jobs)c .on("exec" ,function( c){c.data. done||(a.f ire("lockS napshot"), b.execJob( a,d)&&(c.d ata.done=! 0),a.fire( "unlockSna pshot"),CK EDITOR.dom .element.c learAllMar kers(b.dat abase))},t his,null,d ),c.on("re fresh",fun ction(c){c .data.stat es||(c.dat a.states={ });c.data. states[b.n ame+"@"+d] =b.refresh Job(a,d,c. data.path) },this,nul l,d);a.add Feature(b) })(this,b[ a])})}};CK EDITOR.plu gins.inden t.genericD efinition. prototype=        
792   {context:" p",exec:fu nction(){} };CKEDITOR .plugins.i ndent.spec ificDefini tion.proto type={exec Job:functi on(a,b){va r k=this.j obs[b];if( k.state!=e )return k. exec.call( this,a)},r efreshJob: function(a ,b,k){b=th is.jobs[b] ;a.activeF ilter.chec kFeature(t his)?b.sta te=b.refre sh.call(th is,a,k):b. state=e;re turn b.sta te},getCon text:funct ion(a){ret urn a.cont ains(this. context)}} }(),functi on(){funct ion a(a){f unction c( e){for(var  l=t.start Container, m=t.endCon tainer;l&& !l.getPare nt().equal s(e);)l=l. getParent( );for(;m&& !m.getPare nt().equal s(e);)m=        
793   m.getParen t();if(!l| |!m)return !1;for(var  q=l,l=[], p=!1;!p;)q .equals(m) &&(p=!0),l .push(q),q =q.getNext ();if(1>l. length)ret urn!1;q=e. getParents (!0);for(m =0;m<q.len gth;m++)if (q[m].getN ame&&k[q[m ].getName( )]){e=q[m] ;break}for (var q=d.i sIndent?1: -1,m=l[0], l=l[l.leng th-1],p=CK EDITOR.plu gins.list. listToArra y(e,g),z=p [l.getCust omData("li starray_in dex")].ind ent,m=m.ge tCustomDat a("listarr ay_index") ;m<=l.getC ustomData( "listarray _index");m ++)if(p[m] .indent+=q ,0<q){var  r=p[m].par ent;p[m].p arent=new  CKEDITOR.d om.element (r.getName (),        
794   r.getDocum ent())}for (m=l.getCu stomData(" listarray_ index")+1; m<p.length &&p[m].ind ent>z;m++) p[m].inden t+=q;l=CKE DITOR.plug ins.list.a rrayToList (p,g,null, a.config.e nterMode,e .getDirect ion());if( !d.isInden t){var x;i f((x=e.get Parent())& &x.is("li" ))for(var  q=l.listNo de.getChil dren(),A=[ ],D,m=q.co unt()-1;0< =m;m--)(D= q.getItem( m))&&D.is& &D.is("li" )&&A.push( D)}l&&l.li stNode.rep lace(e);if (A&&A.leng th)for(m=0 ;m<A.lengt h;m++){for (D=e=A[m]; (D=D.getNe xt())&&D.i s&&D.getNa me()in k;) CKEDITOR.e nv.needsNb spFiller&& !e.getFirs t(b)&&        
795   e.append(t .document. createText (" ")),e.a ppend(D);e .insertAft er(x)}l&&a .fire("con tentDomInv alidated") ;return!0} for(var d= this,g=thi s.database ,k=this.co ntext,m=a. getSelecti on(),m=(m& &m.getRang es()).crea teIterator (),t;t=m.g etNextRang e();){for( var q=t.ge tCommonAnc estor();q& &(q.type!= CKEDITOR.N ODE_ELEMEN T||!k[q.ge tName()]); ){if(a.edi table().eq uals(q)){q =!1;break} q=q.getPar ent()}q||( q=t.startP ath().cont ains(k))&& t.setEndAt (q,CKEDITO R.POSITION _BEFORE_EN D);if(!q){ var p=t.ge tEnclosedN ode();p&&p .type==CKE DITOR.NODE _ELEMENT&&        
796   p.getName( )in k&&(t. setStartAt (p,CKEDITO R.POSITION _AFTER_STA RT),t.setE ndAt(p,CKE DITOR.POSI TION_BEFOR E_END),q=p )}q&&t.sta rtContaine r.type==CK EDITOR.NOD E_ELEMENT& &t.startCo ntainer.ge tName()in  k&&(p=new  CKEDITOR.d om.walker( t),p.evalu ator=e,t.s tartContai ner=p.next ());q&&t.e ndContaine r.type==CK EDITOR.NOD E_ELEMENT& &t.endCont ainer.getN ame()in k& &(p=new CK EDITOR.dom .walker(t) ,p.evaluat or=e,t.end Container= p.previous ());if(q)r eturn c(q) }return 0} function e (a){return  a.type==C KEDITOR.NO DE_ELEMENT &&a.is("li ")}        
797   function b (a){return  c(a)&&d(a )}var c=CK EDITOR.dom .walker.wh itespaces( !0),d=CKED ITOR.dom.w alker.book mark(!1,!0 ),k=CKEDIT OR.TRISTAT E_DISABLED ,m=CKEDITO R.TRISTATE _OFF;CKEDI TOR.plugin s.add("ind entlist",{ requires:" indent",in it:functio n(b){funct ion c(b){d .specificD efinition. apply(this ,arguments );this.req uiredConte nt=["ul"," ol"];b.on( "key",func tion(a){if ("wysiwyg" ==b.mode&& a.data.key Code==this .indentKey ){var c=th is.getCont ext(b.elem entPath()) ;!c||this. isIndent&& CKEDITOR.p lugins.ind entList.fi rstItemInP ath(this.c ontext,        
798   b.elementP ath(),c)|| (b.execCom mand(this. relatedGlo bal),a.can cel())}},t his);this. jobs[this. isIndent?1 0:30]={ref resh:this. isIndent?f unction(a, b){var c=t his.getCon text(b),d= CKEDITOR.p lugins.ind entList.fi rstItemInP ath(this.c ontext,b,c );return c &&this.isI ndent&&!d? m:k}:funct ion(a,b){r eturn!this .getContex t(b)||this .isIndent? k:m},exec: CKEDITOR.t ools.bind( a,this)}}v ar d=CKEDI TOR.plugin s.indent;d .registerC ommands(b, {indentlis t:new c(b, "indentlis t",!0),out dentlist:n ew c(b,"ou tdentlist" )});CKEDIT OR.tools.e xtend(c.pr ototype,        
799   d.specific Definition .prototype ,{context: {ol:1,ul:1 }})}});CKE DITOR.plug ins.indent List={};CK EDITOR.plu gins.inden tList.firs tItemInPat h=function (a,b,c){va r d=b.cont ains(e);c| |(c=b.cont ains(a));r eturn c&&d &&d.equals (c.getFirs t(e))}}(), function() {function  a(a,b,c){i f(!a.getCu stomData(" indent_pro cessed")){ var d=this .editor,g= this.isInd ent;if(b){ d=a.$.clas sName.matc h(this.cla ssNameRege x);c=0;d&& (d=d[1],c= CKEDITOR.t ools.index Of(b,d)+1) ;if(0>(c+= g?1:-1))re turn;c=Mat h.min(c,b. length);c= Math.max(c ,0);a.$.cl assName=        
800   CKEDITOR.t ools.ltrim (a.$.class Name.repla ce(this.cl assNameReg ex,""));0< c&&a.addCl ass(b[c-1] )}else{b=e (a,c);c=pa rseInt(a.g etStyle(b) ,10);var k =d.config. indentOffs et||40;isN aN(c)&&(c= 0);c+=(g?1 :-1)*k;if( 0>c)return ;c=Math.ma x(c,0);c=M ath.ceil(c /k)*k;a.se tStyle(b,c ?c+(d.conf ig.indentU nit||"px") :"");""=== a.getAttri bute("styl e")&&a.rem oveAttribu te("style" )}CKEDITOR .dom.eleme nt.setMark er(this.da tabase,a," indent_pro cessed",1) }}function  e(a,b){re turn"ltr"= =(b||a.get ComputedSt yle("direc tion"))?"m argin-left ":        
801   "margin-ri ght"}var b =CKEDITOR. dtd.$listI tem,c=CKED ITOR.dtd.$ list,d=CKE DITOR.TRIS TATE_DISAB LED,k=CKED ITOR.TRIST ATE_OFF;CK EDITOR.plu gins.add(" indentbloc k",{requir es:"indent ",init:fun ction(m){f unction f( ){l.specif icDefiniti on.apply(t his,argume nts);this. allowedCon tent={"div  h1 h2 h3  h4 h5 h6 o l p pre ul ":{propert iesOnly:!0 ,styles:h? null:"marg in-left,ma rgin-right ",classes: h||null}}; this.enter Br&&(this. allowedCon tent.div=! 0);this.re quiredCont ent=(this. enterBr?"d iv":"p")+( h?"("+h.jo in(",")+") ":"{margin -left}");        
802   this.jobs= {20:{refre sh:functio n(a,c){var  f=c.block ||c.blockL imit;if(!f .is(b))var  l=f.getAs cendant(b) ,f=l&&c.co ntains(l)| |f;f.is(b) &&(f=f.get Parent()); if(this.en terBr||thi s.getConte xt(c)){if( h){var l=h ,f=f.$.cla ssName.mat ch(this.cl assNameReg ex),m=this .isIndent, l=f?m?f[1] !=l.slice( -1):!0:m;r eturn l?k: d}return t his.isInde nt?k:f?CKE DITOR[0>=( parseInt(f .getStyle( e(f)),10)| |0)?"TRIST ATE_DISABL ED":"TRIST ATE_OFF"]: d}return d },exec:fun ction(b){v ar d=b.get Selection( ),d=d&&d.g etRanges() [0],f;if(f =b.element Path().con tains(c))a .call(this ,        
803   f,h);else  for(d=d.cr eateIterat or(),b=b.c onfig.ente rMode,d.en forceRealB locks=!0,d .enlargeBr =b!=CKEDIT OR.ENTER_B R;f=d.getN extParagra ph(b==CKED ITOR.ENTER _P?"p":"di v");)f.isR eadOnly()| |a.call(th is,f,h);re turn!0}}}} var l=CKED ITOR.plugi ns.indent, h=m.config .indentCla sses;l.reg isterComma nds(m,{ind entblock:n ew f(m,"in dentblock" ,!0),outde ntblock:ne w f(m,"out dentblock" )});CKEDIT OR.tools.e xtend(f.pr ototype,l. specificDe finition.p rototype,{ context:{d iv:1,dl:1, h1:1,h2:1, h3:1,h4:1, h5:1,h6:1, ul:1,ol:1, p:1,pre:1, table:1},        
804   classNameR egex:h?new  RegExp("( ?:^|\\s+)( "+h.join(" |")+")(?\x 3d$|\\s)") :null})}}) }(),functi on(){funct ion a(a,b) {b=void 0= ==b||b;var  e;if(b)e= a.getCompu tedStyle(" text-align ");else{fo r(;!a.hasA ttribute|| !a.hasAttr ibute("ali gn")&&!a.g etStyle("t ext-align" );){e=a.ge tParent(); if(!e)brea k;a=e}e=a. getStyle(" text-align ")||a.getA ttribute(" align")||" "}e&&(e=e. replace(/( ?:-(?:moz| webkit)-)? (?:start|a uto)/i,"") );!e&&b&&( e="rtl"==a .getComput edStyle("d irection") ?"right":" left");ret urn e}func tion e(a,b ,e){this.e ditor=        
805   a;this.nam e=b;this.v alue=e;thi s.context= "p";b=a.co nfig.justi fyClasses; var m=a.co nfig.enter Mode==CKED ITOR.ENTER _P?"p":"di v";if(b){s witch(e){c ase "left" :this.cssC lassName=b [0];break; case "cent er":this.c ssClassNam e=b[1];bre ak;case "r ight":this .cssClassN ame=b[2];b reak;case  "justify": this.cssCl assName=b[ 3]}this.cs sClassRege x=new RegE xp("(?:^|\ \s+)(?:"+b .join("|") +")(?\x3d$ |\\s)");th is.require dContent=m +"("+this. cssClassNa me+")"}els e this.req uiredConte nt=m+"{tex t-align}"; this.allow edContent= {"caption  div h1 h2  h3 h4 h5 h 6 p pre td  th li":{p ropertiesO nly:!0,        
806   styles:thi s.cssClass Name?null: "text-alig n",classes :this.cssC lassName|| null}};a.c onfig.ente rMode==CKE DITOR.ENTE R_BR&&(thi s.allowedC ontent.div =!0)}funct ion b(a){v ar b=a.edi tor,e=b.cr eateRange( );e.setSta rtBefore(a .data.node );e.setEnd After(a.da ta.node);f or(var m=n ew CKEDITO R.dom.walk er(e),f;f= m.next();) if(f.type= =CKEDITOR. NODE_ELEME NT)if(!f.e quals(a.da ta.node)&& f.getDirec tion())e.s etStartAft er(f),m=ne w CKEDITOR .dom.walke r(e);else{ var l=b.co nfig.justi fyClasses; l&&(f.hasC lass(l[0]) ?(f.remove Class(l[0] ),        
807   f.addClass (l[2])):f. hasClass(l [2])&&(f.r emoveClass (l[2]),f.a ddClass(l[ 0])));l=f. getStyle(" text-align ");"left"= =l?f.setSt yle("text- align","ri ght"):"rig ht"==l&&f. setStyle(" text-align ","left")} }e.prototy pe={exec:f unction(b) {var d=b.g etSelectio n(),e=b.co nfig.enter Mode;if(d) {for(var m =d.createB ookmarks() ,f=d.getRa nges(),l=t his.cssCla ssName,h,g ,n=b.confi g.useCompu tedState,n =void 0=== n||n,r=f.l ength-1;0< =r;r--)for (h=f[r].cr eateIterat or(),h.enl argeBr=e!= CKEDITOR.E NTER_BR;g= h.getNextP aragraph(e ==CKEDITOR .ENTER_P?        
808   "p":"div") ;)if(!g.is ReadOnly() ){g.remove Attribute( "align");g .removeSty le("text-a lign");var  t=l&&(g.$ .className =CKEDITOR. tools.ltri m(g.$.clas sName.repl ace(this.c ssClassReg ex,""))),q =this.stat e==CKEDITO R.TRISTATE _OFF&&(!n| |a(g,!0)!= this.value );l?q?g.ad dClass(l): t||g.remov eAttribute ("class"): q&&g.setSt yle("text- align",thi s.value)}b .focus();b .forceNext SelectionC heck();d.s electBookm arks(m)}}, refresh:fu nction(b,d ){var e=d. block||d.b lockLimit; this.setSt ate("body" !=e.getNam e()&&a(e,t his.editor .config.us eComputedS tate)==        
809   this.value ?CKEDITOR. TRISTATE_O N:CKEDITOR .TRISTATE_ OFF)}};CKE DITOR.plug ins.add("j ustify",{i nit:functi on(a){if(! a.blockles s){var d=n ew e(a,"ju stifyleft" ,"left"),k =new e(a," justifycen ter","cent er"),m=new  e(a,"just ifyright", "right"),f =new e(a," justifyblo ck","justi fy");a.add Command("j ustifyleft ",d);a.add Command("j ustifycent er",k);a.a ddCommand( "justifyri ght",m);a. addCommand ("justifyb lock",f);a .ui.addBut ton&&(a.ui .addButton ("JustifyL eft",{labe l:a.lang.j ustify.lef t,command: "justifyle ft",toolba r:"align,1 0"}),        
810   a.ui.addBu tton("Just ifyCenter" ,{label:a. lang.justi fy.center, command:"j ustifycent er",toolba r:"align,2 0"}),a.ui. addButton( "JustifyRi ght",{labe l:a.lang.j ustify.rig ht,command :"justifyr ight",tool bar:"align ,30"}),a.u i.addButto n("Justify Block",{la bel:a.lang .justify.b lock,comma nd:"justif yblock",to olbar:"ali gn,40"})); a.on("dirC hanged",b) }}})}(),"u se strict" ,function( ){function  a(a){retu rn a.repla ce(/'/g,"\ \$\x26")}f unction e( a){for(var  b,c=a.len gth,d=[],f =0;f<c;f++ )b=a.charC odeAt(f),d .push(b);r eturn"Stri ng.fromCha rCode("+        
811   d.join("," )+")"}func tion b(b,c ){var d=b. plugins.li nk,f=d.com piledProte ctionFunct ion.params ,e,g;g=[d. compiledPr otectionFu nction.nam e,"("];for (var h=0;h <f.length; h++)d=f[h] .toLowerCa se(),e=c[d ],0<h&&g.p ush(","),g .push("'", e?a(encode URICompone nt(c[d])): "","'");g. push(")"); return g.j oin("")}fu nction c(a ){a=a.conf ig.emailPr otection|| "";var b;a &&"encode" !=a&&(b={} ,a.replace (/^([^(]+) \(([^)]+)\ )$/,functi on(a,c,d){ b.name=c;b .params=[] ;d.replace (/[^,\s]+/ g,function (a){b.para ms.push(a) })}));retu rn b}CKEDI TOR.plugin s.add("lin k",        
812   {requires: "dialog,fa keobjects" ,onLoad:fu nction(){f unction a( b){return  c.replace( /%1/g,"rtl "==b?"righ t":"left") .replace(/ %2/g,"cke_ contents_" +b)}var b= "backgroun d:url("+CK EDITOR.get Url(this.p ath+"image s"+(CKEDIT OR.env.hid pi?"/hidpi ":"")+"/an chor.png") +") no-rep eat %1 cen ter;border :1px dotte d #00f;bac kground-si ze:16px;", c=".%2 a.c ke_anchor, .%2 a.cke_ anchor_emp ty,.cke_ed itable.%2  a[name],.c ke_editabl e.%2 a[dat a-cke-save d-name]{"+ b+"padding -%1:18px;c ursor:auto ;}.%2 img. cke_anchor {"+b+"widt h:16px;min -height:15 px;height: 1.15em;ver tical-alig n:text-bot tom;}";        
813   CKEDITOR.a ddCss(a("l tr")+a("rt l"))},init :function( a){var b=" a[!href]"; CKEDITOR.d ialog.isTa bEnabled(a ,"link","a dvanced")& &(b=b.repl ace("]",", accesskey, charset,di r,id,lang, name,rel,t abindex,ti tle,type]{ *}(*)"));C KEDITOR.di alog.isTab Enabled(a, "link","ta rget")&&(b =b.replace ("]",",tar get,onclic k]"));a.ad dCommand(" link",new  CKEDITOR.d ialogComma nd("link", {allowedCo ntent:b,re quiredCont ent:"a[hre f]"}));a.a ddCommand( "anchor",n ew CKEDITO R.dialogCo mmand("anc hor",{allo wedContent :"a[!name, id]",requi redContent :"a[name]" }));        
814   a.addComma nd("unlink ",new CKED ITOR.unlin kCommand); a.addComma nd("remove Anchor",ne w CKEDITOR .removeAnc horCommand );a.setKey stroke(CKE DITOR.CTRL +76,"link" );a.ui.add Button&&(a .ui.addBut ton("Link" ,{label:a. lang.link. toolbar,co mmand:"lin k",toolbar :"links,10 "}),a.ui.a ddButton(" Unlink",{l abel:a.lan g.link.unl ink,comman d:"unlink" ,toolbar:" links,20"} ),a.ui.add Button("An chor",{lab el:a.lang. link.ancho r.toolbar, command:"a nchor",too lbar:"link s,30"}));C KEDITOR.di alog.add(" link",this .path+"dia logs/link. js");CKEDI TOR.dialog .add("anch or",        
815   this.path+ "dialogs/a nchor.js") ;a.on("dou bleclick", function(b ){var c=CK EDITOR.plu gins.link. getSelecte dLink(a)|| b.data.ele ment;c.isR eadOnly()| |(c.is("a" )?(b.data. dialog=!c. getAttribu te("name") ||c.getAtt ribute("hr ef")&&c.ge tChildCoun t()?"link" :"anchor", b.data.lin k=c):CKEDI TOR.plugin s.link.try RestoreFak eAnchor(a, c)&&(b.dat a.dialog=" anchor"))} ,null,null ,0);a.on(" doubleclic k",functio n(b){b.dat a.dialog i n{link:1,a nchor:1}&& b.data.lin k&&a.getSe lection(). selectElem ent(b.data .link)},nu ll,null,20 );a.addMen uItems&&        
816   a.addMenuI tems({anch or:{label: a.lang.lin k.anchor.m enu,comman d:"anchor" ,group:"an chor",orde r:1},remov eAnchor:{l abel:a.lan g.link.anc hor.remove ,command:" removeAnch or",group: "anchor",o rder:5},li nk:{label: a.lang.lin k.menu,com mand:"link ",group:"l ink",order :1},unlink :{label:a. lang.link. unlink,com mand:"unli nk",group: "link",ord er:5}});a. contextMen u&&a.conte xtMenu.add Listener(f unction(b) {if(!b||b. isReadOnly ())return  null;b=CKE DITOR.plug ins.link.t ryRestoreF akeAnchor( a,b);if(!b &&!(b=CKED ITOR.plugi ns.link.ge tSelectedL ink(a)))re turn null;        
817   var c={};b .getAttrib ute("href" )&&b.getCh ildCount() &&(c={link :CKEDITOR. TRISTATE_O FF,unlink: CKEDITOR.T RISTATE_OF F});b&&b.h asAttribut e("name")& &(c.anchor =c.removeA nchor=CKED ITOR.TRIST ATE_OFF);r eturn c}); this.compi ledProtect ionFunctio n=c(a)},af terInit:fu nction(a){ a.dataProc essor.data Filter.add Rules({ele ments:{a:f unction(b) {return b. attributes .name?b.ch ildren.len gth?null:a .createFak eParserEle ment(b,"ck e_anchor", "anchor"): null}}});v ar b=a._.e lementsPat h&&a._.ele mentsPath. filters;b& &b.push(fu nction(b,c ){if("a"==        
818   c&&(CKEDIT OR.plugins .link.tryR estoreFake Anchor(a,b )||b.getAt tribute("n ame")&&(!b .getAttrib ute("href" )||!b.getC hildCount( ))))return "anchor"}) }});var d= /^javascri pt:/,k=/^m ailto:([^? ]+)(?:\?(. +))?$/,m=/ subject=([ ^;?:@&=$,\ /]*)/,f=/b ody=([^;?: @&=$,\/]*) /,l=/^#(.* )$/,h=/^(( ?:http|htt ps|ftp|new s):\/\/)?( .*)$/,g=/^ (_(?:self| top|parent |blank))$/ ,n=/^javas cript:void \(location \.href='ma ilto:'\+St ring\.from CharCode\( ([^)]+)\)( ?:\+'(.*)' )?\)$/,r=/ ^javascrip t:([^(]+)\ (([^)]+)\) $/,t=/\s*w indow.open \(\s*this\ .href\s*,\ s*(?:'([^' ]*)'|null) \s*,\s*'([ ^']*)'\s*\ )\s*;\s*re turn\s*fal se;*\s*/,        
819   q=/(?:^|,) ([^=]+)=(\ d+|yes|no) /gi,p={id: "advId",di r:"advLang Dir",acces sKey:"advA ccessKey", name:"advN ame",lang: "advLangCo de",tabind ex:"advTab Index",tit le:"advTit le",type:" advContent Type","cla ss":"advCS SClasses", charset:"a dvCharset" ,style:"ad vStyles",r el:"advRel "};CKEDITO R.plugins. link={getS electedLin k:function (a){var b= a.getSelec tion(),c=b .getSelect edElement( );return c &&c.is("a" )?c:(b=b.g etRanges() [0])?(b.sh rink(CKEDI TOR.SHRINK _TEXT),a.e lementPath (b.getComm onAncestor ()).contai ns("a",1)) :null},get EditorAnch ors:functi on(a){for( var b=        
820   a.editable (),c=b.isI nline()&&! a.plugins. divarea?a. document:b ,b=c.getEl ementsByTa g("a"),c=c .getElemen tsByTag("i mg"),d=[], f=0,e;e=b. getItem(f+ +);)(e.dat a("cke-sav ed-name")| |e.hasAttr ibute("nam e"))&&d.pu sh({name:e .data("cke -saved-nam e")||e.get Attribute( "name"),id :e.getAttr ibute("id" )});for(f= 0;e=c.getI tem(f++);) (e=this.tr yRestoreFa keAnchor(a ,e))&&d.pu sh({name:e .getAttrib ute("name" ),id:e.get Attribute( "id")});re turn d},fa keAnchor:! 0,tryResto reFakeAnch or:functio n(a,b){if( b&&b.data( "cke-real- element-ty pe")&&        
821   "anchor"== b.data("ck e-real-ele ment-type" )){var c=a .restoreRe alElement( b);if(c.da ta("cke-sa ved-name") )return c} },parseLin kAttribute s:function (a,b){var  c=b&&(b.da ta("cke-sa ved-href") ||b.getAtt ribute("hr ef"))||"", e=a.plugin s.link.com piledProte ctionFunct ion,v=a.co nfig.email Protection ,z,C={};c. match(d)&& ("encode"= =v?c=c.rep lace(n,fun ction(a,b, c){return" mailto:"+S tring.from CharCode.a pply(Strin g,b.split( ","))+(c&& c.replace( /\\'/g,"'" ))}):v&&c. replace(r, function(a ,b,c){if(b ==e.name){ C.type="em ail";a=C.e mail=        
822   {};b=/(^') |('$)/g;c= c.match(/[ ^,\s]+/g); for(var d= c.length,f ,g,h=0;h<d ;h++)f=dec odeURIComp onent,g=c[ h].replace (b,"").rep lace(/\\'/ g,"'"),g=f (g),f=e.pa rams[h].to LowerCase( ),a[f]=g;a .address=[ a.name,a.d omain].joi n("@")}})) ;if(!C.typ e)if(v=c.m atch(l))C. type="anch or",C.anch or={},C.an chor.name= C.anchor.i d=v[1];els e if(v=c.m atch(k)){z =c.match(m );c=c.matc h(f);C.typ e="email"; var x=C.em ail={};x.a ddress=v[1 ];z&&(x.su bject=deco deURICompo nent(z[1]) );c&&(x.bo dy=decodeU RIComponen t(c[1]))}e lse c&&(z= c.match(h) )&&        
823   (C.type="u rl",C.url= {},C.url.p rotocol=z[ 1],C.url.u rl=z[2]);i f(b){if(c= b.getAttri bute("targ et"))C.tar get={type: c.match(g) ?c:"frame" ,name:c};e lse if(c=( c=b.data(" cke-pa-onc lick")||b. getAttribu te("onclic k"))&&c.ma tch(t))for (C.target= {type:"pop up",name:c [1]};v=q.e xec(c[2]); )"yes"!=v[ 2]&&"1"!=v [2]||v[1]i n{height:1 ,width:1,t op:1,left: 1}?isFinit e(v[2])&&( C.target[v [1]]=v[2]) :C.target[ v[1]]=!0;v ar c={},A; for(A in p )(v=b.getA ttribute(A ))&&(c[p[A ]]=v);if(A =b.data("c ke-saved-n ame")||c.a dvName)c.a dvName=A;C KEDITOR.to ols.isEmpt y(c)||        
824   (C.advance d=c)}retur n C},getLi nkAttribut es:functio n(c,d){var  f=c.confi g.emailPro tection||" ",g={};swi tch(d.type ){case "ur l":var f=d .url&&void  0!==d.url .protocol? d.url.prot ocol:"http ://",h=d.u rl&&CKEDIT OR.tools.t rim(d.url. url)||"";g ["data-cke -saved-hre f"]=0===h. indexOf("/ ")?h:f+h;b reak;case  "anchor":f =d.anchor& &d.anchor. id;g["data -cke-saved -href"]="# "+(d.ancho r&&d.ancho r.name||f| |"");break ;case "ema il":var k= d.email,h= k.address; switch(f){ case "":ca se "encode ":var l=en codeURICom ponent(k.s ubject||"" ),        
825   m=encodeUR IComponent (k.body||" "),k=[];l& &k.push("s ubject\x3d "+l);m&&k. push("body \x3d"+m);k =k.length? "?"+k.join ("\x26"):" ";"encode" ==f?(f=["j avascript: void(locat ion.href\x 3d'mailto: '+",e(h)], k&&f.push( "+'",a(k), "'"),f.pus h(")")):f= ["mailto:" ,h,k];brea k;default: f=h.split( "@",2),k.n ame=f[0],k .domain=f[ 1],f=["jav ascript:", b(c,k)]}g[ "data-cke- saved-href "]=f.join( "")}if(d.t arget)if(" popup"==d. target.typ e){for(var  f=["windo w.open(thi s.href, '" ,d.target. name||""," ', '"],q=" resizable  status loc ation tool bar menuba r fullscre en scrollb ars depend ent".split (" "),        
826   h=q.length ,l=functio n(a){d.tar get[a]&&q. push(a+"\x 3d"+d.targ et[a])},k= 0;k<h;k++) q[k]+=d.ta rget[q[k]] ?"\x3dyes" :"\x3dno"; l("width") ;l("left") ;l("height ");l("top" );f.push(q .join(",") ,"'); retu rn false;" );g["data- cke-pa-onc lick"]=f.j oin("")}el se"notSet" !=d.target .type&&d.t arget.name &&(g.targe t=d.target .name);if( d.advanced ){for(var  n in p)(f= d.advanced [p[n]])&&( g[n]=f);g. name&&(g[" data-cke-s aved-name" ]=g.name)} g["data-ck e-saved-hr ef"]&&(g.h ref=g["dat a-cke-save d-href"]); n={target: 1,onclick: 1,"data-ck e-pa-oncli ck":1,        
827   "data-cke- saved-name ":1};d.adv anced&&CKE DITOR.tool s.extend(n ,p);for(va r t in g)d elete n[t] ;return{se t:g,remove d:CKEDITOR .tools.obj ectKeys(n) }}};CKEDIT OR.unlinkC ommand=fun ction(){}; CKEDITOR.u nlinkComma nd.prototy pe={exec:f unction(a) {var b=new  CKEDITOR. style({ele ment:"a",t ype:CKEDIT OR.STYLE_I NLINE,alwa ysRemoveEl ement:1}); a.removeSt yle(b)},re fresh:func tion(a,b){ var c=b.la stElement& &b.lastEle ment.getAs cendant("a ",!0);c&&" a"==c.getN ame()&&c.g etAttribut e("href")& &c.getChil dCount()?t his.setSta te(CKEDITO R.TRISTATE _OFF):        
828   this.setSt ate(CKEDIT OR.TRISTAT E_DISABLED )},context Sensitive: 1,startDis abled:1,re quiredCont ent:"a[hre f]"};CKEDI TOR.remove AnchorComm and=functi on(){};CKE DITOR.remo veAnchorCo mmand.prot otype={exe c:function (a){var b= a.getSelec tion(),c=b .createBoo kmarks(),d ;if(b&&(d= b.getSelec tedElement ())&&(d.ge tChildCoun t()?d.is(" a"):CKEDIT OR.plugins .link.tryR estoreFake Anchor(a,d )))d.remov e(1);else  if(d=CKEDI TOR.plugin s.link.get SelectedLi nk(a))d.ha sAttribute ("href")?( d.removeAt tributes({ name:1,"da ta-cke-sav ed-name":1 }),        
829   d.removeCl ass("cke_a nchor")):d .remove(1) ;b.selectB ookmarks(c )},require dContent:" a[name]"}; CKEDITOR.t ools.exten d(CKEDITOR .config,{l inkShowAdv ancedTab:! 0,linkShow TargetTab: !0})}(),fu nction(){f unction a( a,b,c){fun ction d(c) {if(!(!(l= k[c?"getFi rst":"getL ast"]())|| l.is&&l.is BlockBound ary()||!(m =b.root[c? "getPrevio us":"getNe xt"](CKEDI TOR.dom.wa lker.invis ible(!0))) ||m.is&&m. isBlockBou ndary({br: 1})))a.doc ument.crea teElement( "br")[c?"i nsertBefor e":"insert After"](l) }for(var f =CKEDITOR. plugins.li st.listToA rray(b.roo t,        
830   c),e=[],g= 0;g<b.cont ents.lengt h;g++){var  h=b.conte nts[g];(h= h.getAscen dant("li", !0))&&!h.g etCustomDa ta("list_i tem_proces sed")&&(e. push(h),CK EDITOR.dom .element.s etMarker(c ,h,"list_i tem_proces sed",!0))} h=null;for (g=0;g<e.l ength;g++) h=e[g].get CustomData ("listarra y_index"), f[h].inden t=-1;for(g =h+1;g<f.l ength;g++) if(f[g].in dent>f[g-1 ].indent+1 ){e=f[g-1] .indent+1- f[g].inden t;for(h=f[ g].indent; f[g]&&f[g] .indent>=h ;)f[g].ind ent+=e,g++ ;g--}var k =CKEDITOR. plugins.li st.arrayTo List(f,c,n ull,a.conf ig.enterMo de,        
831   b.root.get Attribute( "dir")).li stNode,l,m ;d(!0);d() ;k.replace (b.root);a .fire("con tentDomInv alidated") }function  e(a,b){thi s.name=a;t his.contex t=this.typ e=b;this.a llowedCont ent=b+" li ";this.req uiredConte nt=b}funct ion b(a,b, c,d){for(v ar f,e;f=a [d?"getLas t":"getFir st"](t);)( e=f.getDir ection(1)) !==b.getDi rection(1) &&f.setAtt ribute("di r",e),f.re move(),c?f [d?"insert Before":"i nsertAfter "](c):b.ap pend(f,d)} function c (a){functi on c(d){va r f=a[d?"g etPrevious ":"getNext "](g);f&&f .type==CKE DITOR.NODE _ELEMENT&& f.is(a.get Name())&&        
832   (b(a,f,nul l,!d),a.re move(),a=f )}c();c(1) }function  d(a){retur n a.type== CKEDITOR.N ODE_ELEMEN T&&(a.getN ame()in CK EDITOR.dtd .$block||a .getName() in CKEDITO R.dtd.$lis tItem)&&CK EDITOR.dtd [a.getName ()]["#"]}f unction k( a,d,f){a.f ire("saveS napshot"); f.enlarge( CKEDITOR.E NLARGE_LIS T_ITEM_CON TENTS);var  e=f.extra ctContents ();d.trim( !1,!0);var  h=d.creat eBookmark( ),k=new CK EDITOR.dom .elementPa th(d.start Container) ,l=k.block ,k=k.lastE lement.get Ascendant( "li",1)||l ,t=new CKE DITOR.dom. elementPat h(f.startC ontainer), r=        
833   t.contains (CKEDITOR. dtd.$listI tem),t=t.c ontains(CK EDITOR.dtd .$list);l? (l=l.getBo gus())&&l. remove():t &&(l=t.get Previous(g ))&&n(l)&& l.remove() ;(l=e.getL ast())&&l. type==CKED ITOR.NODE_ ELEMENT&&l .is("br")& &l.remove( );(l=d.sta rtContaine r.getChild (d.startOf fset))?e.i nsertBefor e(l):d.sta rtContaine r.append(e );r&&(e=m( r))&&(k.co ntains(r)? (b(e,r.get Parent(),r ),e.remove ()):k.appe nd(e));for (;f.checkS tartOfBloc k()&&f.che ckEndOfBlo ck();){t=f .startPath ();e=t.blo ck;if(!e)b reak;e.is( "li")&&(k= e.getParen t(),e.equa ls(k.getLa st(g))&&        
834   e.equals(k .getFirst( g))&&(e=k) );f.moveTo Position(e ,CKEDITOR. POSITION_B EFORE_STAR T);e.remov e()}f=f.cl one();e=a. editable() ;f.setEndA t(e,CKEDIT OR.POSITIO N_BEFORE_E ND);f=new  CKEDITOR.d om.walker( f);f.evalu ator=funct ion(a){ret urn g(a)&& !n(a)};(f= f.next())& &f.type==C KEDITOR.NO DE_ELEMENT &&f.getNam e()in CKED ITOR.dtd.$ list&&c(f) ;d.moveToB ookmark(h) ;d.select( );a.fire(" saveSnapsh ot")}funct ion m(a){r eturn(a=a. getLast(g) )&&a.type= =CKEDITOR. NODE_ELEME NT&&a.getN ame()in f? a:null}var  f={ol:1,u l:1},l=CKE DITOR.dom. walker.whi tespaces() ,        
835   h=CKEDITOR .dom.walke r.bookmark (),g=funct ion(a){ret urn!(l(a)| |h(a))},n= CKEDITOR.d om.walker. bogus();CK EDITOR.plu gins.list= {listToArr ay:functio n(a,b,c,d, e){if(!f[a .getName() ])return[] ;d||(d=0); c||(c=[]); for(var g= 0,h=a.getC hildCount( );g<h;g++) {var k=a.g etChild(g) ;k.type==C KEDITOR.NO DE_ELEMENT &&k.getNam e()in CKED ITOR.dtd.$ list&&CKED ITOR.plugi ns.list.li stToArray( k,b,c,d+1) ;if("li"== k.$.nodeNa me.toLower Case()){va r l={paren t:a,indent :d,element :k,content s:[]};e?l. grandparen t=e:(l.gra ndparent=a .getParent (),        
836   l.grandpar ent&&"li"= =l.grandpa rent.$.nod eName.toLo werCase()& &(l.grandp arent=l.gr andparent. getParent( )));b&&CKE DITOR.dom. element.se tMarker(b, k,"listarr ay_index", c.length); c.push(l); for(var m= 0,n=k.getC hildCount( ),t;m<n;m+ +)t=k.getC hild(m),t. type==CKED ITOR.NODE_ ELEMENT&&f [t.getName ()]?CKEDIT OR.plugins .list.list ToArray(t, b,c,d+1,l. grandparen t):l.conte nts.push(t )}}return  c},arrayTo List:funct ion(a,b,c, d,e){c||(c =0);if(!a| |a.length< c+1)return  null;for( var k,l=a[ c].parent. getDocumen t(),m=new  CKEDITOR.d om.documen tFragment( l),        
837   n=null,t=c ,r=Math.ma x(a[c].ind ent,0),D=n ull,G,F,I= d==CKEDITO R.ENTER_P? "p":"div"; ;){var H=a [t];k=H.gr andparent; G=H.elemen t.getDirec tion(1);if (H.indent= =r){n&&a[t ].parent.g etName()== n.getName( )||(n=a[t] .parent.cl one(!1,1), e&&n.setAt tribute("d ir",e),m.a ppend(n)); D=n.append (H.element .clone(0,1 ));G!=n.ge tDirection (1)&&D.set Attribute( "dir",G);f or(k=0;k<H .contents. length;k++ )D.append( H.contents [k].clone( 1,1));t++} else if(H. indent==Ma th.max(r,0 )+1)H=a[t- 1].element .getDirect ion(1),t=C KEDITOR.pl ugins.list .arrayToLi st(a,        
838   null,t,d,H !=G?G:null ),!D.getCh ildCount() &&CKEDITOR .env.needs NbspFiller &&7>=l.$.d ocumentMod e&&D.appen d(l.create Text(" ")) ,D.append( t.listNode ),t=t.next Index;else  if(-1==H. indent&&!c &&k){f[k.g etName()]? (D=H.eleme nt.clone(! 1,!0),G!=k .getDirect ion(1)&&D. setAttribu te("dir",G )):D=new C KEDITOR.do m.document Fragment(l );var n=k. getDirecti on(1)!=G,K =H.element ,E=K.getAt tribute("c lass"),N=K .getAttrib ute("style "),R=D.typ e==CKEDITO R.NODE_DOC UMENT_FRAG MENT&&(d!= CKEDITOR.E NTER_BR||n ||N||E),P, T=H.conten ts.length, O;        
839   for(k=0;k< T;k++)if(P =H.content s[k],h(P)& &1<T)R?O=P .clone(1,1 ):D.append (P.clone(1 ,1));else  if(P.type= =CKEDITOR. NODE_ELEME NT&&P.isBl ockBoundar y()){n&&!P .getDirect ion()&&P.s etAttribut e("dir",G) ;F=P;var Y =K.getAttr ibute("sty le");Y&&F. setAttribu te("style" ,Y.replace (/([^;])$/ ,"$1;")+(F .getAttrib ute("style ")||""));E &&P.addCla ss(E);F=nu ll;O&&(D.a ppend(O),O =null);D.a ppend(P.cl one(1,1))} else R?(F| |(F=l.crea teElement( I),D.appen d(F),n&&F. setAttribu te("dir",G )),N&&F.se tAttribute ("style",N ),E&&F.set Attribute( "class",        
840   E),O&&(F.a ppend(O),O =null),F.a ppend(P.cl one(1,1))) :D.append( P.clone(1, 1));O&&((F ||D).appen d(O),O=nul l);D.type= =CKEDITOR. NODE_DOCUM ENT_FRAGME NT&&t!=a.l ength-1&&( CKEDITOR.e nv.needsBr Filler&&(G =D.getLast ())&&G.typ e==CKEDITO R.NODE_ELE MENT&&G.is ("br")&&G. remove(),( G=D.getLas t(g))&&G.t ype==CKEDI TOR.NODE_E LEMENT&&G. is(CKEDITO R.dtd.$blo ck)||D.app end(l.crea teElement( "br")));G= D.$.nodeNa me.toLower Case();"di v"!=G&&"p" !=G||D.app endBogus() ;m.append( D);n=null; t++}else r eturn null ;F=null;if (a.length< =t||Math.m ax(a[t].in dent,        
841   0)<r)break }if(b)for( a=m.getFir st();a;){i f(a.type== CKEDITOR.N ODE_ELEMEN T&&(CKEDIT OR.dom.ele ment.clear Markers(b, a),a.getNa me()in CKE DITOR.dtd. $listItem& &(c=a,l=e= d=void 0,d =c.getDire ction()))) {for(e=c.g etParent() ;e&&!(l=e. getDirecti on());)e=e .getParent ();d==l&&c .removeAtt ribute("di r")}a=a.ge tNextSourc eNode()}re turn{listN ode:m,next Index:t}}} ;var r=/^h [1-6]$/,t= CKEDITOR.d om.walker. nodeType(C KEDITOR.NO DE_ELEMENT );e.protot ype={exec: function(b ){this.ref resh(b,b.e lementPath ());var d= b.config,e =b.getSele ction(),        
842   h=e&&e.get Ranges();i f(this.sta te==CKEDIT OR.TRISTAT E_OFF){var  k=b.edita ble();if(k .getFirst( g)){var l= 1==h.lengt h&&h[0];(d =l&&l.getE nclosedNod e())&&d.is &&this.typ e==d.getNa me()&&this .setState( CKEDITOR.T RISTATE_ON )}else d.e nterMode== CKEDITOR.E NTER_BR?k. appendBogu s():h[0].f ixBlock(1, d.enterMod e==CKEDITO R.ENTER_P? "p":"div") ,e.selectR anges(h)}f or(var d=e .createBoo kmarks(!0) ,k=[],m={} ,h=h.creat eIterator( ),n=0;(l=h .getNextRa nge())&&++ n;){var t= l.getBound aryNodes() ,x=t.start Node,A=t.e ndNode;x.t ype==CKEDI TOR.NODE_E LEMENT&&        
843   "td"==x.ge tName()&&l .setStartA t(t.startN ode,CKEDIT OR.POSITIO N_AFTER_ST ART);A.typ e==CKEDITO R.NODE_ELE MENT&&"td" ==A.getNam e()&&l.set EndAt(t.en dNode,CKED ITOR.POSIT ION_BEFORE _END);l=l. createIter ator();for (l.forceBr Break=this .state==CK EDITOR.TRI STATE_OFF; t=l.getNex tParagraph ();)if(!t. getCustomD ata("list_ block")){C KEDITOR.do m.element. setMarker( m,t,"list_ block",1); for(var D= b.elementP ath(t),x=D .elements, A=0,D=D.bl ockLimit,G ,F=x.lengt h-1;0<=F&& (G=x[F]);F --)if(f[G. getName()] &&D.contai ns(G)){D.r emoveCusto mData("lis t_group_ob ject_"+        
844   n);(x=G.ge tCustomDat a("list_gr oup_object "))?x.cont ents.push( t):(x={roo t:G,conten ts:[t]},k. push(x),CK EDITOR.dom .element.s etMarker(m ,G,"list_g roup_objec t",x));A=1 ;break}A|| (A=D,A.get CustomData ("list_gro up_object_ "+n)?A.get CustomData ("list_gro up_object_ "+n).conte nts.push(t ):(x={root :A,content s:[t]},CKE DITOR.dom. element.se tMarker(m, A,"list_gr oup_object _"+n,x),k. push(x)))} }for(G=[]; 0<k.length ;)if(x=k.s hift(),thi s.state==C KEDITOR.TR ISTATE_OFF )if(f[x.ro ot.getName ()]){h=b;n =x;x=m;l=G ;A=CKEDITO R.plugins. list.listT oArray(n.r oot,        
845   x);D=[];fo r(t=0;t<n. contents.l ength;t++) F=n.conten ts[t],(F=F .getAscend ant("li",! 0))&&!F.ge tCustomDat a("list_it em_process ed")&&(D.p ush(F),CKE DITOR.dom. element.se tMarker(x, F,"list_it em_process ed",!0));f or(var F=n .root.getD ocument(), I=void 0,H =void 0,t= 0;t<D.leng th;t++){va r K=D[t].g etCustomDa ta("listar ray_index" ),I=A[K].p arent;I.is (this.type )||(H=F.cr eateElemen t(this.typ e),I.copyA ttributes( H,{start:1 ,type:1}), H.removeSt yle("list- style-type "),A[K].pa rent=H)}x= CKEDITOR.p lugins.lis t.arrayToL ist(A,x,nu ll,        
846   h.config.e nterMode); A=void 0;D =x.listNod e.getChild Count();fo r(t=0;t<D& &(A=x.list Node.getCh ild(t));t+ +)A.getNam e()==this. type&&l.pu sh(A);x.li stNode.rep lace(n.roo t);h.fire( "contentDo mInvalidat ed")}else{ A=b;l=x;t= G;D=l.cont ents;h=l.r oot.getDoc ument();n= [];1==D.le ngth&&D[0] .equals(l. root)&&(x= h.createEl ement("div "),D[0].mo veChildren &&D[0].mov eChildren( x),D[0].ap pend(x),D[ 0]=x);l=l. contents[0 ].getParen t();for(F= 0;F<D.leng th;F++)l=l .getCommon Ancestor(D [F].getPar ent());I=A .config.us eComputedS tate;A=x=v oid 0;        
847   I=void 0== =I||I;for( F=0;F<D.le ngth;F++)f or(H=D[F]; K=H.getPar ent();){if (K.equals( l)){n.push (H);!A&&H. getDirecti on()&&(A=1 );H=H.getD irection(I );null!==x &&(x=x&&x! =H?null:H) ;break}H=K }if(!(1>n. length)){D =n[n.lengt h-1].getNe xt();F=h.c reateEleme nt(this.ty pe);t.push (F);for(I= t=void 0;n .length;)t =n.shift() ,I=h.creat eElement(" li"),H=t,H .is("pre") ||r.test(H .getName() )||"false" ==H.getAtt ribute("co ntentedita ble")?t.ap pendTo(I): (t.copyAtt ributes(I) ,x&&t.getD irection() &&(I.remov eStyle("di rection"), I.removeAt tribute("d ir")),        
848   t.moveChil dren(I),t. remove()), I.appendTo (F);x&&A&& F.setAttri bute("dir" ,x);D?F.in sertBefore (D):F.appe ndTo(l)}}e lse this.s tate==CKED ITOR.TRIST ATE_ON&&f[ x.root.get Name()]&&a .call(this ,b,x,m);fo r(F=0;F<G. length;F++ )c(G[F]);C KEDITOR.do m.element. clearAllMa rkers(m);e .selectBoo kmarks(d); b.focus()} ,refresh:f unction(a, b){var c=b .contains( f,1),d=b.b lockLimit| |b.root;c& &d.contain s(c)?this. setState(c .is(this.t ype)?CKEDI TOR.TRISTA TE_ON:CKED ITOR.TRIST ATE_OFF):t his.setSta te(CKEDITO R.TRISTATE _OFF)}};CK EDITOR.plu gins.add(" list",        
849   {requires: "indentlis t",init:fu nction(a){ a.blockles s||(a.addC ommand("nu mberedlist ",new e("n umberedlis t","ol")), a.addComma nd("bullet edlist",ne w e("bulle tedlist"," ul")),a.ui .addButton &&(a.ui.ad dButton("N umberedLis t",{label: a.lang.lis t.numbered list,comma nd:"number edlist",di rectional: !0,toolbar :"list,10" }),a.ui.ad dButton("B ulletedLis t",{label: a.lang.lis t.bulleted list,comma nd:"bullet edlist",di rectional: !0,toolbar :"list,20" })),a.on(" key",funct ion(b){var  c=b.data. domEvent.g etKey(),e; if("wysiwy g"==a.mode &&        
850   c in{8:1,4 6:1}){var  h=a.getSel ection().g etRanges() [0],l=h&&h .startPath ();if(h&&h .collapsed ){var t=8= =c,r=a.edi table(),C= new CKEDIT OR.dom.wal ker(h.clon e());C.eva luator=fun ction(a){r eturn g(a) &&!n(a)};C .guard=fun ction(a,b) {return!(b &&a.type== CKEDITOR.N ODE_ELEMEN T&&a.is("t able"))};c =h.clone() ;if(t){var  x;(x=l.co ntains(f)) &&h.checkB oundaryOfE lement(x,C KEDITOR.ST ART)&&(x=x .getParent ())&&x.is( "li")&&(x= m(x))?(e=x ,x=x.getPr evious(g), c.moveToPo sition(x&& n(x)?x:e,C KEDITOR.PO SITION_BEF ORE_START) ):(C.range .setStartA t(r,        
851   CKEDITOR.P OSITION_AF TER_START) ,C.range.s etEnd(h.st artContain er,h.start Offset),(x =C.previou s())&&x.ty pe==CKEDIT OR.NODE_EL EMENT&&(x. getName()i n f||x.is( "li"))&&(x .is("li")| |(C.range. selectNode Contents(x ),C.reset( ),C.evalua tor=d,x=C. previous() ),e=x,c.mo veToElemen tEditEnd(e ),c.moveTo Position(c .endPath() .block,CKE DITOR.POSI TION_BEFOR E_END)));i f(e)k(a,c, h),b.cance l();else{v ar A=l.con tains(f);A &&h.checkB oundaryOfE lement(A,C KEDITOR.ST ART)&&(e=A .getFirst( g),h.check BoundaryOf Element(e, CKEDITOR.S TART)&&(x= A.getPrevi ous(g),        
852   m(e)?x&&(h .moveToEle mentEditEn d(x),h.sel ect()):a.e xecCommand ("outdent" ),b.cancel ()))}}else  if(e=l.co ntains("li ")){if(C.r ange.setEn dAt(r,CKED ITOR.POSIT ION_BEFORE _END),t=(r =e.getLast (g))&&d(r) ?r:e,l=0,( x=C.next() )&&x.type= =CKEDITOR. NODE_ELEME NT&&x.getN ame()in f& &x.equals( r)?(l=1,x= C.next()): h.checkBou ndaryOfEle ment(t,CKE DITOR.END) &&(l=2),l& &x){h=h.cl one();h.mo veToElemen tEditStart (x);if(1== l&&(c.opti mize(),!c. startConta iner.equal s(e))){for (e=c.start Container; e.is(CKEDI TOR.dtd.$i nline);)A= e,e=e.getP arent();        
853   A&&c.moveT oPosition( A,CKEDITOR .POSITION_ AFTER_END) }2==l&&(c. moveToPosi tion(c.end Path().blo ck,CKEDITO R.POSITION _BEFORE_EN D),h.endPa th().block &&h.moveTo Position(h .endPath() .block,CKE DITOR.POSI TION_AFTER _START));k (a,c,h);b. cancel()}} else C.ran ge.setEndA t(r,CKEDIT OR.POSITIO N_BEFORE_E ND),(x=C.n ext())&&x. type==CKED ITOR.NODE_ ELEMENT&&x .is(f)&&(x =x.getFirs t(g),l.blo ck&&h.chec kStartOfBl ock()&&h.c heckEndOfB lock()?(l. block.remo ve(),h.mov eToElement EditStart( x),h.selec t()):m(x)? (h.moveToE lementEdit Start(x),h .select()) :        
854   (h=h.clone (),h.moveT oElementEd itStart(x) ,k(a,c,h)) ,b.cancel( ));setTime out(functi on(){a.sel ectionChan ge(1)})}}} ))}})}(),f unction(){ CKEDITOR.p lugins.lis tstyle={re quires:"di alog,conte xtmenu",in it:functio n(a){if(!a .blockless ){var e;e= new CKEDIT OR.dialogC ommand("nu mberedList Style",{re quiredCont ent:"ol",a llowedCont ent:"ol{li st-style-t ype}[start ]"});e=a.a ddCommand( "numberedL istStyle", e);a.addFe ature(e);C KEDITOR.di alog.add(" numberedLi stStyle",t his.path+" dialogs/li ststyle.js ");e=new C KEDITOR.di alogComman d("bullete dListStyle ",        
855   {requiredC ontent:"ul ",allowedC ontent:"ul {list-styl e-type}"}) ;e=a.addCo mmand("bul letedListS tyle",e);a .addFeatur e(e);CKEDI TOR.dialog .add("bull etedListSt yle",this. path+"dial ogs/listst yle.js");a .addMenuGr oup("list" ,108);a.ad dMenuItems ({numbered list:{labe l:a.lang.l iststyle.n umberedTit le,group:" list",comm and:"numbe redListSty le"},bulle tedlist:{l abel:a.lan g.liststyl e.bulleted Title,grou p:"list",c ommand:"bu lletedList Style"}}); a.contextM enu.addLis tener(func tion(a){if (!a||a.isR eadOnly()) return nul l;for(;a;) {var c=        
856   a.getName( );if("ol"= =c)return{ numberedli st:CKEDITO R.TRISTATE _OFF};if(" ul"==c)ret urn{bullet edlist:CKE DITOR.TRIS TATE_OFF}; a=a.getPar ent()}retu rn null})} }};CKEDITO R.plugins. add("lists tyle",CKED ITOR.plugi ns.liststy le)}(),"us e strict", function() {function  a(a,b,c){r eturn n(b) &&n(c)&&c. equals(b.g etNext(fun ction(a){r eturn!(ba( a)||X(a)|| r(a))}))}f unction e( a){this.up per=a[0];t his.lower= a[1];this. set.apply( this,a.sli ce(2))}fun ction b(a) {var b=a.e lement;if( b&&n(b)&&( b=b.getAsc endant(a.t riggers,!0 ))&&a.edit able.conta ins(b)){va r c=        
857   m(b);if("t rue"==c.ge tAttribute ("contente ditable")) return b;i f(c.is(a.t riggers))r eturn c}re turn null} function c (a,b,c){v( a,b);v(a,c );a=b.size .bottom;c= c.size.top ;return a& &c?0|(a+c) /2:a||c}fu nction d(a ,b,c){retu rn b=b[c?" getPreviou s":"getNex t"](functi on(b){retu rn b&&b.ty pe==CKEDIT OR.NODE_TE XT&&!ba(b) ||n(b)&&!r (b)&&!g(a, b)})}funct ion k(a,b, c){return  a>b&&a<c}f unction m( a,b){if(a. data("cke- editable") )return nu ll;for(b|| (a=a.getPa rent());a& &!a.data(" cke-editab le");){if( a.hasAttri bute("cont enteditabl e"))return  a;        
858   a=a.getPar ent()}retu rn null}fu nction f(a ){var b=a. doc,c=G('\ x3cspan co ntentedita ble\x3d"fa lse" style \x3d"'+Q+" position:a bsolute;bo rder-top:1 px dashed  "+a.boxCol or+'"\x3e\ x3c/span\x 3e',b),d=C KEDITOR.ge tUrl(this. path+"imag es/"+(F.hi dpi?"hidpi /":"")+"ic on"+(a.rtl ?"-rtl":"" )+".png"); A(c,{attac h:function (){this.wr ap.getPare nt()||this .wrap.appe ndTo(a.edi table,!0); return thi s},lineChi ldren:[A(G ('\x3cspan  title\x3d "'+a.edito r.lang.mag icline.tit le+'" cont enteditabl e\x3d"fals e"\x3e\x26 #8629;\x3c /span\x3e' ,        
859   b),{base:Q +"height:1 7px;width: 17px;"+(a. rtl?"left" :"right")+ ":17px;bac kground:ur l("+d+") c enter no-r epeat "+a. boxColor+" ;cursor:po inter;"+(F .hc?"font- size: 15px ;line-heig ht:14px;bo rder:1px s olid #fff; text-align :center;": "")+(F.hid pi?"backgr ound-size:  9px 10px; ":""),look s:["top:-8 px; border -radius: 2 px;","top: -17px; bor der-radius : 2px 2px  0px 0px;", "top:-1px;  border-ra dius: 0px  0px 2px 2p x;"]}),A(G (V,b),{bas e:aa+"left :0px;borde r-left-col or:"+a.box Color+";", looks:["bo rder-width :8px 0 8px  8px;top:- 8px",        
860   "border-wi dth:8px 0  0 8px;top: -8px","bor der-width: 0 0 8px 8p x;top:0px" ]}),A(G(V, b),{base:a a+"right:0 px;border- right-colo r:"+a.boxC olor+";",l ooks:["bor der-width: 8px 8px 8p x 0;top:-8 px","borde r-width:8p x 8px 0 0; top:-8px", "border-wi dth:0 8px  8px 0;top: 0px"]})],d etach:func tion(){thi s.wrap.get Parent()&& this.wrap. remove();r eturn this },mouseNea r:function (){v(a,thi s);var b=a .holdDista nce,c=this .size;retu rn c&&k(a. mouse.y,c. top-b,c.bo ttom+b)&&k (a.mouse.x ,c.left-b, c.right+b) ?!0:!1},pl ace:functi on(){var b =        
861   a.view,c=a .editable, d=a.trigge r,f=d.uppe r,e=d.lowe r,g=f||e,h =g.getPare nt(),l={}; this.trigg er=d;f&&v( a,f,!0);e& &v(a,e,!0) ;v(a,h,!0) ;a.inInlin eMode&&z(a ,!0);h.equ als(c)?(l. left=b.scr oll.x,l.ri ght=-b.scr oll.x,l.wi dth=""):(l .left=g.si ze.left-g. size.margi n.left+b.s croll.x-(a .inInlineM ode?b.edit able.left+ b.editable .border.le ft:0),l.wi dth=g.size .outerWidt h+g.size.m argin.left +g.size.ma rgin.right +b.scroll. x,l.right= "");f&&e?l .top=f.siz e.margin.b ottom===e. size.margi n.top?0|f. size.botto m+f.size.m argin.bott om/        
862   2:f.size.m argin.bott om<e.size. margin.top ?f.size.bo ttom+f.siz e.margin.b ottom:f.si ze.bottom+ f.size.mar gin.bottom -e.size.ma rgin.top:f ?e||(l.top =f.size.bo ttom+f.siz e.margin.b ottom):l.t op=e.size. top-e.size .margin.to p;d.is(T)| |k(l.top,b .scroll.y- 15,b.scrol l.y+5)?(l. top=a.inIn lineMode?0 :b.scroll. y,this.loo k(T)):d.is (O)||k(l.t op,b.pane. bottom-5,b .pane.bott om+15)?(l. top=a.inIn lineMode?b .editable. height+b.e ditable.pa dding.top+ b.editable .padding.b ottom:b.pa ne.bottom- 1,this.loo k(O)):(a.i nInlineMod e&&(l.top- =        
863   b.editable .top+b.edi table.bord er.top),th is.look(Y) );a.inInli neMode&&(l .top--,l.t op+=b.edit able.scrol l.top,l.le ft+=b.edit able.scrol l.left);fo r(var m in  l)l[m]=CK EDITOR.too ls.cssLeng th(l[m]);t his.setSty les(l)},lo ok:functio n(a){if(th is.oldLook !=a){for(v ar b=this. lineChildr en.length, c;b--;)(c= this.lineC hildren[b] ).setAttri bute("styl e",c.base+ c.looks[0| a/2]);this .oldLook=a }},wrap:ne w D("span" ,a.doc)}); for(b=c.li neChildren .length;b- -;)c.lineC hildren[b] .appendTo( c);c.look( Y);c.appen dTo(c.wrap );c.unsele ctable();        
864   c.lineChil dren[0].on ("mouseup" ,function( b){c.detac h();l(a,fu nction(b){ var c=a.li ne.trigger ;b[c.is(E) ?"insertBe fore":"ins ertAfter"] (c.is(E)?c .lower:c.u pper)},!0) ;a.editor. focus();F. ie||a.ente rMode==CKE DITOR.ENTE R_BR||a.ho tNode.scro llIntoView ();b.data. preventDef ault(!0)}) ;c.on("mou sedown",fu nction(a){ a.data.pre ventDefaul t(!0)});a. line=c}fun ction l(a, b,c){var d =new CKEDI TOR.dom.ra nge(a.doc) ,f=a.edito r,e;F.ie&& a.enterMod e==CKEDITO R.ENTER_BR ?e=a.doc.c reateText( M):(e=(e=m (a.element ,!0))&&e.d ata("cke-e nter-mode" )||        
865   a.enterMod e,e=new D( K[e],a.doc ),e.is("br ")||a.doc. createText (M).append To(e));c&& f.fire("sa veSnapshot ");b(e);d. moveToPosi tion(e,CKE DITOR.POSI TION_AFTER _START);f. getSelecti on().selec tRanges([d ]);a.hotNo de=e;c&&f. fire("save Snapshot") }function  h(a,c){ret urn{canUnd o:!0,modes :{wysiwyg: 1},exec:fu nction(){f unction f( b){var d=F .ie&&9>F.v ersion?" " :M,e=a.hot Node&&a.ho tNode.getT ext()==d&& a.element. equals(a.h otNode)&&a .lastCmdDi rection=== !!c;l(a,fu nction(d){ e&&a.hotNo de&&a.hotN ode.remove ();d[c?"in sertAfter" :        
866   "insertBef ore"](b);d .setAttrib utes({"dat a-cke-magi cline-hot" :1,"data-c ke-magicli ne-dir":!! c});a.last CmdDirecti on=!!c});F .ie||a.ent erMode==CK EDITOR.ENT ER_BR||a.h otNode.scr ollIntoVie w();a.line .detach()} return fun ction(e){e =e.getSele ction().ge tStartElem ent();var  g;e=e.getA scendant(L ,1);if(!p( a,e)&&e&&! e.equals(a .editable) &&!e.conta ins(a.edit able)){(g= m(e))&&"fa lse"==g.ge tAttribute ("contente ditable")& &(e=g);a.e lement=e;g =d(a,e,!c) ;var h;n(g )&&g.is(a. triggers)& &g.is(J)&& (!d(a,g,!c )||(h=d(a, g,!c))&&n( h)&&        
867   h.is(a.tri ggers))?f( g):(h=b(a, e),n(h)&&( d(a,h,!c)? (e=d(a,h,! c))&&n(e)& &e.is(a.tr iggers)&&f (h):f(h))) }}}()}}fun ction g(a, b){if(!b|| b.type!=CK EDITOR.NOD E_ELEMENT| |!b.$)retu rn!1;var c =a.line;re turn c.wra p.equals(b )||c.wrap. contains(b )}function  n(a){retu rn a&&a.ty pe==CKEDIT OR.NODE_EL EMENT&&a.$ }function  r(a){if(!n (a))return !1;var b;( b=t(a))||( n(a)?(b={l eft:1,righ t:1,center :1},b=!(!b [a.getComp utedStyle( "float")]& &!b[a.getA ttribute(" align")])) :b=!1);ret urn b}func tion t(a){ return!!{a bsolute:1, fixed:1}[a .getComput edStyle("p osition")] }        
868   function q (a,b){retu rn n(b)?b. is(a.trigg ers):null} function p (a,b){if(! b)return!1 ;for(var c =b.getPare nts(1),d=c .length;d- -;)for(var  f=a.tabuL ist.length ;f--;)if(c [d].hasAtt ribute(a.t abuList[f] ))return!0 ;return!1} function u (a,b,c){b= b[c?"getLa st":"getFi rst"](func tion(b){re turn a.isR elevant(b) &&!b.is(U) });if(!b)r eturn!1;v( a,b);retur n c?b.size .top>a.mou se.y:b.siz e.bottom<a .mouse.y}f unction w( a){var b=a .editable, c=a.mouse, d=a.view,f =a.trigger Offset;z(a );var h=c. y>(a.inInl ineMode?d. editable.t op+d.edita ble.height /        
869   2:Math.min (d.editabl e.height,d .pane.heig ht)/2),b=b [h?"getLas t":"getFir st"](funct ion(a){ret urn!(ba(a) ||X(a))}); if(!b)retu rn null;g( a,b)&&(b=a .line.wrap [h?"getPre vious":"ge tNext"](fu nction(a){ return!(ba (a)||X(a)) }));if(!n( b)||r(b)|| !q(a,b))re turn null; v(a,b);ret urn!h&&0<= b.size.top &&k(c.y,0, b.size.top +f)?(a=a.i nInlineMod e||0===d.s croll.y?T: Y,new e([n ull,b,E,P, a])):h&&b. size.botto m<=d.pane. height&&k( c.y,b.size .bottom-f, d.pane.hei ght)?(a=a. inInlineMo de||k(b.si ze.bottom, d.pane.hei ght-f,d.pa ne.height) ?        
870   O:Y,new e( [b,null,N, P,a])):nul l}function  y(a){var  c=a.mouse, f=a.view,g =a.trigger Offset,h=b (a);if(!h) return nul l;v(a,h);v ar g=Math. min(g,0|h. size.outer Height/2), l=[],m,p;i f(k(c.y,h. size.top-1 ,h.size.to p+g))p=!1; else if(k( c.y,h.size .bottom-g, h.size.bot tom+1))p=! 0;else ret urn null;i f(r(h)||u( a,h,p)||h. getParent( ).is(W))re turn null; var t=d(a, h,!p);if(t ){if(t&&t. type==CKED ITOR.NODE_ TEXT)retur n null;if( n(t)){if(r (t)||!q(a, t)||t.getP arent().is (W))return  null;l=[t ,h][p?"rev erse":"con cat"]().co ncat([R,P] )}}else h. equals(a.e ditable[p?        
871   "getLast": "getFirst" ](a.isRele vant))?(z( a),p&&k(c. y,h.size.b ottom-g,f. pane.heigh t)&&k(h.si ze.bottom, f.pane.hei ght-g,f.pa ne.height) ?m=O:k(c.y ,0,h.size. top+g)&&(m =T)):m=Y,l =[null,h][ p?"reverse ":"concat" ]().concat ([p?N:E,P, m,h.equals (a.editabl e[p?"getLa st":"getFi rst"](a.is Relevant)) ?p?O:T:Y]) ;return 0  in l?new e (l):null}f unction B( a,b,c,d){f or(var f=b .getDocume ntPosition (),e={},g= {},h={},l= {},k=ca.le ngth;k--;) e[ca[k]]=p arseInt(b. getCompute dStyle.cal l(b,"borde r-"+ca[k]+ "-width"), 10)||0,h[c a[k]]=pars eInt(b.get ComputedSt yle.call(b ,        
872   "padding-" +ca[k]),10 )||0,g[ca[ k]]=parseI nt(b.getCo mputedStyl e.call(b," margin-"+c a[k]),10)| |0;c&&!d|| C(a,d);l.t op=f.y-(c? 0:a.view.s croll.y);l .left=f.x- (c?0:a.vie w.scroll.x );l.outerW idth=b.$.o ffsetWidth ;l.outerHe ight=b.$.o ffsetHeigh t;l.height =l.outerHe ight-(h.to p+h.bottom +e.top+e.b ottom);l.w idth=l.out erWidth-(h .left+h.ri ght+e.left +e.right); l.bottom=l .top+l.out erHeight;l .right=l.l eft+l.oute rWidth;a.i nInlineMod e&&(l.scro ll={top:b. $.scrollTo p,left:b.$ .scrollLef t});return  A({border :e,padding :h,margin: g,        
873   ignoreScro ll:c},l,!0 )}function  v(a,b,c){ if(!n(b))r eturn b.si ze=null;if (!b.size)b .size={};e lse if(b.s ize.ignore Scroll==c& &b.size.da te>new Dat e-S)return  null;retu rn A(b.siz e,B(a,b,c) ,{date:+ne w Date},!0 )}function  z(a,b){a. view.edita ble=B(a,a. editable,b ,!0)}funct ion C(a,b) {a.view||( a.view={}) ;var c=a.v iew;if(!(! b&&c&&c.da te>new Dat e-S)){var  d=a.win,c= d.getScrol lPosition( ),d=d.getV iewPaneSiz e();A(a.vi ew,{scroll :{x:c.x,y: c.y,width: a.doc.$.do cumentElem ent.scroll Width-d.wi dth,height :a.doc.$.d ocumentEle ment.scrol lHeight-        
874   d.height}, pane:{widt h:d.width, height:d.h eight,bott om:d.heigh t+c.y},dat e:+new Dat e},!0)}}fu nction x(a ,b,c,d){fo r(var f=d, g=d,h=0,l= !1,k=!1,m= a.view.pan e.height,n =a.mouse;n .y+h<m&&0< n.y-h;){l| |(l=b(f,d) );k||(k=b( g,d));!l&& 0<n.y-h&&( f=c(a,{x:n .x,y:n.y-h }));!k&&n. y+h<m&&(g= c(a,{x:n.x ,y:n.y+h}) );if(l&&k) break;h+=2 }return ne w e([f,g,n ull,null]) }CKEDITOR. plugins.ad d("magicli ne",{init: function(a ){var c=a. config,k=c .magicline _triggerOf fset||30,m ={editor:a ,enterMode :c.enterMo de,trigger Offset:k,h oldDistanc e:0|        
875   k*(c.magic line_holdD istance||. 5),boxColo r:c.magicl ine_color| |"#ff0000" ,rtl:"rtl" ==c.conten tsLangDire ction,tabu List:["dat a-cke-hidd en-sel"].c oncat(c.ma gicline_ta buList||[] ),triggers :c.magicli ne_everywh ere?L:{tab le:1,hr:1, div:1,ul:1 ,ol:1,dl:1 ,form:1,bl ockquote:1 }},q,u,v;m .isRelevan t=function (a){return  n(a)&&!g( m,a)&&!r(a )};a.on("c ontentDom" ,function( ){var k=a. editable() ,n=a.docum ent,r=a.wi ndow;A(m,{ editable:k ,inInlineM ode:k.isIn line(),doc :n,win:r,h otNode:nul l},!0);m.b oundary=m. inInlineMo de?m.edita ble:        
876   m.doc.getD ocumentEle ment();k.i s(H.$inlin e)||(m.inI nlineMode& &!t(k)&&k. setStyles( {position: "relative" ,top:null, left:null} ),f.call(t his,m),C(m ),k.attach Listener(a ,"beforeUn doImage",f unction(){ m.line.det ach()}),k. attachList ener(a,"be foreGetDat a",functio n(){m.line .wrap.getP arent()&&( m.line.det ach(),a.on ce("getDat a",functio n(){m.line .attach()} ,null,null ,1E3))},nu ll,null,0) ,k.attachL istener(m. inInlineMo de?n:n.get Window().g etFrame(), "mouseout" ,function( b){if("wys iwyg"==a.m ode)if(m.i nInlineMod e){var c=b .data.$.cl ientX;        
877   b=b.data.$ .clientY;C (m);z(m,!0 );var d=m. view.edita ble,f=m.vi ew.scroll; c>d.left-f .x&&c<d.ri ght-f.x&&b >d.top-f.y &&b<d.bott om-f.y||(c learTimeou t(v),v=nul l,m.line.d etach())}e lse clearT imeout(v), v=null,m.l ine.detach ()}),k.att achListene r(k,"keyup ",function (){m.hidde nMode=0}), k.attachLi stener(k," keydown",f unction(b) {if("wysiw yg"==a.mod e)switch(b .data.getK eystroke() ){case 222 8240:case  16:m.hidde nMode=1,m. line.detac h()}}),k.a ttachListe ner(m.inIn lineMode?k :n,"mousem ove",funct ion(b){u=! 0;if("wysi wyg"==a.mo de&&        
878   !a.readOnl y&&!v){var  c={x:b.da ta.$.clien tX,y:b.dat a.$.client Y};v=setTi meout(func tion(){m.m ouse=c;v=m .trigger=n ull;C(m);u &&!m.hidde nMode&&a.f ocusManage r.hasFocus &&!m.line. mouseNear( )&&(m.elem ent=da(m,! 0))&&((m.t rigger=w(m )||y(m)||e a(m))&&!p( m,m.trigge r.upper||m .trigger.l ower)?m.li ne.attach( ).place(): (m.trigger =null,m.li ne.detach( )),u=!1)}, 30)}}),k.a ttachListe ner(r,"scr oll",funct ion(){"wys iwyg"==a.m ode&&(m.li ne.detach( ),F.webkit &&(m.hidde nMode=1,cl earTimeout (q),q=setT imeout(fun ction(){m. mouseDown| |        
879   (m.hiddenM ode=0)},50 )))}),k.at tachListen er(I?n:r," mousedown" ,function( ){"wysiwyg "==a.mode& &(m.line.d etach(),m. hiddenMode =1,m.mouse Down=1)}), k.attachLi stener(I?n :r,"mouseu p",functio n(){m.hidd enMode=0;m .mouseDown =0}),a.add Command("a ccessPrevi ousSpace", h(m)),a.ad dCommand(" accessNext Space",h(m ,!0)),a.se tKeystroke ([[c.magic line_keyst rokePrevio us,"access PreviousSp ace"],[c.m agicline_k eystrokeNe xt,"access NextSpace" ]]),a.on(" loadSnapsh ot",functi on(){var b ,c,d,f;for (f in{p:1, br:1,div:1 })for(b=a. document.g etElements ByTag(f),        
880   d=b.count( );d--;)if( (c=b.getIt em(d)).dat a("cke-mag icline-hot ")){m.hotN ode=c;m.la stCmdDirec tion="true "===c.data ("cke-magi cline-dir" )?!0:!1;re turn}}),th is.backdoo r={accessF ocusSpace: l,boxTrigg er:e,isLin e:g,getAsc endantTrig ger:b,getN onEmptyNei ghbour:d,g etSize:B,t hat:m,trig gerEdge:y, triggerEdi table:w,tr iggerExpan d:ea})},th is)}});var  A=CKEDITO R.tools.ex tend,D=CKE DITOR.dom. element,G= D.createFr omHtml,F=C KEDITOR.en v,I=CKEDIT OR.env.ie& &9>CKEDITO R.env.vers ion,H=CKED ITOR.dtd,K ={},E=128, N=64,R=32, P=16,T=4,O =        
881   2,Y=1,M="  ",W=H.$lis tItem,U=H. $tableCont ent,J=A({} ,H.$nonEdi table,H.$e mpty),L=H. $block,S=1 00,Q="widt h:0px;heig ht:0px;pad ding:0px;m argin:0px; display:bl ock;z-inde x:9999;col or:#fff;po sition:abs olute;font -size: 0px ;line-heig ht:0px;",a a=Q+"borde r-color:tr ansparent; display:bl ock;border -style:sol id;",V="\x 3cspan\x3e "+M+"\x3c/ span\x3e"; K[CKEDITOR .ENTER_BR] ="br";K[CK EDITOR.ENT ER_P]="p"; K[CKEDITOR .ENTER_DIV ]="div";e. prototype= {set:funct ion(a,b,c) {this.prop erties=a+b +(c||Y);re turn this} ,is:functi on(a){retu rn(this.pr operties&        
882   a)==a}};va r da=funct ion(){func tion a(b,c ){var d=b. $.elementF romPoint(c .x,c.y);re turn d&&d. nodeType?n ew CKEDITO R.dom.elem ent(d):nul l}return f unction(b, c,d){if(!b .mouse)ret urn null;v ar f=b.doc ,e=b.line. wrap;d=d|| b.mouse;va r h=a(f,d) ;c&&g(b,h) &&(e.hide( ),h=a(f,d) ,e.show()) ;return!h| |h.type!=C KEDITOR.NO DE_ELEMENT ||!h.$||F. ie&&9>F.ve rsion&&!b. boundary.e quals(h)&& !b.boundar y.contains (h)?null:h }}(),ba=CK EDITOR.dom .walker.wh itespaces( ),X=CKEDIT OR.dom.wal ker.nodeTy pe(CKEDITO R.NODE_COM MENT),ea=f unction(){ function b (f){var e=        
883   f.element, g,h,l;if(! n(e)||e.co ntains(f.e ditable)|| e.isReadOn ly())retur n null;l=x (f,functio n(a,b){ret urn!b.equa ls(a)},fun ction(a,b) {return da (a,!0,b)}, e);g=l.upp er;h=l.low er;if(a(f, g,h))retur n l.set(R, 8);if(g&&e .contains( g))for(;!g .getParent ().equals( e);)g=g.ge tParent(); else g=e.g etFirst(fu nction(a){ return d(f ,a)});if(h &&e.contai ns(h))for( ;!h.getPar ent().equa ls(e);)h=h .getParent ();else h= e.getLast( function(a ){return d (f,a)});if (!g||!h)re turn null; v(f,g);v(f ,h);if(!k( f.mouse.y, g.size.top ,h.size.bo ttom))retu rn null;        
884   for(var e= Number.MAX _VALUE,m,p ,q,t;h&&!h .equals(g) &&(p=g.get Next(f.isR elevant)); )m=Math.ab s(c(f,g,p) -f.mouse.y ),m<e&&(e= m,q=g,t=p) ,g=p,v(f,g );if(!q||! t||!k(f.mo use.y,q.si ze.top,t.s ize.bottom ))return n ull;l.uppe r=q;l.lowe r=t;return  l.set(R,8 )}function  d(a,b){re turn!(b&&b .type==CKE DITOR.NODE _TEXT||X(b )||r(b)||g (a,b)||b.t ype==CKEDI TOR.NODE_E LEMENT&&b. $&&b.is("b r"))}retur n function (c){var d= b(c),f;if( f=d){f=d.u pper;var e =d.lower;f =!f||!e||r (e)||r(f)| |e.equals( f)||f.equa ls(e)||e.c ontains(f) ||f.contai ns(e)?        
885   !1:q(c,f)& &q(c,e)&&a (c,f,e)?!0 :!1}return  f?d:null} }(),ca=["t op","left" ,"right"," bottom"]}( ),CKEDITOR .config.ma gicline_ke ystrokePre vious=CKED ITOR.CTRL+ CKEDITOR.S HIFT+51,CK EDITOR.con fig.magicl ine_keystr okeNext=CK EDITOR.CTR L+CKEDITOR .SHIFT+52, function() {function  a(a){if(!a ||a.type!= CKEDITOR.N ODE_ELEMEN T||"form"! =a.getName ())return[ ];for(var  b=[],c=["s tyle","cla ssName"],d =0;d<c.len gth;d++){v ar e=a.$.e lements.na medItem(c[ d]);e&&(e= new CKEDIT OR.dom.ele ment(e),b. push([e,e. nextSiblin g]),e.remo ve())}retu rn b}        
886   function e (a,b){if(a &&a.type== CKEDITOR.N ODE_ELEMEN T&&"form"= =a.getName ()&&0<b.le ngth)for(v ar c=b.len gth-1;0<=c ;c--){var  d=b[c][0], e=b[c][1]; e?d.insert Before(e): d.appendTo (a)}}funct ion b(b,c) {var d=a(b ),l={},h=b .$;c||(l[" class"]=h. className| |"",h.clas sName=""); l.inline=h .style.css Text||"";c ||(h.style .cssText=" position:  static; ov erflow: vi sible");e( d);return  l}function  c(b,c){va r d=a(b),l =b.$;"clas s"in c&&(l .className =c["class" ]);"inline "in c&&(l. style.cssT ext=c.inli ne);e(d)}f unction d( a){if(!a.e ditable(). isInline() ){var b=        
887   CKEDITOR.i nstances,c ;for(c in  b){var d=b [c];"wysiw yg"!=d.mod e||d.readO nly||(d=d. document.g etBody(),d .setAttrib ute("conte ntEditable ",!1),d.se tAttribute ("contentE ditable",! 0))}a.edit able().has Focus&&(a. toolbox.fo cus(),a.fo cus())}}CK EDITOR.plu gins.add(" maximize", {init:func tion(a){fu nction e() {var b=h.g etViewPane Size();a.r esize(b.wi dth,b.heig ht,null,!0 )}if(a.ele mentMode!= CKEDITOR.E LEMENT_MOD E_INLINE){ var f=a.la ng,l=CKEDI TOR.docume nt,h=l.get Window(),g ,n,r,t=CKE DITOR.TRIS TATE_OFF;a .addComman d("maximiz e",        
888   {modes:{wy siwyg:!CKE DITOR.env. iOS,source :!CKEDITOR .env.iOS}, readOnly:1 ,editorFoc us:!1,exec :function( ){var q=a. container. getFirst(f unction(a) {return a. type==CKED ITOR.NODE_ ELEMENT&&a .hasClass( "cke_inner ")}),p=a.u i.space("c ontents"); if("wysiwy g"==a.mode ){var u=a. getSelecti on();g=u&& u.getRange s();n=h.ge tScrollPos ition()}el se{var w=a .editable( ).$;g=!CKE DITOR.env. ie&&[w.sel ectionStar t,w.select ionEnd];n= [w.scrollL eft,w.scro llTop]}if( this.state ==CKEDITOR .TRISTATE_ OFF){h.on( "resize",e );r=h.getS crollPosit ion();        
889   for(u=a.co ntainer;u= u.getParen t();)u.set CustomData ("maximize _saved_sty les",b(u)) ,u.setStyl e("z-index ",a.config .baseFloat ZIndex-5); p.setCusto mData("max imize_save d_styles", b(p,!0));q .setCustom Data("maxi mize_saved _styles",b (q,!0));p= {overflow: CKEDITOR.e nv.webkit? "":"hidden ",width:0, height:0}; l.getDocum entElement ().setStyl es(p);!CKE DITOR.env. gecko&&l.g etDocument Element(). setStyle(" position", "fixed");C KEDITOR.en v.gecko&&C KEDITOR.en v.quirks|| l.getBody( ).setStyle s(p);CKEDI TOR.env.ie ?setTimeou t(function (){h.$.scr ollTo(0,        
890   0)},0):h.$ .scrollTo( 0,0);q.set Style("pos ition",CKE DITOR.env. gecko&&CKE DITOR.env. quirks?"fi xed":"abso lute");q.$ .offsetLef t;q.setSty les({"z-in dex":a.con fig.baseFl oatZIndex- 5,left:"0p x",top:"0p x"});q.add Class("cke _maximized ");e();p=q .getDocume ntPosition ();q.setSt yles({left :-1*p.x+"p x",top:-1* p.y+"px"}) ;CKEDITOR. env.gecko& &d(a)}else  if(this.s tate==CKED ITOR.TRIST ATE_ON){h. removeList ener("resi ze",e);for (var u=[p, q],y=0;y<u .length;y+ +)c(u[y],u [y].getCus tomData("m aximize_sa ved_styles ")),u[y].r emoveCusto mData("max imize_save d_styles") ;        
891   for(u=a.co ntainer;u= u.getParen t();)c(u,u .getCustom Data("maxi mize_saved _styles")) ,u.removeC ustomData( "maximize_ saved_styl es");CKEDI TOR.env.ie ?setTimeou t(function (){h.$.scr ollTo(r.x, r.y)},0):h .$.scrollT o(r.x,r.y) ;q.removeC lass("cke_ maximized" );CKEDITOR .env.webki t&&(q.setS tyle("disp lay","inli ne"),setTi meout(func tion(){q.s etStyle("d isplay","b lock")},0) );a.fire(" resize",{o uterHeight :a.contain er.$.offse tHeight,co ntentsHeig ht:p.$.off setHeight, outerWidth :a.contain er.$.offse tWidth})}t his.toggle State();if (u=        
892   this.uiIte ms[0])p=th is.state== CKEDITOR.T RISTATE_OF F?f.maximi ze.maximiz e:f.maximi ze.minimiz e,u=CKEDIT OR.documen t.getById( u._.id),u. getChild(1 ).setHtml( p),u.setAt tribute("t itle",p),u .setAttrib ute("href" ,'javascri pt:void("' +p+'");'); "wysiwyg"= =a.mode?g? (CKEDITOR. env.gecko& &d(a),a.ge tSelection ().selectR anges(g),( w=a.getSel ection().g etStartEle ment())&&w .scrollInt oView(!0)) :h.$.scrol lTo(n.x,n. y):(g&&(w. selectionS tart=g[0], w.selectio nEnd=g[1]) ,w.scrollL eft=n[0],w .scrollTop =n[1]);g=n =null;t=th is.state;a .fire("max imize",        
893   this.state )},canUndo :!1});a.ui .addButton &&a.ui.add Button("Ma ximize",{l abel:f.max imize.maxi mize,comma nd:"maximi ze",toolba r:"tools,1 0"});a.on( "mode",fun ction(){va r b=a.getC ommand("ma ximize");b .setState( b.state==C KEDITOR.TR ISTATE_DIS ABLED?CKED ITOR.TRIST ATE_DISABL ED:t)},nul l,null,100 )}}})}(),C KEDITOR.pl ugins.add( "newpage", {init:func tion(a){a. addCommand ("newpage" ,{modes:{w ysiwyg:1,s ource:1},e xec:functi on(a){var  b=this;a.s etData(a.c onfig.newp age_html|| "",functio n(){a.focu s();setTim eout(funct ion(){a.fi re("afterC ommandExec ",        
894   {name:"new page",comm and:b});a. selectionC hange()},2 00)})},asy nc:!0});a. ui.addButt on&&a.ui.a ddButton(" NewPage",{ label:a.la ng.newpage .toolbar,c ommand:"ne wpage",too lbar:"docu ment,20"}) }}),"use s trict",fun ction(){fu nction a(a ){return{" aria-label ":a,"class ":"cke_pag ebreak",co ntentedita ble:"false ","data-ck e-display- name":"pag ebreak","d ata-cke-pa gebreak":1 ,style:"pa ge-break-a fter: alwa ys",title: a}}CKEDITO R.plugins. add("pageb reak",{req uires:"fak eobjects", onLoad:fun ction(){va r a=("back ground:url ("+CKEDITO R.getUrl(t his.path+        
895   "images/pa gebreak.gi f")+") no- repeat cen ter center ;clear:bot h;width:10 0%;border- top:#999 1 px dotted; border-bot tom:#999 1 px dotted; padding:0; height:7px ;cursor:de fault;").r eplace(/;/ g," !impor tant;");CK EDITOR.add Css("div.c ke_pagebre ak{"+a+"}" )},init:fu nction(a){ a.blockles s||(a.addC ommand("pa gebreak",C KEDITOR.pl ugins.page breakCmd), a.ui.addBu tton&&a.ui .addButton ("PageBrea k",{label: a.lang.pag ebreak.too lbar,comma nd:"pagebr eak",toolb ar:"insert ,70"}),CKE DITOR.env. webkit&&a. on("conten tDom",func tion(){a.d ocument.on ("click",        
896   function(b ){b=b.data .getTarget ();b.is("d iv")&&b.ha sClass("ck e_pagebrea k")&&a.get Selection( ).selectEl ement(b)}) }))},after Init:funct ion(e){fun ction b(b) {CKEDITOR. tools.exte nd(b.attri butes,a(e. lang.pageb reak.alt), !0);b.chil dren.lengt h=0}var c= e.dataProc essor,d=c& &c.dataFil ter,c=c&&c .htmlFilte r,k=/page- break-afte r\s*:\s*al ways/i,m=/ display\s* :\s*none/i ;c&&c.addR ules({attr ibutes:{"c lass":func tion(a,b){ var c=a.re place("cke _pagebreak ","");if(c !=a){var d =CKEDITOR. htmlParser .fragment. fromHtml(' \x3cspan s tyle\x3d"d isplay: no ne;"\x3e\x 26nbsp;\x3 c/span\x3e ').childre n[0];        
897   b.children .length=0; b.add(d);d =b.attribu tes;delete  d["aria-l abel"];del ete d.cont enteditabl e;delete d .title}ret urn c}}},{ applyToAll :!0,priori ty:5});d&& d.addRules ({elements :{div:func tion(a){if (a.attribu tes["data- cke-pagebr eak"])b(a) ;else if(k .test(a.at tributes.s tyle)){var  c=a.child ren[0];c&& "span"==c. name&&m.te st(c.attri butes.styl e)&&b(a)}} }})}});CKE DITOR.plug ins.pagebr eakCmd={ex ec:functio n(e){var b =e.documen t.createEl ement("div ",{attribu tes:a(e.la ng.pagebre ak.alt)}); e.insertEl ement(b)}, context:"d iv",        
898   allowedCon tent:{div: {styles:"! page-break -after"},s pan:{match :function( a){return( a=a.parent )&&"div"== a.name&&a. styles&&a. styles["pa ge-break-a fter"]},st yles:"disp lay"}},req uiredConte nt:"div{pa ge-break-a fter}"}}() ,function( ){function  a(a,c,d){ var e=CKED ITOR.clean Word;e?d() :(a=CKEDIT OR.getUrl( a.config.p asteFromWo rdCleanupF ile||c+"fi lter/defau lt.js"),CK EDITOR.scr iptLoader. load(a,d,n ull,!0));r eturn!e}fu nction e(a ){a.data.t ype="html" }CKEDITOR. plugins.ad d("pastefr omword",{r equires:"c lipboard", init:funct ion(b){var  c=        
899   0,d=this.p ath;b.addC ommand("pa stefromwor d",{canUnd o:!1,async :!0,exec:f unction(a) {var b=thi s;c=1;a.on ce("before Paste",e); a.getClipb oardData({ title:a.la ng.pastefr omword.tit le},functi on(c){c&&a .fire("pas te",{type: "html",dat aValue:c.d ataValue,m ethod:"pas te",dataTr ansfer:CKE DITOR.plug ins.clipbo ard.initPa steDataTra nsfer()}); a.fire("af terCommand Exec",{nam e:"pastefr omword",co mmand:b,re turnValue: !!c})})}}) ;b.ui.addB utton&&b.u i.addButto n("PasteFr omWord",{l abel:b.lan g.pastefro mword.tool bar,comman d:"pastefr omword",        
900   toolbar:"c lipboard,5 0"});b.on( "pasteStat e",functio n(a){b.get Command("p astefromwo rd").setSt ate(a.data )});b.on(" paste",fun ction(e){v ar m=e.dat a,f=m.data Value;if(f &&(c||/(cl ass=\"?Mso |style=\"[ ^\"]*\bmso \-|w:WordD ocument)/. test(f))){ m.dontFilt er=!0;var  l=a(b,d,fu nction(){i f(l)b.fire ("paste",m );else if( !b.config. pasteFromW ordPromptC leanup||c| |confirm(b .lang.past efromword. confirmCle anup))m.da taValue=CK EDITOR.cle anWord(f,b );c=0});l& &e.cancel( )}},null,n ull,3)}})} (),functio n(){var a= {canUndo:! 1,async:!0 ,        
901   exec:funct ion(e){e.g etClipboar dData({tit le:e.lang. pastetext. title},fun ction(b){b &&e.fire(" paste",{ty pe:"text", dataValue: b.dataValu e,method:" paste",dat aTransfer: CKEDITOR.p lugins.cli pboard.ini tPasteData Transfer() });e.fire( "afterComm andExec",{ name:"past etext",com mand:a,ret urnValue:! !b})})}};C KEDITOR.pl ugins.add( "pastetext ",{require s:"clipboa rd",init:f unction(e) {e.addComm and("paste text",a);e .ui.addBut ton&&e.ui. addButton( "PasteText ",{label:e .lang.past etext.butt on,command :"pastetex t",toolbar :"clipboar d,40"});        
902   if(e.confi g.forcePas teAsPlainT ext)e.on(" beforePast e",functio n(a){"html "!=a.data. type&&(a.d ata.type=" text")});e .on("paste State",fun ction(a){e .getComman d("pastete xt").setSt ate(a.data )})}})}(), function() {var a,e={ modes:{wys iwyg:1,sou rce:1},can Undo:!1,re adOnly:1,e xec:functi on(b){var  c,d=b.conf ig,e=d.bas eHref?'\x3 cbase href \x3d"'+d.b aseHref+'" /\x3e':""; if(d.fullP age)c=b.ge tData().re place(/<he ad>/,"$\x2 6"+e).repl ace(/[^>]* (?=<\/titl e>)/,"$\x2 6 \x26mdas h; "+b.lan g.preview. preview);e lse{var d= "\x3cbody  ",        
903   m=b.docume nt&&b.docu ment.getBo dy();m&&(m .getAttrib ute("id")& &(d+='id\x 3d"'+m.get Attribute( "id")+'" ' ),m.getAtt ribute("cl ass")&&(d+ ='class\x3 d"'+m.getA ttribute(" class")+'"  '));d+="\ x3e";c=b.c onfig.docT ype+'\x3ch tml dir\x3 d"'+b.conf ig.content sLangDirec tion+'"\x3 e\x3chead\ x3e'+e+"\x 3ctitle\x3 e"+b.lang. preview.pr eview+"\x3 c/title\x3 e"+CKEDITO R.tools.bu ildStyleHt ml(b.confi g.contents Css)+"\x3c /head\x3e" +d+b.getDa ta()+"\x3c /body\x3e\ x3c/html\x 3e"}e=640; d=420;m=80 ;try{var f =window.sc reen,e=Mat h.round(.8 *        
904   f.width),d =Math.roun d(.7*f.hei ght),m=Mat h.round(.1 *f.width)} catch(l){} if(!1===b. fire("cont entPreview ",b={dataV alue:c}))r eturn!1;va r f="",h;C KEDITOR.en v.ie&&(win dow._cke_h tmlToLoad= b.dataValu e,h="javas cript:void ( (functio n(){docume nt.open(); "+("("+CKE DITOR.tool s.fixDomai n+")();"). replace(/\ /\/.*?\n/g ,"").repla ce(/parent \./g,"wind ow.opener. ")+"docume nt.write(  window.ope ner._cke_h tmlToLoad  );document .close();w indow.open er._cke_ht mlToLoad \ x3d null;} )() )",f=" ");CKEDITO R.env.geck o&&(window ._cke_html ToLoad=        
905   b.dataValu e,f=CKEDIT OR.getUrl( a+"preview .html"));f =window.op en(f,null, "toolbar\x 3dyes,loca tion\x3dno ,status\x3 dyes,menub ar\x3dyes, scrollbars \x3dyes,re sizable\x3 dyes,width \x3d"+e+", height\x3d "+d+",left \x3d"+m);C KEDITOR.en v.ie&&f&&( f.location =h);CKEDIT OR.env.ie| |CKEDITOR. env.gecko| |(h=f.docu ment,h.ope n(),h.writ e(b.dataVa lue),h.clo se());retu rn!0}};CKE DITOR.plug ins.add("p review",{i nit:functi on(b){b.el ementMode! =CKEDITOR. ELEMENT_MO DE_INLINE& &(a=this.p ath,b.addC ommand("pr eview",e), b.ui.addBu tton&&b.ui .addButton ("Preview" ,        
906   {label:b.l ang.previe w.preview, command:"p review",to olbar:"doc ument,40"} ))}})}(),C KEDITOR.pl ugins.add( "print",{i nit:functi on(a){a.el ementMode! =CKEDITOR. ELEMENT_MO DE_INLINE& &(a.addCom mand("prin t",CKEDITO R.plugins. print),a.u i.addButto n&&a.ui.ad dButton("P rint",{lab el:a.lang. print.tool bar,comman d:"print", toolbar:"d ocument,50 "}))}}),CK EDITOR.plu gins.print ={exec:fun ction(a){C KEDITOR.en v.gecko?a. window.$.p rint():a.d ocument.$. execComman d("Print") },canUndo: !1,readOnl y:1,modes: {wysiwyg:1 }},CKEDITO R.plugins. add("remov eformat",        
907   {init:func tion(a){a. addCommand ("removeFo rmat",CKED ITOR.plugi ns.removef ormat.comm ands.remov eformat);a .ui.addBut ton&&a.ui. addButton( "RemoveFor mat",{labe l:a.lang.r emoveforma t.toolbar, command:"r emoveForma t",toolbar :"cleanup, 10"})}}),C KEDITOR.pl ugins.remo veformat={ commands:{ removeform at:{exec:f unction(a) {for(var e =a._.remov eFormatReg ex||(a._.r emoveForma tRegex=new  RegExp("^ (?:"+a.con fig.remove FormatTags .replace(/ ,/g,"|")+" )$","i")), b=a._.remo veAttribut es||(a._.r emoveAttri butes=a.co nfig.remov eFormatAtt ributes.sp lit(",")),        
908   c=CKEDITOR .plugins.r emoveforma t.filter,d =a.getSele ction().ge tRanges(), k=d.create Iterator() ,m=functio n(a){retur n a.type== CKEDITOR.N ODE_ELEMEN T},f;f=k.g etNextRang e();){f.co llapsed||f .enlarge(C KEDITOR.EN LARGE_ELEM ENT);var l =f.createB ookmark(), h=l.startN ode,g=l.en dNode,n=fu nction(b){ for(var d= a.elementP ath(b),f=d .elements, g=1,h;(h=f [g])&&!h.e quals(d.bl ock)&&!h.e quals(d.bl ockLimit); g++)e.test (h.getName ())&&c(a,h )&&b.break Parent(h)} ;n(h);if(g )for(n(g), h=h.getNex tSourceNod e(!0,CKEDI TOR.NODE_E LEMENT);h& &        
909   !h.equals( g);)if(h.i sReadOnly( )){if(h.ge tPosition( g)&CKEDITO R.POSITION _CONTAINS) break;h=h. getNext(m) }else n=h. getNextSou rceNode(!1 ,CKEDITOR. NODE_ELEME NT),"img"= =h.getName ()&&h.data ("cke-real element")| |!c(a,h)|| (e.test(h. getName()) ?h.remove( 1):(h.remo veAttribut es(b),a.fi re("remove FormatClea nup",h))), h=n;f.move ToBookmark (l)}a.forc eNextSelec tionCheck( );a.getSel ection().s electRange s(d)}}},fi lter:funct ion(a,e){f or(var b=a ._.removeF ormatFilte rs||[],c=0 ;c<b.lengt h;c++)if(! 1===b[c](e ))return!1 ;return!0} },        
910   CKEDITOR.e ditor.prot otype.addR emoveForma tFilter=fu nction(a){ this._.rem oveFormatF ilters||(t his._.remo veFormatFi lters=[]); this._.rem oveFormatF ilters.pus h(a)},CKED ITOR.confi g.removeFo rmatTags=" b,big,cite ,code,del, dfn,em,fon t,i,ins,kb d,q,s,samp ,small,spa n,strike,s trong,sub, sup,tt,u,v ar",CKEDIT OR.config. removeForm atAttribut es="class, style,lang ,width,hei ght,align, hspace,val ign",CKEDI TOR.plugin s.add("res ize",{init :function( a){functio n e(b){var  d=l.width ,e=l.heigh t,m=d+(b.d ata.$.scre enX-f.x)*( "rtl"==k?- 1:        
911   1);b=e+(b. data.$.scr eenY-f.y); h&&(d=Math .max(c.res ize_minWid th,Math.mi n(m,c.resi ze_maxWidt h)));g&&(e =Math.max( c.resize_m inHeight,M ath.min(b, c.resize_m axHeight)) );a.resize (h?d:null, e)}functio n b(){CKED ITOR.docum ent.remove Listener(" mousemove" ,e);CKEDIT OR.documen t.removeLi stener("mo useup",b); a.document &&(a.docum ent.remove Listener(" mousemove" ,e),a.docu ment.remov eListener( "mouseup", b))}var c= a.config,d =a.ui.spac eId("resiz er"),k=a.e lement?a.e lement.get Direction( 1):"ltr";! c.resize_d ir&&(c.res ize_dir="v ertical");        
912   void 0===c .resize_ma xWidth&&(c .resize_ma xWidth=3E3 );void 0== =c.resize_ maxHeight& &(c.resize _maxHeight =3E3);void  0===c.res ize_minWid th&&(c.res ize_minWid th=750);vo id 0===c.r esize_minH eight&&(c. resize_min Height=250 );if(!1!== c.resize_e nabled){va r m=null,f ,l,h=("bot h"==c.resi ze_dir||"h orizontal" ==c.resize _dir)&&c.r esize_minW idth!=c.re size_maxWi dth,g=("bo th"==c.res ize_dir||" vertical"= =c.resize_ dir)&&c.re size_minHe ight!=c.re size_maxHe ight,n=CKE DITOR.tool s.addFunct ion(functi on(d){m||( m=a.getRes izable()); l=        
913   {width:m.$ .offsetWid th||0,heig ht:m.$.off setHeight| |0};f={x:d .screenX,y :d.screenY };c.resize _minWidth> l.width&&( c.resize_m inWidth=l. width);c.r esize_minH eight>l.he ight&&(c.r esize_minH eight=l.he ight);CKED ITOR.docum ent.on("mo usemove",e );CKEDITOR .document. on("mouseu p",b);a.do cument&&(a .document. on("mousem ove",e),a. document.o n("mouseup ",b));d.pr eventDefau lt&&d.prev entDefault ()});a.on( "destroy", function() {CKEDITOR. tools.remo veFunction (n)});a.on ("uiSpace" ,function( b){if("bot tom"==b.da ta.space){ var c="";h &&        
914   !g&&(c=" c ke_resizer _horizonta l");!h&&g& &(c=" cke_ resizer_ve rtical");v ar f='\x3c span id\x3 d"'+d+'" c lass\x3d"c ke_resizer '+c+" cke_ resizer_"+ k+'" title \x3d"'+CKE DITOR.tool s.htmlEnco de(a.lang. common.res ize)+'" on mousedown\ x3d"CKEDIT OR.tools.c allFunctio n('+n+', e vent)"\x3e '+("ltr"== k?"◢":"◣") +"\x3c/spa n\x3e";"lt r"==k&&"lt r"==c?b.da ta.html+=f :b.data.ht ml=f+b.dat a.html}},a ,null,100) ;a.on("max imize",fun ction(b){a .ui.space( "resizer") [b.data==C KEDITOR.TR ISTATE_ON? "hide":"sh ow"]()})}} }),functio n(){var a= {readOnly: 1,        
915   exec:funct ion(a){if( a.fire("sa ve")&&(a=a .element.$ .form))try {a.submit( )}catch(b) {a.submit. click&&a.s ubmit.clic k()}}};CKE DITOR.plug ins.add("s ave",{init :function( e){e.eleme ntMode==CK EDITOR.ELE MENT_MODE_ REPLACE&&( e.addComma nd("save", a).modes={ wysiwyg:!! e.element. $.form},e. ui.addButt on&&e.ui.a ddButton(" Save",{lab el:e.lang. save.toolb ar,command :"save",to olbar:"doc ument,10"} ))}})}(),f unction(){ CKEDITOR.p lugins.add ("selectal l",{init:f unction(a) {a.addComm and("selec tAll",{mod es:{wysiwy g:1,source :1},exec:f unction(a) {var b=        
916   a.editable ();if(b.is ("textarea "))a=b.$,C KEDITOR.en v.ie?a.cre ateTextRan ge().execC ommand("Se lectAll"): (a.selecti onStart=0, a.selectio nEnd=a.val ue.length) ,a.focus() ;else{if(b .is("body" ))a.docume nt.$.execC ommand("Se lectAll",! 1,null);el se{var c=a .createRan ge();c.sel ectNodeCon tents(b);c .select()} a.forceNex tSelection Check();a. selectionC hange()}}, canUndo:!1 });a.ui.ad dButton&&a .ui.addBut ton("Selec tAll",{lab el:a.lang. selectall. toolbar,co mmand:"sel ectAll",to olbar:"sel ection,10" })}})}(),f unction(){ var a={rea dOnly:1,        
917   preserveSt ate:!0,edi torFocus:! 1,exec:fun ction(a){t his.toggle State();th is.refresh (a)},refre sh:functio n(a){if(a. document){ var b=this .state!=CK EDITOR.TRI STATE_ON|| a.elementM ode==CKEDI TOR.ELEMEN T_MODE_INL INE&&!a.fo cusManager .hasFocus? "removeCla ss":"attac hClass";a. editable() [b]("cke_s how_blocks ")}}};CKED ITOR.plugi ns.add("sh owblocks", {onLoad:fu nction(){v ar a="p di v pre addr ess blockq uote h1 h2  h3 h4 h5  h6".split( " "),b,c,d ,k,m=CKEDI TOR.getUrl (this.path ),f=!(CKED ITOR.env.i e&&9>CKEDI TOR.env.ve rsion),l=f ?        
918   ":not([con tenteditab le\x3dfals e]):not(.c ke_show_bl ocks_off)" :"",h,g;fo r(b=c=d=k= "";h=a.pop ();)g=a.le ngth?",":" ",b+=".cke _show_bloc ks "+h+l+g ,d+=".cke_ show_block s.cke_cont ents_ltr " +h+l+g,k+= ".cke_show _blocks.ck e_contents _rtl "+h+l +g,c+=".ck e_show_blo cks "+h+l+ "{backgrou nd-image:u rl("+CKEDI TOR.getUrl (m+"images /block_"+h +".png")+" )}";CKEDIT OR.addCss( (b+"{backg round-repe at:no-repe at;border: 1px dotted  gray;padd ing-top:8p x}").conca t(c,d+"{ba ckground-p osition:to p left;pad ding-left: 8px}",k+"{ background -position: top right; padding-ri ght:8px}") );        
919   f||CKEDITO R.addCss(" .cke_show_ blocks [co ntentedita ble\x3dfal se],.cke_s how_blocks  .cke_show _blocks_of f{border:n one;paddin g-top:0;ba ckground-i mage:none} .cke_show_ blocks.cke _contents_ rtl [conte nteditable \x3dfalse] ,.cke_show _blocks.ck e_contents _rtl .cke_ show_block s_off{padd ing-right: 0}.cke_sho w_blocks.c ke_content s_ltr [con tenteditab le\x3dfals e],.cke_sh ow_blocks. cke_conten ts_ltr .ck e_show_blo cks_off{pa dding-left :0}")},ini t:function (e){functi on b(){c.r efresh(e)} if(!e.bloc kless){var  c=e.addCo mmand("sho wblocks",        
920   a);c.canUn do=!1;e.co nfig.start upOutlineB locks&&c.s etState(CK EDITOR.TRI STATE_ON); e.ui.addBu tton&&e.ui .addButton ("ShowBloc ks",{label :e.lang.sh owblocks.t oolbar,com mand:"show blocks",to olbar:"too ls,20"});e .on("mode" ,function( ){c.state! =CKEDITOR. TRISTATE_D ISABLED&&c .refresh(e )});e.elem entMode==C KEDITOR.EL EMENT_MODE _INLINE&&( e.on("focu s",b),e.on ("blur",b) );e.on("co ntentDom", function() {c.state!= CKEDITOR.T RISTATE_DI SABLED&&c. refresh(e) })}}})}(), function() {var a={pr eserveStat e:!0,edito rFocus:!1, readOnly:1 ,        
921   exec:funct ion(a){thi s.toggleSt ate();this .refresh(a )},refresh :function( a){if(a.do cument){va r b=this.s tate==CKED ITOR.TRIST ATE_ON?"at tachClass" :"removeCl ass";a.edi table()[b] ("cke_show _borders") }}};CKEDIT OR.plugins .add("show borders",{ modes:{wys iwyg:1},on Load:funct ion(){var  a;a=(CKEDI TOR.env.ie 6Compat?[" .%1 table. %2,",".%1  table.%2 t d, .%1 tab le.%2 th", "{","borde r : #d3d3d 3 1px dott ed","}"]:" .%1 table. %2,;.%1 ta ble.%2 \x3 e tr \x3e  td, .%1 ta ble.%2 \x3 e tr \x3e  th,;.%1 ta ble.%2 \x3 e tbody \x 3e tr \x3e  td, .%1 t able.%2 \x 3e tbody \ x3e tr \x3 e th,;.%1  table.%2 \ x3e thead  \x3e tr \x 3e td, .%1  table.%2  \x3e thead  \x3e tr \ x3e th,;.% 1 table.%2  \x3e tfoo t \x3e tr  \x3e td, . %1 table.% 2 \x3e tfo ot \x3e tr  \x3e th;{ ;border :  #d3d3d3 1p x dotted;} ".split("; ")).join(" ").replace (/%2/g,        
922   "cke_show_ border").r eplace(/%1 /g,"cke_sh ow_borders  ");CKEDIT OR.addCss( a)},init:f unction(e) {var b=e.a ddCommand( "showborde rs",a);b.c anUndo=!1; !1!==e.con fig.startu pShowBorde rs&&b.setS tate(CKEDI TOR.TRISTA TE_ON);e.o n("mode",f unction(){ b.state!=C KEDITOR.TR ISTATE_DIS ABLED&&b.r efresh(e)} ,null,null ,100);e.on ("contentD om",functi on(){b.sta te!=CKEDIT OR.TRISTAT E_DISABLED &&b.refres h(e)});e.o n("removeF ormatClean up",functi on(a){a=a. data;e.get Command("s howborders ").state== CKEDITOR.T RISTATE_ON &&a.is("ta ble")&&(!a .hasAttrib ute("borde r")||        
923   0>=parseIn t(a.getAtt ribute("bo rder"),10) )&&a.addCl ass("cke_s how_border ")})},afte rInit:func tion(a){va r b=a.data Processor; a=b&&b.dat aFilter;b= b&&b.htmlF ilter;a&&a .addRules( {elements: {table:fun ction(a){a =a.attribu tes;var b= a["class"] ,e=parseIn t(a.border ,10);e&&!( 0>=e)||b&& -1!=b.inde xOf("cke_s how_border ")||(a["cl ass"]=(b|| "")+" cke_ show_borde r")}}});b& &b.addRule s({element s:{table:f unction(a) {a=a.attri butes;var  b=a["class "];b&&(a[" class"]=b. replace("c ke_show_bo rder",""). replace(/\ s{2}/," ") .replace(/ ^\s+|\s+$/ ,        
924   ""))}}})}} );CKEDITOR .on("dialo gDefinitio n",functio n(a){var b =a.data.na me;if("tab le"==b||"t ableProper ties"==b)i f(a=a.data .definitio n,b=a.getC ontents("i nfo").get( "txtBorder "),b.commi t=CKEDITOR .tools.ove rride(b.co mmit,funct ion(a){ret urn functi on(b,e){a. apply(this ,arguments );var m=pa rseInt(thi s.getValue (),10);e[! m||0>=m?"a ddClass":" removeClas s"]("cke_s how_border ")}}),a=(a =a.getCont ents("adva nced"))&&a .get("advC SSClasses" ))a.setup= CKEDITOR.t ools.overr ide(a.setu p,function (a){return  function( ){a.apply( this,        
925   arguments) ;this.setV alue(this. getValue() .replace(/ cke_show_b order/,"") )}}),a.com mit=CKEDIT OR.tools.o verride(a. commit,fun ction(a){r eturn func tion(b,e){ a.apply(th is,argumen ts);parseI nt(e.getAt tribute("b order"),10 )||e.addCl ass("cke_s how_border ")}})})}() ,CKEDITOR. plugins.ad d("smiley" ,{requires :"dialog", init:funct ion(a){a.c onfig.smil ey_path=a. config.smi ley_path|| this.path+ "images/"; a.addComma nd("smiley ",new CKED ITOR.dialo gCommand(" smiley",{a llowedCont ent:"img[a lt,height, !src,title ,width]",r equiredCon tent:"img" }));        
926   a.ui.addBu tton&&a.ui .addButton ("Smiley", {label:a.l ang.smiley .toolbar,c ommand:"sm iley",tool bar:"inser t,50"});CK EDITOR.dia log.add("s miley",thi s.path+"di alogs/smil ey.js")}}) ,CKEDITOR. config.smi ley_images ="regular_ smile.png  sad_smile. png wink_s mile.png t eeth_smile .png confu sed_smile. png tongue _smile.png  embarrass ed_smile.p ng omg_smi le.png wha tchutalkin gabout_smi le.png ang ry_smile.p ng angel_s mile.png s hades_smil e.png devi l_smile.pn g cry_smil e.png ligh tbulb.png  thumbs_dow n.png thum bs_up.png  heart.png  broken_hea rt.png kis s.png enve lope.png". split(" ") ,        
927   CKEDITOR.c onfig.smil ey_descrip tions="smi ley;sad;wi nk;laugh;f rown;cheek y;blush;su rprise;ind ecision;an gry;angel; cool;devil ;crying;en lightened; no;yes;hea rt;broken  heart;kiss ;mail".spl it(";"),fu nction(){C KEDITOR.pl ugins.add( "sourceare a",{init:f unction(e) {function  b(){var a= d&&this.eq uals(CKEDI TOR.docume nt.getActi ve());this .hide();th is.setStyl e("height" ,this.getP arent().$. clientHeig ht+"px");t his.setSty le("width" ,this.getP arent().$. clientWidt h+"px");th is.show(); a&&this.fo cus()}if(e .elementMo de!=CKEDIT OR.ELEMENT _MODE_INLI NE){var c=        
928   CKEDITOR.p lugins.sou rcearea;e. addMode("s ource",fun ction(c){v ar d=e.ui. space("con tents").ge tDocument( ).createEl ement("tex tarea");d. setStyles( CKEDITOR.t ools.exten d({width:C KEDITOR.en v.ie7Compa t?"99%":"1 00%",heigh t:"100%",r esize:"non e",outline :"none","t ext-align" :"left"},C KEDITOR.to ols.cssVen dorPrefix( "tab-size" ,e.config. sourceArea TabSize||4 )));d.setA ttribute(" dir","ltr" );d.addCla ss("cke_so urce").add Class("cke _reset").a ddClass("c ke_enable_ context_me nu");e.ui. space("con tents").ap pend(d);d= e.editable (new a(e,        
929   d));d.setD ata(e.getD ata(1));CK EDITOR.env .ie&&(d.at tachListen er(e,"resi ze",b,d),d .attachLis tener(CKED ITOR.docum ent.getWin dow(),"res ize",b,d), CKEDITOR.t ools.setTi meout(b,0, d));e.fire ("ariaWidg et",this); c()});e.ad dCommand(" source",c. commands.s ource);e.u i.addButto n&&e.ui.ad dButton("S ource",{la bel:e.lang .sourceare a.toolbar, command:"s ource",too lbar:"mode ,10"});e.o n("mode",f unction(){ e.getComma nd("source ").setStat e("source" ==e.mode?C KEDITOR.TR ISTATE_ON: CKEDITOR.T RISTATE_OF F)});var d =CKEDITOR. env.ie&&9= =        
930   CKEDITOR.e nv.version }}});var a =CKEDITOR. tools.crea teClass({b ase:CKEDIT OR.editabl e,proto:{s etData:fun ction(a){t his.setVal ue(a);this .status="r eady";this .editor.fi re("dataRe ady")},get Data:funct ion(){retu rn this.ge tValue()}, insertHtml :function( ){},insert Element:fu nction(){} ,insertTex t:function (){},setRe adOnly:fun ction(a){t his[(a?"se t":"remove ")+"Attrib ute"]("rea dOnly","re adonly")}, detach:fun ction(){a. baseProto. detach.cal l(this);th is.clearCu stomData() ;this.remo ve()}}})}( ),CKEDITOR .plugins.s ourcearea= {commands: {source:{m odes:{wysi wyg:1,        
931   source:1}, editorFocu s:!1,readO nly:1,exec :function( a){"wysiwy g"==a.mode &&a.fire(" saveSnapsh ot");a.get Command("s ource").se tState(CKE DITOR.TRIS TATE_DISAB LED);a.set Mode("sour ce"==a.mod e?"wysiwyg ":"source" )},canUndo :!1}}},CKE DITOR.plug ins.add("s pecialchar ",{availab leLangs:{a f:1,ar:1,b g:1,ca:1,c s:1,cy:1,d a:1,de:1,e l:1,en:1," en-gb":1,e o:1,es:1,e t:1,fa:1,f i:1,fr:1," fr-ca":1,g l:1,he:1,h r:1,hu:1,i d:1,it:1,j a:1,km:1,k o:1,ku:1,l t:1,lv:1,n b:1,nl:1,n o:1,pl:1,p t:1,"pt-br ":1,ru:1,s i:1,sk:1,s l:1,sq:1,s v:1,th:1,t r:1,        
932   tt:1,ug:1, uk:1,vi:1, zh:1,"zh-c n":1},requ ires:"dial og",init:f unction(a) {var e=thi s;CKEDITOR .dialog.ad d("special char",this .path+"dia logs/speci alchar.js" );a.addCom mand("spec ialchar",{ exec:funct ion(){var  b=a.langCo de,b=e.ava ilableLang s[b]?b:e.a vailableLa ngs[b.repl ace(/-.*/, "")]?b.rep lace(/-.*/ ,""):"en"; CKEDITOR.s criptLoade r.load(CKE DITOR.getU rl(e.path+ "dialogs/l ang/"+b+". js"),funct ion(){CKED ITOR.tools .extend(a. lang.speci alchar,e.l angEntries [b]);a.ope nDialog("s pecialchar ")})},mode s:{wysiwyg :1},canUnd o:!1});        
933   a.ui.addBu tton&&a.ui .addButton ("SpecialC har",{labe l:a.lang.s pecialchar .toolbar,c ommand:"sp ecialchar" ,toolbar:" insert,50" })}}),CKED ITOR.confi g.specialC hars="! \x 26quot; #  $ % \x26am p; ' ( ) *  + - . / 0  1 2 3 4 5  6 7 8 9 :  ; \x26lt;  \x3d \x26 gt; ? @ A  B C D E F  G H I J K  L M N O P  Q R S T U  V W X Y Z  [ ] ^ _ `  a b c d e  f g h i j  k l m n o  p q r s t  u v w x y  z { | } ~  \x26euro;  \x26lsquo;  \x26rsquo ; \x26ldqu o; \x26rdq uo; \x26nd ash; \x26m dash; \x26 iexcl; \x2 6cent; \x2 6pound; \x 26curren;  \x26yen; \ x26brvbar;  \x26sect;  \x26uml;  \x26copy;  \x26ordf;  \x26laquo;  \x26not;  \x26reg; \ x26macr; \ x26deg; \x 26sup2; \x 26sup3; \x 26acute; \ x26micro;  \x26para;  \x26middot ; \x26cedi l; \x26sup 1; \x26ord m; \x26raq uo; \x26fr ac14; \x26 frac12; \x 26frac34;  \x26iquest ; \x26Agra ve; \x26Aa cute; \x26 Acirc; \x2 6Atilde; \ x26Auml; \ x26Aring;  \x26AElig;  \x26Ccedi l; \x26Egr ave; \x26E acute; \x2 6Ecirc; \x 26Euml; \x 26Igrave;  \x26Iacute ; \x26Icir c; \x26Ium l; \x26ETH ; \x26Ntil de; \x26Og rave; \x26 Oacute; \x 26Ocirc; \ x26Otilde;  \x26Ouml;  \x26times ; \x26Osla sh; \x26Ug rave; \x26 Uacute; \x 26Ucirc; \ x26Uuml; \ x26Yacute;  \x26THORN ; \x26szli g; \x26agr ave; \x26a acute; \x2 6acirc; \x 26atilde;  \x26auml;  \x26aring;  \x26aelig ; \x26cced il; \x26eg rave; \x26 eacute; \x 26ecirc; \ x26euml; \ x26igrave;  \x26iacut e; \x26ici rc; \x26iu ml; \x26et h; \x26nti lde; \x26o grave; \x2 6oacute; \ x26ocirc;  \x26otilde ; \x26ouml ; \x26divi de; \x26os lash; \x26 ugrave; \x 26uacute;  \x26ucirc;  \x26uuml;  \x26yacut e; \x26tho rn; \x26yu ml; \x26OE lig; \x26o elig; \x26 #372; \x26 #374 \x26# 373 \x26#3 75; \x26sb quo; \x26# 8219; \x26 bdquo; \x2 6hellip; \ x26trade;  \x26#9658;  \x26bull;  \x26rarr;  \x26rArr;  \x26hArr;  \x26diams ; \x26asym p;".split( " "),        
934   function() {CKEDITOR. plugins.ad d("stylesc ombo",{req uires:"ric hcombo",in it:functio n(a){var e =a.config, b=a.lang.s tylescombo ,c={},d=[] ,k=[];a.on ("stylesSe t",functio n(b){if(b= b.data.sty les){for(v ar f,l,h,g =0,n=b.len gth;g<n;g+ +)(f=b[g], a.blockles s&&f.eleme nt in CKED ITOR.dtd.$ block||(l= f.name,f=n ew CKEDITO R.style(f) ,a.filter. customConf ig&&!a.fil ter.check( f)))||(f._ name=l,f._ .enterMode =e.enterMo de,f._.typ e=h=f.assi gnedTo||f. type,f._.w eight=g+1E 3*(h==CKED ITOR.STYLE _OBJECT?1: h==CKEDITO R.STYLE_BL OCK?2:3),c [l]=        
935   f,d.push(f ),k.push(f ));d.sort( function(a ,b){return  a._.weigh t-b._.weig ht})}});a. ui.addRich Combo("Sty les",{labe l:b.label, title:b.pa nelTitle,t oolbar:"st yles,10",a llowedCont ent:k,pane l:{css:[CK EDITOR.ski n.getPath( "editor")] .concat(e. contentsCs s),multiSe lect:!0,at tributes:{ "aria-labe l":b.panel Title}},in it:functio n(){var a, c,e,h,g,k; g=0;for(k= d.length;g <k;g++)a=d [g],c=a._n ame,h=a._. type,h!=e& &(this.sta rtGroup(b[ "panelTitl e"+String( h)]),e=h), this.add(c ,a.type==C KEDITOR.ST YLE_OBJECT ?c:a.build Preview(), c);        
936   this.commi t()},onCli ck:functio n(b){a.foc us();a.fir e("saveSna pshot");b= c[b];var d =a.element Path();a[b .checkActi ve(d,a)?"r emoveStyle ":"applySt yle"](b);a .fire("sav eSnapshot" )},onRende r:function (){a.on("s electionCh ange",func tion(b){va r d=this.g etValue(); b=b.data.p ath.elemen ts;for(var  e=0,h=b.l ength,g;e< h;e++){g=b [e];for(va r k in c)i f(c[k].che ckElementR emovable(g ,!0,a)){k! =d&&this.s etValue(k) ;return}}t his.setVal ue("")},th is)},onOpe n:function (){var d=a .getSelect ion().getS electedEle ment(),d=a .elementPa th(d),        
937   f=[0,0,0,0 ];this.sho wAll();thi s.unmarkAl l();for(va r e in c){ var h=c[e] ,g=h._.typ e;h.checkA pplicable( d,a,a.acti veFilter)? f[g]++:thi s.hideItem (e);h.chec kActive(d, a)&&this.m ark(e)}f[C KEDITOR.ST YLE_BLOCK] ||this.hid eGroup(b[" panelTitle "+String(C KEDITOR.ST YLE_BLOCK) ]);f[CKEDI TOR.STYLE_ INLINE]||t his.hideGr oup(b["pan elTitle"+S tring(CKED ITOR.STYLE _INLINE)]) ;f[CKEDITO R.STYLE_OB JECT]||thi s.hideGrou p(b["panel Title"+Str ing(CKEDIT OR.STYLE_O BJECT)])}, refresh:fu nction(){v ar b=a.ele mentPath() ;if(b){for (var d in  c)if(c[d]. checkAppli cable(b,        
938   a,a.active Filter))re turn;this. setState(C KEDITOR.TR ISTATE_DIS ABLED)}},r eset:funct ion(){c={} ;d=[]}})}} )}(),funct ion(){func tion a(a){ return{edi torFocus:! 1,canUndo: !1,modes:{ wysiwyg:1} ,exec:func tion(b){if (b.editabl e().hasFoc us){var c= b.getSelec tion(),f;i f(f=(new C KEDITOR.do m.elementP ath(c.getC ommonAnces tor(),c.ro ot)).conta ins({td:1, th:1},1)){ var c=b.cr eateRange( ),e=CKEDIT OR.tools.t ryThese(fu nction(){v ar b=f.get Parent().$ .cells[f.$ .cellIndex +(a?-1:1)] ;b.parentN ode.parent Node;retur n b},funct ion(){var  b=        
939   f.getParen t(),b=b.ge tAscendant ("table"). $.rows[b.$ .rowIndex+ (a?-1:1)]; return b.c ells[a?b.c ells.lengt h-1:0]});i f(e||a)if( e)e=new CK EDITOR.dom .element(e ),c.moveTo ElementEdi tStart(e), c.checkSta rtOfBlock( )&&c.check EndOfBlock ()||c.sele ctNodeCont ents(e);el se return! 0;else{for (var h=f.g etAscendan t("table") .$,e=f.get Parent().$ .cells,h=n ew CKEDITO R.dom.elem ent(h.inse rtRow(-1), b.document ),g=0,n=e. length;g<n ;g++)h.app end((new C KEDITOR.do m.element( e[g],b.doc ument)).cl one(!1,!1) ).appendBo gus();c.mo veToElemen tEditStart (h)}c.sele ct(!0);        
940   return!0}} return!1}} }var e={ed itorFocus: !1,modes:{ wysiwyg:1, source:1}} ,b={exec:f unction(a) {a.contain er.focusNe xt(!0,a.ta bIndex)}}, c={exec:fu nction(a){ a.containe r.focusPre vious(!0,a .tabIndex) }};CKEDITO R.plugins. add("tab", {init:func tion(d){fo r(var k=!1 !==d.confi g.enableTa bKeyTools, m=d.config .tabSpaces ||0,f="";m --;)f+=" " ;if(f)d.on ("key",fun ction(a){9 ==a.data.k eyCode&&(d .insertTex t(f),a.can cel())});i f(k)d.on(" key",funct ion(a){(9= =a.data.ke yCode&&d.e xecCommand ("selectNe xtCell")|| a.data.key Code==CKED ITOR.SHIFT +        
941   9&&d.execC ommand("se lectPrevio usCell"))& &a.cancel( )});d.addC ommand("bl ur",CKEDIT OR.tools.e xtend(b,e) );d.addCom mand("blur Back",CKED ITOR.tools .extend(c, e));d.addC ommand("se lectNextCe ll",a());d .addComman d("selectP reviousCel l",a(!0))} })}(),CKED ITOR.dom.e lement.pro totype.foc usNext=fun ction(a,e) {var b=voi d 0===e?th is.getTabI ndex():e,c ,d,k,m,f,l ;if(0>=b)f or(f=this. getNextSou rceNode(a, CKEDITOR.N ODE_ELEMEN T);f;){if( f.isVisibl e()&&0===f .getTabInd ex()){k=f; break}f=f. getNextSou rceNode(!1 ,CKEDITOR. NODE_ELEME NT)}else f or(f=        
942   this.getDo cument().g etBody().g etFirst(); f=f.getNex tSourceNod e(!1,CKEDI TOR.NODE_E LEMENT);){ if(!c)if(! d&&f.equal s(this)){i f(d=!0,a){ if(!(f=f.g etNextSour ceNode(!0, CKEDITOR.N ODE_ELEMEN T)))break; c=1}}else  d&&!this.c ontains(f) &&(c=1);if (f.isVisib le()&&!(0> (l=f.getTa bIndex())) ){if(c&&l= =b){k=f;br eak}l>b&&( !k||!m||l< m)?(k=f,m= l):k||0!== l||(k=f,m= l)}}k&&k.f ocus()},CK EDITOR.dom .element.p rototype.f ocusPrevio us=functio n(a,e){for (var b=voi d 0===e?th is.getTabI ndex():e,c ,d,k,m=0,f ,l=this.ge tDocument( ).getBody( ).getLast( );l=        
943   l.getPrevi ousSourceN ode(!1,CKE DITOR.NODE _ELEMENT); ){if(!c)if (!d&&l.equ als(this)) {if(d=!0,a ){if(!(l=l .getPrevio usSourceNo de(!0,CKED ITOR.NODE_ ELEMENT))) break;c=1} }else d&&! this.conta ins(l)&&(c =1);if(l.i sVisible() &&!(0>(f=l .getTabInd ex())))if( 0>=b){if(c &&0===f){k =l;break}f >m&&(k=l,m =f)}else{i f(c&&f==b) {k=l;break }f<b&&(!k| |f>m)&&(k= l,m=f)}}k& &k.focus() },CKEDITOR .plugins.a dd("table" ,{requires :"dialog", init:funct ion(a){fun ction e(a) {return CK EDITOR.too ls.extend( a||{},{con textSensit ive:1,refr esh:functi on(a,        
944   b){this.se tState(b.c ontains("t able",1)?C KEDITOR.TR ISTATE_OFF :CKEDITOR. TRISTATE_D ISABLED)}} )}if(!a.bl ockless){v ar b=a.lan g.table;a. addCommand ("table",n ew CKEDITO R.dialogCo mmand("tab le",{conte xt:"table" ,allowedCo ntent:"tab le{width,h eight}[ali gn,border, cellpaddin g,cellspac ing,summar y];caption  tbody the ad tfoot;t h td tr[sc ope];"+(a. plugins.di alogadvtab ?"table"+a .plugins.d ialogadvta b.allowedC ontent():" "),require dContent:" table",con tentTransf ormations: [["table{w idth}: siz eToStyle", "table[wid th]: sizeT oAttribute "]]}));        
945   a.addComma nd("tableP roperties" ,new CKEDI TOR.dialog Command("t ableProper ties",e()) );a.addCom mand("tabl eDelete",e ({exec:fun ction(a){v ar b=a.ele mentPath() .contains( "table",1) ;if(b){var  e=b.getPa rent(),m=a .editable( );1!=e.get ChildCount ()||e.is(" td","th")| |e.equals( m)||(b=e); a=a.create Range();a. moveToPosi tion(b,CKE DITOR.POSI TION_BEFOR E_START);b .remove(); a.select() }}}));a.ui .addButton &&a.ui.add Button("Ta ble",{labe l:b.toolba r,command: "table",to olbar:"ins ert,30"}); CKEDITOR.d ialog.add( "table",th is.path+"d ialogs/tab le.js");        
946   CKEDITOR.d ialog.add( "tableProp erties",th is.path+"d ialogs/tab le.js");a. addMenuIte ms&&a.addM enuItems({ table:{lab el:b.menu, command:"t ableProper ties",grou p:"table", order:5},t abledelete :{label:b. deleteTabl e,command: "tableDele te",group: "table",or der:1}});a .on("doubl eclick",fu nction(a){ a.data.ele ment.is("t able")&&(a .data.dial og="tableP roperties" )});a.cont extMenu&&a .contextMe nu.addList ener(funct ion(){retu rn{tablede lete:CKEDI TOR.TRISTA TE_OFF,tab le:CKEDITO R.TRISTATE _OFF}})}}} ),function (){functio n a(a){fun ction b(a) {0<        
947   c.length|| a.type!=CK EDITOR.NOD E_ELEMENT| |!r.test(a .getName() )||a.getCu stomData(" selected_c ell")||(CK EDITOR.dom .element.s etMarker(d ,a,"select ed_cell",! 0),c.push( a))}a=a.ge tRanges(); for(var c= [],d={},f= 0;f<a.leng th;f++){va r e=a[f];i f(e.collap sed)e=e.ge tCommonAnc estor(),(e =e.getAsce ndant("td" ,!0)||e.ge tAscendant ("th",!0)) &&c.push(e );else{var  e=new CKE DITOR.dom. walker(e), g;for(e.gu ard=b;g=e. next();)g. type==CKED ITOR.NODE_ ELEMENT&&g .is(CKEDIT OR.dtd.tab le)||(g=g. getAscenda nt("td",!0 )||g.getAs cendant("t h",        
948   !0))&&!g.g etCustomDa ta("select ed_cell")& &(CKEDITOR .dom.eleme nt.setMark er(d,g,"se lected_cel l",!0),c.p ush(g))}}C KEDITOR.do m.element. clearAllMa rkers(d);r eturn c}fu nction e(b ,c){for(va r d=a(b),f =d[0],e=f. getAscenda nt("table" ),f=f.getD ocument(), g=d[0].get Parent(),h =g.$.rowIn dex,d=d[d. length-1], l=d.getPar ent().$.ro wIndex+d.$ .rowSpan-1 ,d=new CKE DITOR.dom. element(e. $.rows[l]) ,h=c?h:l,g =c?g:d,d=C KEDITOR.to ols.buildT ableMap(e) ,e=d[h],h= c?d[h-1]:d [h+1],d=d[ 0].length, f=f.create Element("t r"),l=0;e[ l]&&l<d;l+ +){var k;        
949   1<e[l].row Span&&h&&e [l]==h[l]? (k=e[l],k. rowSpan+=1 ):(k=(new  CKEDITOR.d om.element (e[l])).cl one(),k.re moveAttrib ute("rowSp an"),k.app endBogus() ,f.append( k),k=k.$); l+=k.colSp an-1}c?f.i nsertBefor e(g):f.ins ertAfter(g )}function  b(c){if(c  instanceo f CKEDITOR .dom.selec tion){var  d=a(c),f=d [0].getAsc endant("ta ble"),e=CK EDITOR.too ls.buildTa bleMap(f); c=d[0].get Parent().$ .rowIndex; for(var d= d[d.length -1],g=d.ge tParent(). $.rowIndex +d.$.rowSp an-1,d=[], h=c;h<=g;h ++){for(va r l=e[h],k =new CKEDI TOR.dom.el ement(f.$. rows[h]),        
950   m=0;m<l.le ngth;m++){ var n=new  CKEDITOR.d om.element (l[m]),r=n .getParent ().$.rowIn dex;1==n.$ .rowSpan?n .remove(): (--n.$.row Span,r==h& &(r=e[h+1] ,r[m-1]?n. insertAfte r(new CKED ITOR.dom.e lement(r[m -1])):(new  CKEDITOR. dom.elemen t(f.$.rows [h+1])).ap pend(n,1)) );m+=n.$.c olSpan-1}d .push(k)}e =f.$.rows; f=new CKED ITOR.dom.e lement(e[g +1]||(0<c? e[c-1]:nul l)||f.$.pa rentNode); for(h=d.le ngth;0<=h; h--)b(d[h] );return f }c instanc eof CKEDIT OR.dom.ele ment&&(f=c .getAscend ant("table "),1==f.$. rows.lengt h?f.remove ():c.remov e());        
951   return nul l}function  c(a,b){fo r(var c=b? Infinity:0 ,d=0;d<a.l ength;d++) {var f;f=a [d];for(va r e=b,g=f. getParent( ).$.cells, h=0,l=0;l< g.length;l ++){var k= g[l],h=h+( e?1:k.colS pan);if(k= =f.$)break }f=h-1;if( b?f<c:f>c) c=f}return  c}functio n d(b,d){f or(var f=a (b),e=f[0] .getAscend ant("table "),g=c(f,1 ),f=c(f),g =d?g:f,h=C KEDITOR.to ols.buildT ableMap(e) ,e=[],f=[] ,l=h.lengt h,k=0;k<l; k++)e.push (h[k][g]), f.push(d?h [k][g-1]:h [k][g+1]); for(k=0;k< l;k++)e[k] &&(1<e[k]. colSpan&&f [k]==e[k]? (g=e[k],g. colSpan+=1 ):(g=(new  CKEDITOR.d om.element (e[k])).cl one(),        
952   g.removeAt tribute("c olSpan"),g .appendBog us(),g[d?" insertBefo re":"inser tAfter"].c all(g,new  CKEDITOR.d om.element (e[k])),g= g.$),k+=g. rowSpan-1) }function  k(a,b){var  c=a.getSt artElement ();if(c=c. getAscenda nt("td",1) ||c.getAsc endant("th ",1)){var  d=c.clone( );d.append Bogus();b? d.insertBe fore(c):d. insertAfte r(c)}}func tion m(b){ if(b insta nceof CKED ITOR.dom.s election){ b=a(b);var  c=b[0]&&b [0].getAsc endant("ta ble"),d;a: {var e=0;d =b.length- 1;for(var  g={},h,l;h =b[e++];)C KEDITOR.do m.element. setMarker( g,h,"delet e_cell",        
953   !0);for(e= 0;h=b[e++] ;)if((l=h. getPreviou s())&&!l.g etCustomDa ta("delete _cell")||( l=h.getNex t())&&!l.g etCustomDa ta("delete _cell")){C KEDITOR.do m.element. clearAllMa rkers(g);d =l;break a }CKEDITOR. dom.elemen t.clearAll Markers(g) ;l=b[0].ge tParent(); (l=l.getPr evious())? d=l.getLas t():(l=b[d ].getParen t(),d=(l=l .getNext() )?l.getChi ld(0):null )}for(l=b. length-1;0 <=l;l--)m( b[l]);d?f( d,!0):c&&c .remove()} else b ins tanceof CK EDITOR.dom .element&& (c=b.getPa rent(),1== c.getChild Count()?c. remove():b .remove()) }function  f(a,        
954   b){var c=a .getDocume nt(),d=CKE DITOR.docu ment;CKEDI TOR.env.ie &&10==CKED ITOR.env.v ersion&&(d .focus(),c .focus()); c=new CKED ITOR.dom.r ange(c);c[ "moveToEle mentEdit"+ (b?"End":" Start")](a )||(c.sele ctNodeCont ents(a),c. collapse(b ?!1:!0));c .select(!0 )}function  l(a,b,c){ a=a[b];if( "undefined "==typeof  c)return a ;for(b=0;a &&b<a.leng th;b++){if (c.is&&a[b ]==c.$)ret urn b;if(b ==c)return  new CKEDI TOR.dom.el ement(a[b] )}return c .is?-1:nul l}function  h(b,c,d){ var f=a(b) ,e;if((c?1 !=f.length :2>f.lengt h)||(e=b.g etCommonAn cestor())& &        
955   e.type==CK EDITOR.NOD E_ELEMENT& &e.is("tab le"))retur n!1;var g; b=f[0];e=b .getAscend ant("table ");var h=C KEDITOR.to ols.buildT ableMap(e) ,k=h.lengt h,m=h[0].l ength,n=b. getParent( ).$.rowInd ex,r=l(h,n ,b);if(c){ var A;try{ var D=pars eInt(b.get Attribute( "rowspan") ,10)||1;g= parseInt(b .getAttrib ute("colsp an"),10)|| 1;A=h["up" ==c?n-D:"d own"==c?n+ D:n]["left "==c?r-g:" right"==c? r+g:r]}cat ch(G){retu rn!1}if(!A ||b.$==A)r eturn!1;f[ "up"==c||" left"==c?" unshift":" push"](new  CKEDITOR. dom.elemen t(A))}c=b. getDocumen t();var F= n,        
956   D=A=0,I=!d &&new CKED ITOR.dom.d ocumentFra gment(c),H =0;for(c=0 ;c<f.lengt h;c++){g=f [c];var K= g.getParen t(),E=g.ge tFirst(),N =g.$.colSp an,R=g.$.r owSpan,K=K .$.rowInde x,P=l(h,K, g),H=H+N*R ,D=Math.ma x(D,P-r+N) ;A=Math.ma x(A,K-n+R) ;d||(N=g,( R=N.getBog us())&&R.r emove(),N. trim(),g.g etChildren ().count() &&(K==F||! E||E.isBlo ckBoundary &&E.isBloc kBoundary( {br:1})||( F=I.getLas t(CKEDITOR .dom.walke r.whitespa ces(!0)),! F||F.is&&F .is("br")| |I.append( "br")),g.m oveChildre n(I)),c?g. remove():g .setHtml(" "));F=K}if (d)return  A*        
957   D==H;I.mov eChildren( b);b.appen dBogus();D >=m?b.remo veAttribut e("rowSpan "):b.$.row Span=A;A>= k?b.remove Attribute( "colSpan") :b.$.colSp an=D;d=new  CKEDITOR. dom.nodeLi st(e.$.row s);f=d.cou nt();for(c =f-1;0<=c; c--)e=d.ge tItem(c),e .$.cells.l ength||(e. remove(),f ++);return  b}functio n g(b,c){v ar d=a(b); if(1<d.len gth)return !1;if(c)re turn!0;var  d=d[0],f= d.getParen t(),e=f.ge tAscendant ("table"), g=CKEDITOR .tools.bui ldTableMap (e),h=f.$. rowIndex,k =l(g,h,d), m=d.$.rowS pan,n;if(1 <m){n=Math .ceil(m/2) ;for(var m =Math.floo r(m/        
958   2),f=h+n,e =new CKEDI TOR.dom.el ement(e.$. rows[f]),g =l(g,f),r, f=d.clone( ),h=0;h<g. length;h++ )if(r=g[h] ,r.parentN ode==e.$&& h>k){f.ins ertBefore( new CKEDIT OR.dom.ele ment(r));b reak}else  r=null;r|| e.append(f )}else for (m=n=1,e=f .clone(),e .insertAft er(f),e.ap pend(f=d.c lone()),r= l(g,h),k=0 ;k<r.lengt h;k++)r[k] .rowSpan++ ;f.appendB ogus();d.$ .rowSpan=n ;f.$.rowSp an=m;1==n& &d.removeA ttribute(" rowSpan"); 1==m&&f.re moveAttrib ute("rowSp an");retur n f}functi on n(b,c){ var d=a(b) ;if(1<d.le ngth)retur n!1;if(c)r eturn!0;va r d=        
959   d[0],f=d.g etParent() ,e=f.getAs cendant("t able"),e=C KEDITOR.to ols.buildT ableMap(e) ,g=l(e,f.$ .rowIndex, d),h=d.$.c olSpan;if( 1<h)f=Math .ceil(h/2) ,h=Math.fl oor(h/2);e lse{for(va r h=f=1,k= [],m=0;m<e .length;m+ +){var n=e [m];k.push (n[g]);1<n [g].rowSpa n&&(m+=n[g ].rowSpan- 1)}for(e=0 ;e<k.lengt h;e++)k[e] .colSpan++ }e=d.clone ();e.inser tAfter(d); e.appendBo gus();d.$. colSpan=f; e.$.colSpa n=h;1==f&& d.removeAt tribute("c olSpan");1 ==h&&e.rem oveAttribu te("colSpa n");return  e}var r=/ ^(?:td|th) $/;CKEDITO R.plugins. tabletools =        
960   {requires: "table,dia log,contex tmenu",ini t:function (c){functi on l(a){re turn CKEDI TOR.tools. extend(a|| {},{contex tSensitive :1,refresh :function( a,b){this. setState(b .contains( {td:1,th:1 },1)?CKEDI TOR.TRISTA TE_OFF:CKE DITOR.TRIS TATE_DISAB LED)}})}fu nction p(a ,b){var d= c.addComma nd(a,b);c. addFeature (d)}var r= c.lang.tab le;p("cell Properties ",new CKED ITOR.dialo gCommand(" cellProper ties",l({a llowedCont ent:"td th {width,hei ght,border -color,bac kground-co lor,white- space,vert ical-align ,text-alig n}[colspan ,rowspan]" ,        
961   requiredCo ntent:"tab le"})));CK EDITOR.dia log.add("c ellPropert ies",this. path+"dial ogs/tableC ell.js");p ("rowDelet e",l({requ iredConten t:"table", exec:funct ion(a){a=a .getSelect ion();f(b( a))}}));p( "rowInsert Before",l( {requiredC ontent:"ta ble",exec: function(a ){a=a.getS election() ;e(a,!0)}} ));p("rowI nsertAfter ",l({requi redContent :"table",e xec:functi on(a){a=a. getSelecti on();e(a)} }));p("col umnDelete" ,l({requir edContent: "table",ex ec:functio n(b){b=b.g etSelectio n();b=a(b) ;var c=b[0 ],d=b[b.le ngth-1];b= c.getAscen dant("tabl e");        
962   for(var e= CKEDITOR.t ools.build TableMap(b ),g,h,l=[] ,k=0,m=e.l ength;k<m; k++)for(va r n=0,q=e[ k].length; n<q;n++)e[ k][n]==c.$ &&(g=n),e[ k][n]==d.$ &&(h=n);fo r(k=g;k<=h ;k++)for(n =0;n<e.len gth;n++)d= e[n],c=new  CKEDITOR. dom.elemen t(b.$.rows [n]),d=new  CKEDITOR. dom.elemen t(d[k]),d. $&&(1==d.$ .colSpan?d .remove(): --d.$.colS pan,n+=d.$ .rowSpan-1 ,c.$.cells .length||l .push(c)); h=b.$.rows [0]&&b.$.r ows[0].cel ls;g=new C KEDITOR.do m.element( h[g]||(g?h [g-1]:b.$. parentNode ));l.lengt h==m&&b.re move();g&& f(g,!0)}}) );p("colum nInsertBef ore",        
963   l({require dContent:" table",exe c:function (a){a=a.ge tSelection ();d(a,!0) }}));p("co lumnInsert After",l({ requiredCo ntent:"tab le",exec:f unction(a) {a=a.getSe lection(); d(a)}}));p ("cellDele te",l({req uiredConte nt:"table" ,exec:func tion(a){a= a.getSelec tion();m(a )}}));p("c ellMerge", l({allowed Content:"t d[colspan, rowspan]", requiredCo ntent:"td[ colspan,ro wspan]",ex ec:functio n(a){f(h(a .getSelect ion()),!0) }}));p("ce llMergeRig ht",l({all owedConten t:"td[cols pan]",requ iredConten t:"td[cols pan]",exec :function( a){f(h(a.g etSelectio n(),        
964   "right"),! 0)}}));p(" cellMergeD own",l({al lowedConte nt:"td[row span]",req uiredConte nt:"td[row span]",exe c:function (a){f(h(a. getSelecti on(),"down "),!0)}})) ;p("cellVe rticalSpli t",l({allo wedContent :"td[rowsp an]",requi redContent :"td[rowsp an]",exec: function(a ){f(n(a.ge tSelection ()))}}));p ("cellHori zontalSpli t",l({allo wedContent :"td[colsp an]",requi redContent :"td[colsp an]",exec: function(a ){f(g(a.ge tSelection ()))}}));p ("cellInse rtBefore", l({require dContent:" table",exe c:function (a){a=a.ge tSelection ();k(a,!0) }}));        
965   p("cellIns ertAfter", l({require dContent:" table",exe c:function (a){a=a.ge tSelection ();k(a)}}) );c.addMen uItems&&c. addMenuIte ms({tablec ell:{label :r.cell.me nu,group:" tablecell" ,order:1,g etItems:fu nction(){v ar b=c.get Selection( ),d=a(b);r eturn{tabl ecell_inse rtBefore:C KEDITOR.TR ISTATE_OFF ,tablecell _insertAft er:CKEDITO R.TRISTATE _OFF,table cell_delet e:CKEDITOR .TRISTATE_ OFF,tablec ell_merge: h(b,null,! 0)?CKEDITO R.TRISTATE _OFF:CKEDI TOR.TRISTA TE_DISABLE D,tablecel l_merge_ri ght:h(b,"r ight",!0)? CKEDITOR.T RISTATE_OF F:        
966   CKEDITOR.T RISTATE_DI SABLED,tab lecell_mer ge_down:h( b,"down",! 0)?CKEDITO R.TRISTATE _OFF:CKEDI TOR.TRISTA TE_DISABLE D,tablecel l_split_ve rtical:n(b ,!0)?CKEDI TOR.TRISTA TE_OFF:CKE DITOR.TRIS TATE_DISAB LED,tablec ell_split_ horizontal :g(b,!0)?C KEDITOR.TR ISTATE_OFF :CKEDITOR. TRISTATE_D ISABLED,ta blecell_pr operties:0 <d.length? CKEDITOR.T RISTATE_OF F:CKEDITOR .TRISTATE_ DISABLED}} },tablecel l_insertBe fore:{labe l:r.cell.i nsertBefor e,group:"t ablecell", command:"c ellInsertB efore",ord er:5},tabl ecell_inse rtAfter:{l abel:r.cel l.insertAf ter,        
967   group:"tab lecell",co mmand:"cel lInsertAft er",order: 10},tablec ell_delete :{label:r. cell.delet eCell,grou p:"tablece ll",comman d:"cellDel ete",order :15},table cell_merge :{label:r. cell.merge ,group:"ta blecell",c ommand:"ce llMerge",o rder:16},t ablecell_m erge_right :{label:r. cell.merge Right,grou p:"tablece ll",comman d:"cellMer geRight",o rder:17},t ablecell_m erge_down: {label:r.c ell.mergeD own,group: "tablecell ",command: "cellMerge Down",orde r:18},tabl ecell_spli t_horizont al:{label: r.cell.spl itHorizont al,group:" tablecell" ,        
968   command:"c ellHorizon talSplit", order:19}, tablecell_ split_vert ical:{labe l:r.cell.s plitVertic al,group:" tablecell" ,command:" cellVertic alSplit",o rder:20},t ablecell_p roperties: {label:r.c ell.title, group:"tab lecellprop erties",co mmand:"cel lPropertie s",order:2 1},tablero w:{label:r .row.menu, group:"tab lerow",ord er:1,getIt ems:functi on(){retur n{tablerow _insertBef ore:CKEDIT OR.TRISTAT E_OFF,tabl erow_inser tAfter:CKE DITOR.TRIS TATE_OFF,t ablerow_de lete:CKEDI TOR.TRISTA TE_OFF}}}, tablerow_i nsertBefor e:{label:r .row.inser tBefore,        
969   group:"tab lerow",com mand:"rowI nsertBefor e",order:5 },tablerow _insertAft er:{label: r.row.inse rtAfter,gr oup:"table row",comma nd:"rowIns ertAfter", order:10}, tablerow_d elete:{lab el:r.row.d eleteRow,g roup:"tabl erow",comm and:"rowDe lete",orde r:15},tabl ecolumn:{l abel:r.col umn.menu,g roup:"tabl ecolumn",o rder:1,get Items:func tion(){ret urn{tablec olumn_inse rtBefore:C KEDITOR.TR ISTATE_OFF ,tablecolu mn_insertA fter:CKEDI TOR.TRISTA TE_OFF,tab lecolumn_d elete:CKED ITOR.TRIST ATE_OFF}}} ,tablecolu mn_insertB efore:{lab el:r.colum n.insertBe fore,        
970   group:"tab lecolumn", command:"c olumnInser tBefore",o rder:5},ta blecolumn_ insertAfte r:{label:r .column.in sertAfter, group:"tab lecolumn", command:"c olumnInser tAfter",or der:10},ta blecolumn_ delete:{la bel:r.colu mn.deleteC olumn,grou p:"tableco lumn",comm and:"colum nDelete",o rder:15}}) ;c.context Menu&&c.co ntextMenu. addListene r(function (a,b,c){re turn(a=c.c ontains({t d:1,th:1}, 1))&&!a.is ReadOnly() ?{tablecel l:CKEDITOR .TRISTATE_ OFF,tabler ow:CKEDITO R.TRISTATE _OFF,table column:CKE DITOR.TRIS TATE_OFF}: null})},ge tSelectedC ells:a};        
971   CKEDITOR.p lugins.add ("tabletoo ls",CKEDIT OR.plugins .tabletool s)}(),CKED ITOR.tools .buildTabl eMap=funct ion(a){a=a .$.rows;fo r(var e=-1 ,b=[],c=0; c<a.length ;c++){e++; !b[e]&&(b[ e]=[]);for (var d=-1, k=0;k<a[c] .cells.len gth;k++){v ar m=a[c]. cells[k];f or(d++;b[e ][d];)d++; for(var f= isNaN(m.co lSpan)?1:m .colSpan,m =isNaN(m.r owSpan)?1: m.rowSpan, l=0;l<m;l+ +){b[e+l]| |(b[e+l]=[ ]);for(var  h=0;h<f;h ++)b[e+l][ d+h]=a[c]. cells[k]}d +=f-1}}ret urn b},fun ction(){CK EDITOR.plu gins.add(" templates" ,{requires :"dialog", init:funct ion(a){CKE DITOR.dial og.add("te mplates",        
972   CKEDITOR.g etUrl(this .path+"dia logs/templ ates.js")) ;a.addComm and("templ ates",new  CKEDITOR.d ialogComma nd("templa tes"));a.u i.addButto n&&a.ui.ad dButton("T emplates", {label:a.l ang.templa tes.button ,command:" templates" ,toolbar:" doctools,1 0"})}});va r a={},e={ };CKEDITOR .addTempla tes=functi on(b,c){a[ b]=c};CKED ITOR.getTe mplates=fu nction(b){ return a[b ]};CKEDITO R.loadTemp lates=func tion(a,c){ for(var d= [],k=0,m=a .length;k< m;k++)e[a[ k]]||(d.pu sh(a[k]),e [a[k]]=1); d.length?C KEDITOR.sc riptLoader .load(d,c) :setTimeou t(c,        
973   0)}}(),CKE DITOR.conf ig.templat es_files=[ CKEDITOR.g etUrl("plu gins/templ ates/templ ates/defau lt.js")],C KEDITOR.co nfig.templ ates_repla ceContent= !0,functio n(){functi on a(a){fu nction b() {for(var g =c(),h=CKE DITOR.tool s.clone(a. config.too lbarGroups )||e(a),l= 0;l<h.leng th;l++){va r k=h[l];i f("/"!=k){ "string"== typeof k&& (k=h[l]={n ame:k});va r p,u=k.gr oups;if(u) for(var w= 0;w<u.leng th;w++)p=u [w],(p=g[p ])&&f(k,p) ;(p=g[k.na me])&&f(k, p)}}return  h}functio n c(){var  b={},f,e,g ;for(f in  a.ui.items )e=a.ui.it ems[f],g=e .toolbar||        
974   "others",g =g.split(" ,"),e=g[0] ,g=parseIn t(g[1]||-1 ,10),b[e]| |(b[e]=[]) ,b[e].push ({name:f,o rder:g});f or(e in b) b[e]=b[e]. sort(funct ion(a,b){r eturn a.or der==b.ord er?0:0>b.o rder?-1:0> a.order?1: a.order<b. order?-1:1 });return  b}function  f(b,c){if (c.length) {b.items?b .items.pus h(a.ui.cre ate("-")): b.items=[] ;for(var f ;f=c.shift ();)f="str ing"==type of f?f:f.n ame,h&&-1! =CKEDITOR. tools.inde xOf(h,f)|| (f=a.ui.cr eate(f))&& a.addFeatu re(f)&&b.i tems.push( f)}}functi on l(a){va r b=[],c,d ,e;for(c=0 ;c<a.lengt h;++c)d=a[ c],        
975   e={},"/"== d?b.push(d ):CKEDITOR .tools.isA rray(d)?(f (e,CKEDITO R.tools.cl one(d)),b. push(e)):d .items&&(f (e,CKEDITO R.tools.cl one(d.item s)),e.name =d.name,b. push(e));r eturn b}va r h=a.conf ig.removeB uttons,h=h &&h.split( ","),g=a.c onfig.tool bar;"strin g"==typeof  g&&(g=a.c onfig["too lbar_"+g]) ;return a. toolbar=g? l(g):b()}f unction e( a){return  a._.toolba rGroups||( a._.toolba rGroups=[{ name:"docu ment",grou ps:["mode" ,"document ","doctool s"]},{name :"clipboar d",groups: ["clipboar d","undo"] },{name:"e diting",gr oups:["fin d",        
976   "selection ","spellch ecker"]},{ name:"form s"},"/",{n ame:"basic styles",gr oups:["bas icstyles", "cleanup"] },{name:"p aragraph", groups:["l ist","inde nt","block s","align" ,"bidi"]}, {name:"lin ks"},{name :"insert"} ,"/",{name :"styles"} ,{name:"co lors"},{na me:"tools" },{name:"o thers"},{n ame:"about "}])}var b =function( ){this.too lbars=[];t his.focusC ommandExec uted=!1};b .prototype .focus=fun ction(){fo r(var a=0, b;b=this.t oolbars[a+ +];)for(va r c=0,f;f= b.items[c+ +];)if(f.f ocus){f.fo cus();retu rn}};var c ={modes:{w ysiwyg:1,s ource:1},        
977   readOnly:1 ,exec:func tion(a){a. toolbox&&( a.toolbox. focusComma ndExecuted =!0,CKEDIT OR.env.ie| |CKEDITOR. env.air?se tTimeout(f unction(){ a.toolbox. focus()},1 00):a.tool box.focus( ))}};CKEDI TOR.plugin s.add("too lbar",{req uires:"but ton",init: function(d ){var e,m= function(a ,b){var c, g="rtl"==d .lang.dir, n=d.config .toolbarGr oupCycling ,r=g?37:39 ,g=g?39:37 ,n=void 0= ==n||n;swi tch(b){cas e 9:case C KEDITOR.SH IFT+9:for( ;!c||!c.it ems.length ;)if(c=9== b?(c?c.nex t:a.toolba r.next)||d .toolbox.t oolbars[0] :(c?c.prev ious:a.too lbar.previ ous)||        
978   d.toolbox. toolbars[d .toolbox.t oolbars.le ngth-1],c. items.leng th)for(a=c .items[e?c .items.len gth-1:0];a &&!a.focus ;)(a=e?a.p revious:a. next)||(c= 0);a&&a.fo cus();retu rn!1;case  r:c=a;do c =c.next,!c &&n&&(c=a. toolbar.it ems[0]);wh ile(c&&!c. focus);c?c .focus():m (a,9);retu rn!1;case  40:return  a.button&& a.button.h asArrow?(d .once("pan elShow",fu nction(a){ a.data._.p anel._.cur rentBlock. onKeyDown( 40)}),a.ex ecute()):m (a,40==b?r :g),!1;cas e g:case 3 8:c=a;do c =c.previou s,!c&&n&&( c=a.toolba r.items[a. toolbar.it ems.length -        
979   1]);while( c&&!c.focu s);c?c.foc us():(e=1, m(a,CKEDIT OR.SHIFT+9 ),e=0);ret urn!1;case  27:return  d.focus() ,!1;case 1 3:case 32: return a.e xecute(),! 1}return!0 };d.on("ui Space",fun ction(c){i f(c.data.s pace==d.co nfig.toolb arLocation ){c.remove Listener() ;d.toolbox =new b;var  e=CKEDITO R.tools.ge tNextId(), h=['\x3csp an id\x3d" ',e,'" cla ss\x3d"cke _voice_lab el"\x3e',d .lang.tool bar.toolba rs,"\x3c/s pan\x3e",' \x3cspan i d\x3d"'+d. ui.spaceId ("toolbox" )+'" class \x3d"cke_t oolbox" ro le\x3d"gro up" aria-l abelledby\ x3d"',e,'"  onmousedo wn\x3d"ret urn false; "\x3e'],        
980   e=!1!==d.c onfig.tool barStartup Expanded,g ,k;d.confi g.toolbarC anCollapse &&d.elemen tMode!=CKE DITOR.ELEM ENT_MODE_I NLINE&&h.p ush('\x3cs pan class\ x3d"cke_to olbox_main "'+(e?"\x3 e":' style \x3d"displ ay:none"\x 3e'));for( var r=d.to olbox.tool bars,t=a(d ),q=0;q<t. length;q++ ){var p,u= 0,w,y=t[q] ,B;if(y)if (g&&(h.pus h("\x3c/sp an\x3e"),k =g=0),"/"= ==y)h.push ('\x3cspan  class\x3d "cke_toolb ar_break"\ x3e\x3c/sp an\x3e');e lse{B=y.it ems||y;for (var v=0;v <B.length; v++){var z =B[v],C;if (z){var x= function(a ){a=a.rend er(d,h);A= u.items.pu sh(a)-        
981   1;0<A&&(a. previous=u .items[A-1 ],a.previo us.next=a) ;a.toolbar =u;a.onkey =m;a.onfoc us=functio n(){d.tool box.focusC ommandExec uted||d.fo cus()}};if (z.type==C KEDITOR.UI _SEPARATOR )k=g&&z;el se{C=!1!== z.canGroup ;if(!u){p= CKEDITOR.t ools.getNe xtId();u={ id:p,items :[]};w=y.n ame&&(d.la ng.toolbar .toolbarGr oups[y.nam e]||y.name );h.push(' \x3cspan i d\x3d"',p, '" class\x 3d"cke_too lbar"',w?'  aria-labe lledby\x3d "'+p+'_lab el"':"",'  role\x3d"t oolbar"\x3 e');w&&h.p ush('\x3cs pan id\x3d "',p,'_lab el" class\ x3d"cke_vo ice_label" \x3e',        
982   w,"\x3c/sp an\x3e");h .push('\x3 cspan clas s\x3d"cke_ toolbar_st art"\x3e\x 3c/span\x3 e');var A= r.push(u)- 1;0<A&&(u. previous=r [A-1],u.pr evious.nex t=u)}C?g|| (h.push('\ x3cspan cl ass\x3d"ck e_toolgrou p" role\x3 d"presenta tion"\x3e' ),g=1):g&& (h.push("\ x3c/span\x 3e"),g=0); k&&(x(k),k =0);x(z)}} }g&&(h.pus h("\x3c/sp an\x3e"),k =g=0);u&&h .push('\x3 cspan clas s\x3d"cke_ toolbar_en d"\x3e\x3c /span\x3e\ x3c/span\x 3e')}}d.co nfig.toolb arCanColla pse&&h.pus h("\x3c/sp an\x3e");i f(d.config .toolbarCa nCollapse& &d.element Mode!=CKED ITOR.ELEME NT_MODE_IN LINE){var  D=        
983   CKEDITOR.t ools.addFu nction(fun ction(){d. execComman d("toolbar Collapse") });d.on("d estroy",fu nction(){C KEDITOR.to ols.remove Function(D )});d.addC ommand("to olbarColla pse",{read Only:1,exe c:function (a){var b= a.ui.space ("toolbar_ collapser" ),c=b.getP revious(), d=a.ui.spa ce("conten ts"),f=c.g etParent() ,e=parseIn t(d.$.styl e.height,1 0),g=f.$.o ffsetHeigh t,h=b.hasC lass("cke_ toolbox_co llapser_mi n");h?(c.s how(),b.re moveClass( "cke_toolb ox_collaps er_min"),b .setAttrib ute("title ",a.lang.t oolbar.too lbarCollap se)):(c.hi de(),        
984   b.addClass ("cke_tool box_collap ser_min"), b.setAttri bute("titl e",a.lang. toolbar.to olbarExpan d));b.getF irst().set Text(h?"▲" :"◀");d.se tStyle("he ight",e-(f .$.offsetH eight-g)+" px");a.fir e("resize" ,{outerHei ght:a.cont ainer.$.of fsetHeight ,contentsH eight:d.$. offsetHeig ht,outerWi dth:a.cont ainer.$.of fsetWidth} )},modes:{ wysiwyg:1, source:1}} );d.setKey stroke(CKE DITOR.ALT+ (CKEDITOR. env.ie||CK EDITOR.env .webkit?18 9:109),"to olbarColla pse");h.pu sh('\x3ca  title\x3d" '+(e?d.lan g.toolbar. toolbarCol lapse:d.la ng.toolbar .toolbarEx pand)+        
985   '" id\x3d" '+d.ui.spa ceId("tool bar_collap ser")+'" t abIndex\x3 d"-1" clas s\x3d"cke_ toolbox_co llapser'); e||h.push( " cke_tool box_collap ser_min"); h.push('"  onclick\x3 d"CKEDITOR .tools.cal lFunction( '+D+')"\x3 e','\x3csp an class\x 3d"cke_arr ow"\x3e\x2 6#9650;\x3 c/span\x3e ',"\x3c/a\ x3e")}h.pu sh("\x3c/s pan\x3e"); c.data.htm l+=h.join( "")}});d.o n("destroy ",function (){if(this .toolbox){ var a,b=0, c,d,e;for( a=this.too lbox.toolb ars;b<a.le ngth;b++)f or(d=a[b]. items,c=0; c<d.length ;c++)e=d[c ],e.clickF n&&CKEDITO R.tools.re moveFuncti on(e.click Fn),        
986   e.keyDownF n&&CKEDITO R.tools.re moveFuncti on(e.keyDo wnFn)}});d .on("uiRea dy",functi on(){var a =d.ui.spac e("toolbox ");a&&d.fo cusManager .add(a,1)} );d.addCom mand("tool barFocus", c);d.setKe ystroke(CK EDITOR.ALT +121,"tool barFocus") ;d.ui.add( "-",CKEDIT OR.UI_SEPA RATOR,{}); d.ui.addHa ndler(CKED ITOR.UI_SE PARATOR,{c reate:func tion(){ret urn{render :function( a,b){b.pus h('\x3cspa n class\x3 d"cke_tool bar_separa tor" role\ x3d"separa tor"\x3e\x 3c/span\x3 e');return {}}}}})}}) ;CKEDITOR. ui.prototy pe.addTool barGroup=f unction(a, b,        
987   c){var f=e (this.edit or),l=0=== b,h={name: a};if(c){i f(c=CKEDIT OR.tools.s earch(f,fu nction(a){ return a.n ame==c})){ !c.groups& &(c.groups =[]);if(b& &(b=CKEDIT OR.tools.i ndexOf(c.g roups,b),0 <=b)){c.gr oups.splic e(b+1,0,a) ;return}l? c.groups.s plice(0,0, a):c.group s.push(a); return}b=n ull}b&&(b= CKEDITOR.t ools.index Of(f,funct ion(a){ret urn a.name ==b}));l?f .splice(0, 0,a):"numb er"==typeo f b?f.spli ce(b+1,0,h ):f.push(a )}}(),CKED ITOR.UI_SE PARATOR="s eparator", CKEDITOR.c onfig.tool barLocatio n="top","u se strict" ,function( ){var a=        
988   [CKEDITOR. CTRL+90,CK EDITOR.CTR L+89,CKEDI TOR.CTRL+C KEDITOR.SH IFT+90],e= {8:1,46:1} ;CKEDITOR. plugins.ad d("undo",{ init:funct ion(c){fun ction d(a) {g.enabled &&!1!==a.d ata.comman d.canUndo& &g.save()} function e (){g.enabl ed=c.readO nly?!1:"wy siwyg"==c. mode;g.onC hange()}va r g=c.undo Manager=ne w b(c),m=g .editingHa ndler=new  k(g),r=c.a ddCommand( "undo",{ex ec:functio n(){g.undo ()&&(c.sel ectionChan ge(),this. fire("afte rUndo"))}, startDisab led:!0,can Undo:!1}), t=c.addCom mand("redo ",{exec:fu nction(){g .redo()&&( c.selectio nChange(),        
989   this.fire( "afterRedo "))},start Disabled:! 0,canUndo: !1});c.set Keystroke( [[a[0],"un do"],[a[1] ,"redo"],[ a[2],"redo "]]);g.onC hange=func tion(){r.s etState(g. undoable() ?CKEDITOR. TRISTATE_O FF:CKEDITO R.TRISTATE _DISABLED) ;t.setStat e(g.redoab le()?CKEDI TOR.TRISTA TE_OFF:CKE DITOR.TRIS TATE_DISAB LED)};c.on ("beforeCo mmandExec" ,d);c.on(" afterComma ndExec",d) ;c.on("sav eSnapshot" ,function( a){g.save( a.data&&a. data.conte ntOnly)}); c.on("cont entDom",m. attachList eners,m);c .on("insta nceReady", function() {c.fire("s aveSnapsho t")});        
990   c.on("befo reModeUnlo ad",functi on(){"wysi wyg"==c.mo de&&g.save (!0)});c.o n("mode",e );c.on("re adOnly",e) ;c.ui.addB utton&&(c. ui.addButt on("Undo", {label:c.l ang.undo.u ndo,comman d:"undo",t oolbar:"un do,10"}),c .ui.addBut ton("Redo" ,{label:c. lang.undo. redo,comma nd:"redo", toolbar:"u ndo,20"})) ;c.resetUn do=functio n(){g.rese t();c.fire ("saveSnap shot")};c. on("update Snapshot", function() {g.current Image&&g.u pdate()}); c.on("lock Snapshot", function(a ){a=a.data ;g.lock(a& &a.dontUpd ate,a&&a.f orceUpdate )});c.on(" unlockSnap shot",        
991   g.unlock,g )}});CKEDI TOR.plugin s.undo={}; var b=CKED ITOR.plugi ns.undo.Un doManager= function(a ){this.str okesRecord ed=[0,0];t his.locked =null;this .previousK eyGroup=-1 ;this.limi t=a.config .undoStack Size||20;t his.stroke sLimit=25; this.edito r=a;this.r eset()};b. prototype= {type:func tion(a,c){ var d=b.ge tKeyGroup( a),e=this. strokesRec orded[d]+1 ;c=c||e>=t his.stroke sLimit;thi s.typing|| (this.hasU ndo=this.t yping=!0,t his.hasRed o=!1,this. onChange() );c?(e=0,t his.editor .fire("sav eSnapshot" )):this.ed itor.fire( "change"); this.strok esRecorded [d]=        
992   e;this.pre viousKeyGr oup=d},key GroupChang ed:functio n(a){retur n b.getKey Group(a)!= this.previ ousKeyGrou p},reset:f unction(){ this.snaps hots=[];th is.index=- 1;this.cur rentImage= null;this. hasRedo=th is.hasUndo =!1;this.l ocked=null ;this.rese tType()},r esetType:f unction(){ this.strok esRecorded =[0,0];thi s.typing=! 1;this.pre viousKeyGr oup=-1},re freshState :function( ){this.has Undo=!!thi s.getNextI mage(!0);t his.hasRed o=!!this.g etNextImag e(!1);this .resetType ();this.on Change()}, save:funct ion(a,b,d) {var e=thi s.editor;i f(this.loc ked||        
993   "ready"!=e .status||" wysiwyg"!= e.mode)ret urn!1;var  k=e.editab le();if(!k ||"ready"! =k.status) return!1;k =this.snap shots;b||( b=new c(e) );if(!1=== b.contents )return!1; if(this.cu rrentImage )if(b.equa lsContent( this.curre ntImage)){ if(a||b.eq ualsSelect ion(this.c urrentImag e))return! 1}else!1!= =d&&e.fire ("change") ;k.splice( this.index +1,k.lengt h-this.ind ex-1);k.le ngth==this .limit&&k. shift();th is.index=k .push(b)-1 ;this.curr entImage=b ;!1!==d&&t his.refres hState();r eturn!0},r estoreImag e:function (a){var b= this.edito r,        
994   c;a.bookma rks&&(b.fo cus(),c=b. getSelecti on());this .locked={l evel:999}; this.edito r.loadSnap shot(a.con tents);a.b ookmarks?c .selectBoo kmarks(a.b ookmarks): CKEDITOR.e nv.ie&&(c= this.edito r.document .getBody() .$.createT extRange() ,c.collaps e(!0),c.se lect());th is.locked= null;this. index=a.in dex;this.c urrentImag e=this.sna pshots[thi s.index];t his.update ();this.re freshState ();b.fire( "change")} ,getNextIm age:functi on(a){var  b=this.sna pshots,c=t his.curren tImage,d;i f(c)if(a)f or(d=this. index-1;0< =d;d--){if (a=b[d],!c .equalsCon tent(a))re turn a.ind ex=        
995   d,a}else f or(d=this. index+1;d< b.length;d ++)if(a=b[ d],!c.equa lsContent( a))return  a.index=d, a;return n ull},redoa ble:functi on(){retur n this.ena bled&&this .hasRedo}, undoable:f unction(){ return thi s.enabled& &this.hasU ndo},undo: function() {if(this.u ndoable()) {this.save (!0);var a =this.getN extImage(! 0);if(a)re turn this. restoreIma ge(a),!0}r eturn!1},r edo:functi on(){if(th is.redoabl e()&&(this .save(!0), this.redoa ble())){va r a=this.g etNextImag e(!1);if(a )return th is.restore Image(a),! 0}return!1 },update:f unction(a) {if(!this. locked){a| |        
996   (a=new c(t his.editor ));for(var  b=this.in dex,d=this .snapshots ;0<b&&this .currentIm age.equals Content(d[ b-1]);)--b ;d.splice( b,this.ind ex-b+1,a); this.index =b;this.cu rrentImage =a}},updat eSelection :function( a){if(!thi s.snapshot s.length)r eturn!1;va r b=this.s napshots,c =b[b.lengt h-1];retur n c.equals Content(a) &&!c.equal sSelection (a)?(this. currentIma ge=b[b.len gth-1]=a,! 0):!1},loc k:function (a,b){if(t his.locked )this.lock ed.level++ ;else if(a )this.lock ed={level: 1};else{va r d=null;i f(b)d=!0;e lse{var e= new c(this .editor,        
997   !0);this.c urrentImag e&&this.cu rrentImage .equalsCon tent(e)&&( d=e)}this. locked={up date:d,lev el:1}}},un lock:funct ion(){if(t his.locked &&!--this. locked.lev el){var a= this.locke d.update;t his.locked =null;if(! 0===a)this .update(); else if(a) {var b=new  c(this.ed itor,!0);a .equalsCon tent(b)||t his.update ()}}}};b.n avigationK eyCodes={3 7:1,38:1,3 9:1,40:1,3 6:1,35:1,3 3:1,34:1}; b.keyGroup s={PRINTAB LE:0,FUNCT IONAL:1};b .isNavigat ionKey=fun ction(a){r eturn!!b.n avigationK eyCodes[a] };b.getKey Group=func tion(a){va r c=b.keyG roups;        
998   return e[a ]?c.FUNCTI ONAL:c.PRI NTABLE};b. getOpposit eKeyGroup= function(a ){var c=b. keyGroups; return a== c.FUNCTION AL?c.PRINT ABLE:c.FUN CTIONAL};b .ieFunctio nalKeysBug =function( a){return  CKEDITOR.e nv.ie&&b.g etKeyGroup (a)==b.key Groups.FUN CTIONAL};v ar c=CKEDI TOR.plugin s.undo.Ima ge=functio n(a,b){thi s.editor=a ;a.fire("b eforeUndoI mage");var  c=a.getSn apshot();C KEDITOR.en v.ie&&c&&( c=c.replac e(/\s+data -cke-expan do=".*?"/g ,""));this .contents= c;b||(this .bookmarks =(c=c&&a.g etSelectio n())&&c.cr eateBookma rks2(!0)); a.fire("af terUndoIma ge")},        
999   d=/\b(?:hr ef|src|nam e)="[^"]*? "/gi;c.pro totype={eq ualsConten t:function (a){var b= this.conte nts;a=a.co ntents;CKE DITOR.env. ie&&(CKEDI TOR.env.ie 7Compat||C KEDITOR.en v.quirks)& &(b=b.repl ace(d,""), a=a.replac e(d,""));r eturn b!=a ?!1:!0},eq ualsSelect ion:functi on(a){var  b=this.boo kmarks;a=a .bookmarks ;if(b||a){ if(!b||!a| |b.length! =a.length) return!1;f or(var c=0 ;c<b.lengt h;c++){var  d=b[c],e= a[c];if(d. startOffse t!=e.start Offset||d. endOffset! =e.endOffs et||!CKEDI TOR.tools. arrayCompa re(d.start ,e.start)| |!CKEDITOR .tools.arr ayCompare( d.end,        
1000   e.end))ret urn!1}}ret urn!0}};va r k=CKEDIT OR.plugins .undo.Nati veEditingH andler=fun ction(a){t his.undoMa nager=a;th is.ignoreI nputEvent= !1;this.ke yEventsSta ck=new m;t his.lastKe ydownImage =null};k.p rototype={ onKeydown: function(d ){var e=d. data.getKe y();if(229 !==e)if(-1 <CKEDITOR. tools.inde xOf(a,d.da ta.getKeys troke()))d .data.prev entDefault ();else if (this.keyE ventsStack .cleanUp(d ),d=this.u ndoManager ,this.keyE ventsStack .getLast(e )||this.ke yEventsSta ck.push(e) ,this.last KeydownIma ge=new c(d .editor),b .isNavigat ionKey(e)| |        
1001   this.undoM anager.key GroupChang ed(e))if(d .strokesRe corded[0]| |d.strokes Recorded[1 ])d.save(! 1,this.las tKeydownIm age,!1),d. resetType( )},onInput :function( ){if(this. ignoreInpu tEvent)thi s.ignoreIn putEvent=! 1;else{var  a=this.ke yEventsSta ck.getLast ();a||(a=t his.keyEve ntsStack.p ush(0));th is.keyEven tsStack.in crement(a. keyCode);t his.keyEve ntsStack.g etTotalInp uts()>=thi s.undoMana ger.stroke sLimit&&(t his.undoMa nager.type (a.keyCode ,!0),this. keyEventsS tack.reset Inputs())} },onKeyup: function(a ){var d=th is.undoMan ager;        
1002   a=a.data.g etKey();va r e=this.k eyEventsSt ack.getTot alInputs() ;this.keyE ventsStack .remove(a) ;if(!(b.ie Functional KeysBug(a) &&this.las tKeydownIm age&&this. lastKeydow nImage.equ alsContent (new c(d.e ditor,!0)) ))if(0<e)d .type(a);e lse if(b.i sNavigatio nKey(a))th is.onNavig ationKey(! 0)},onNavi gationKey: function(a ){var b=th is.undoMan ager;!a&&b .save(!0,n ull,!1)||b .updateSel ection(new  c(b.edito r));b.rese tType()},i gnoreInput EventListe ner:functi on(){this. ignoreInpu tEvent=!0} ,attachLis teners:fun ction(){va r a=this.u ndoManager .editor,        
1003   c=a.editab le(),d=thi s;c.attach Listener(c ,"keydown" ,function( a){d.onKey down(a);if (b.ieFunct ionalKeysB ug(a.data. getKey())) d.onInput( )},null,nu ll,999);c. attachList ener(c,CKE DITOR.env. ie?"keypre ss":"input ",d.onInpu t,d,null,9 99);c.atta chListener (c,"keyup" ,d.onKeyup ,d,null,99 9);c.attac hListener( c,"paste", d.ignoreIn putEventLi stener,d,n ull,999);c .attachLis tener(c,"d rop",d.ign oreInputEv entListene r,d,null,9 99);c.atta chListener (c.isInlin e()?c:a.do cument.get DocumentEl ement(),"c lick",func tion(){d.o nNavigatio nKey()},        
1004   null,null, 999);c.att achListene r(this.und oManager.e ditor,"blu r",functio n(){d.keyE ventsStack .remove(9) },null,nul l,999)}};v ar m=CKEDI TOR.plugin s.undo.Key EventsStac k=function (){this.st ack=[]};m. prototype= {push:func tion(a){a= this.stack .push({key Code:a,inp uts:0});re turn this. stack[a-1] },getLastI ndex:funct ion(a){if( "number"!= typeof a)r eturn this .stack.len gth-1;for( var b=this .stack.len gth;b--;)i f(this.sta ck[b].keyC ode==a)ret urn b;retu rn-1},getL ast:functi on(a){a=th is.getLast Index(a);r eturn-1!=a ?this.stac k[a]:        
1005   null},incr ement:func tion(a){th is.getLast (a).inputs ++},remove :function( a){a=this. getLastInd ex(a);-1!= a&&this.st ack.splice (a,1)},res etInputs:f unction(a) {if("numbe r"==typeof  a)this.ge tLast(a).i nputs=0;el se for(a=t his.stack. length;a-- ;)this.sta ck[a].inpu ts=0},getT otalInputs :function( ){for(var  a=this.sta ck.length, b=0;a--;)b +=this.sta ck[a].inpu ts;return  b},cleanUp :function( a){a=a.dat a.$;a.ctrl Key||a.met aKey||this .remove(17 );a.shiftK ey||this.r emove(16); a.altKey|| this.remov e(18)}}}() ,function( ){function  a(a){var  b=        
1006   this.edito r,c=a.docu ment,f=c.b ody,l=c.ge tElementBy Id("cke_ac tscrpt");l &&l.parent Node.remov eChild(l); (l=c.getEl ementById( "cke_shims crpt"))&&l .parentNod e.removeCh ild(l);(l= c.getEleme ntById("ck e_basetags crpt"))&&l .parentNod e.removeCh ild(l);f.c ontentEdit able=!0;CK EDITOR.env .ie&&(f.hi deFocus=!0 ,f.disable d=!0,f.rem oveAttribu te("disabl ed"));dele te this._. isLoadingD ata;this.$ =f;c=new C KEDITOR.do m.document (c);this.s etup();thi s.fixIniti alSelectio n();CKEDIT OR.env.ie& &(c.getDoc umentEleme nt().addCl ass(c.$.co mpatMode),        
1007   b.config.e nterMode!= CKEDITOR.E NTER_P&&th is.attachL istener(c, "selection change",fu nction(){v ar a=c.get Body(),d=b .getSelect ion(),e=d& &d.getRang es()[0];e& &a.getHtml ().match(/ ^<p>(?:&nb sp;|<br>)< \/p>$/i)&& e.startCon tainer.equ als(a)&&se tTimeout(f unction(){ e=b.getSel ection().g etRanges() [0];e.star tContainer .equals("b ody")||(a. getFirst() .remove(1) ,e.moveToE lementEdit End(a),e.s elect())}, 0)}));if(C KEDITOR.en v.webkit|| CKEDITOR.e nv.ie&&10< CKEDITOR.e nv.version )c.getDocu mentElemen t().on("mo usedown",f unction(a) {a.data.ge tTarget(). is("html") &&        
1008   setTimeout (function( ){b.editab le().focus ()})});e(b );try{b.do cument.$.e xecCommand ("2D-posit ion",!1,!0 )}catch(h) {}(CKEDITO R.env.geck o||CKEDITO R.env.ie&& "CSS1Compa t"==b.docu ment.$.com patMode)&& this.attac hListener( this,"keyd own",funct ion(a){var  c=a.data. getKeystro ke();if(33 ==c||34==c )if(CKEDIT OR.env.ie) setTimeout (function( ){b.getSel ection().s crollIntoV iew()},0); else if(b. window.$.i nnerHeight >this.$.of fsetHeight ){var d=b. createRang e();d[33== c?"moveToE lementEdit Start":"mo veToElemen tEditEnd"] (this);d.s elect();        
1009   a.data.pre ventDefaul t()}});CKE DITOR.env. ie&&this.a ttachListe ner(c,"blu r",functio n(){try{c. $.selectio n.empty()} catch(a){} });CKEDITO R.env.iOS& &this.atta chListener (c,"touche nd",functi on(){a.foc us()});f=b .document. getElement sByTag("ti tle").getI tem(0);f.d ata("cke-t itle",f.ge tText());C KEDITOR.en v.ie&&(b.d ocument.$. title=this ._.docTitl e);CKEDITO R.tools.se tTimeout(f unction(){ "unloaded" ==this.sta tus&&(this .status="r eady");b.f ire("conte ntDom");th is._.isPen dingFocus& &(b.focus( ),this._.i sPendingFo cus=!1);se tTimeout(f unction(){ b.fire("da taReady")} ,        
1010   0)},0,this )}function  e(a){func tion b(){v ar e;a.edi table().at tachListen er(a,"sele ctionChang e",functio n(){var b= a.getSelec tion().get SelectedEl ement();b& &(e&&(e.de tachEvent( "onresizes tart",c),e =null),b.$ .attachEve nt("onresi zestart",c ),e=b.$)}) }function  c(a){a.ret urnValue=! 1}if(CKEDI TOR.env.ge cko)try{va r e=a.docu ment.$;e.e xecCommand ("enableOb jectResizi ng",!1,!a. config.dis ableObject Resizing); e.execComm and("enabl eInlineTab leEditing" ,!1,!a.con fig.disabl eNativeTab leHandles) }catch(l){ }else CKED ITOR.env.i e&&        
1011   11>CKEDITO R.env.vers ion&&a.con fig.disabl eObjectRes izing&&b(a )}function  b(){var a =[];if(8<= CKEDITOR.d ocument.$. documentMo de){a.push ("html.CSS 1Compat [c ontentedit able\x3dfa lse]{min-h eight:0 !i mportant}" );var b=[] ,c;for(c i n CKEDITOR .dtd.$remo veEmpty)b. push("html .CSS1Compa t "+c+"[co ntentedita ble\x3dfal se]");a.pu sh(b.join( ",")+"{dis play:inlin e-block}") }else CKED ITOR.env.g ecko&&(a.p ush("html{ height:100 % !importa nt}"),a.pu sh("img:-m oz-broken{ -moz-force -broken-im age-icon:1 ;min-width :24px;min- height:24p x}"));        
1012   a.push("ht ml{cursor: text;*curs or:auto}") ;a.push("i mg,input,t extarea{cu rsor:defau lt}");retu rn a.join( "\n")}CKED ITOR.plugi ns.add("wy siwygarea" ,{init:fun ction(a){a .config.fu llPage&&a. addFeature ({allowedC ontent:"ht ml head ti tle; style  [media,ty pe]; body  (*)[id]; m eta link [ *]",requir edContent: "body"});a .addMode(" wysiwyg",f unction(b) {function  e(f){f&&f. removeList ener();a.e ditable(ne w c(a,l.$. contentWin dow.docume nt.body)); a.setData( a.getData( 1),b)}var  f="documen t.open();" +(CKEDITOR .env.ie?"( "+CKEDITOR .tools.fix Domain+        
1013   ")();":"") +"document .close();" ,f=CKEDITO R.env.air? "javascrip t:void(0)" :CKEDITOR. env.ie&&!C KEDITOR.en v.edge?"ja vascript:v oid(functi on(){"+enc odeURIComp onent(f)+" }())":"",l =CKEDITOR. dom.elemen t.createFr omHtml('\x 3ciframe s rc\x3d"'+f +'" frameB order\x3d" 0"\x3e\x3c /iframe\x3 e');l.setS tyles({wid th:"100%", height:"10 0%"});l.ad dClass("ck e_wysiwyg_ frame").ad dClass("ck e_reset"); f=a.ui.spa ce("conten ts");f.app end(l);var  h=CKEDITO R.env.ie&& !CKEDITOR. env.edge|| CKEDITOR.e nv.gecko;i f(h)l.on(" load",e);v ar g=a.tit le,        
1014   n=a.fire(" ariaEditor HelpLabel" ,{}).label ;g&&(CKEDI TOR.env.ie &&n&&(g+=" , "+n),l.s etAttribut e("title", g));if(n){ var g=CKED ITOR.tools .getNextId (),r=CKEDI TOR.dom.el ement.crea teFromHtml ('\x3cspan  id\x3d"'+ g+'" class \x3d"cke_v oice_label "\x3e'+n+" \x3c/span\ x3e");f.ap pend(r,1); l.setAttri bute("aria -described by",g)}a.o n("beforeM odeUnload" ,function( a){a.remov eListener( );r&&r.rem ove()});l. setAttribu tes({tabIn dex:a.tabI ndex,allow Transparen cy:"true"} );!h&&e(); a.fire("ar iaWidget", l)})}});CK EDITOR.edi tor.protot ype.addCon tentsCss=        
1015   function(a ){var b=th is.config, c=b.conten tsCss;CKED ITOR.tools .isArray(c )||(b.cont entsCss=c? [c]:[]);b. contentsCs s.push(a)} ;var c=CKE DITOR.tool s.createCl ass({$:fun ction(){th is.base.ap ply(this,a rguments); this._.fra meLoadedHa ndler=CKED ITOR.tools .addFuncti on(functio n(b){CKEDI TOR.tools. setTimeout (a,0,this, b)},this); this._.doc Title=this .getWindow ().getFram e().getAtt ribute("ti tle")},bas e:CKEDITOR .editable, proto:{set Data:funct ion(a,c){v ar e=this. editor;if( c)this.set Html(a),th is.fixInit ialSelecti on(),e.fir e("dataRea dy");        
1016   else{this. _.isLoadin gData=!0;e ._.dataSto re={id:1}; var f=e.co nfig,l=f.f ullPage,h= f.docType, g=CKEDITOR .tools.bui ldStyleHtm l(b()).rep lace(/<sty le>/,'\x3c style data -cke-temp\ x3d"1"\x3e ');l||(g+= CKEDITOR.t ools.build StyleHtml( e.config.c ontentsCss ));var n=f .baseHref? '\x3cbase  href\x3d"' +f.baseHre f+'" data- cke-temp\x 3d"1" /\x3 e':"";l&&( a=a.replac e(/<!DOCTY PE[^>]*>/i ,function( a){e.docTy pe=h=a;ret urn""}).re place(/<\? xml\s[^\?] *\?>/i,fun ction(a){e .xmlDeclar ation=a;re turn""})); a=e.dataPr ocessor.to Html(a);l? (/<body[\s |>]/.test( a)||        
1017   (a="\x3cbo dy\x3e"+a) ,/<html[\s |>]/.test( a)||(a="\x 3chtml\x3e "+a+"\x3c/ html\x3e") ,/<head[\s |>]/.test( a)?/<title [\s|>]/.te st(a)||(a= a.replace( /<head[^>] *>/,"$\x26 \x3ctitle\ x3e\x3c/ti tle\x3e")) :a=a.repla ce(/<html[ ^>]*>/,"$\ x26\x3chea d\x3e\x3ct itle\x3e\x 3c/title\x 3e\x3c/hea d\x3e"),n& &(a=a.repl ace(/<head [^>]*?>/," $\x26"+n)) ,a=a.repla ce(/<\/hea d\s*>/,g+" $\x26"),a= h+a):a=f.d ocType+'\x 3chtml dir \x3d"'+f.c ontentsLan gDirection +'" lang\x 3d"'+(f.co ntentsLang uage||e.la ngCode)+'" \x3e\x3che ad\x3e\x3c title\x3e' +        
1018   this._.doc Title+"\x3 c/title\x3 e"+n+g+"\x 3c/head\x3 e\x3cbody" +(f.bodyId ?' id\x3d" '+f.bodyId +'"':"")+( f.bodyClas s?' class\ x3d"'+f.bo dyClass+'" ':"")+"\x3 e"+a+"\x3c /body\x3e\ x3c/html\x 3e";CKEDIT OR.env.gec ko&&(a=a.r eplace(/<b ody/,'\x3c body conte nteditable \x3d"true"  '),2E4>CK EDITOR.env .version&& (a=a.repla ce(/<body[ ^>]*>/,"$\ x26\x3c!--  cke-conte nt-start - -\x3e"))); f='\x3cscr ipt id\x3d "cke_actsc rpt" type\ x3d"text/j avascript" '+(CKEDITO R.env.ie?'  defer\x3d "defer" ': "")+"\x3ev ar wasLoad ed\x3d0;fu nction onl oad(){if(! wasLoaded) window.par ent.CKEDIT OR.tools.c allFunctio n("+        
1019   this._.fra meLoadedHa ndler+",wi ndow);wasL oaded\x3d1 ;}"+(CKEDI TOR.env.ie ?"onload() ;":'docume nt.addEven tListener( "DOMConten tLoaded",  onload, fa lse );')+" \x3c/scrip t\x3e";CKE DITOR.env. ie&&9>CKED ITOR.env.v ersion&&(f +='\x3cscr ipt id\x3d "cke_shims crpt"\x3ew indow.pare nt.CKEDITO R.tools.en ableHtml5E lements(do cument)\x3 c/script\x 3e');n&&CK EDITOR.env .ie&&10>CK EDITOR.env .version&& (f+='\x3cs cript id\x 3d"cke_bas etagscrpt" \x3evar ba seTag \x3d  document. querySelec tor( "base " );baseTa g.href \x3 d baseTag. href;\x3c/ script\x3e ');        
1020   a=a.replac e(/(?=\s*< \/(:?head) >)/,f);thi s.clearCus tomData(); this.clear Listeners( );e.fire(" contentDom Unload");v ar r=this. getDocumen t();try{r. write(a)}c atch(t){se tTimeout(f unction(){ r.write(a) },0)}}},ge tData:func tion(a){if (a)return  this.getHt ml();a=thi s.editor;v ar b=a.con fig,c=b.fu llPage,e=c &&a.docTyp e,l=c&&a.x mlDeclarat ion,h=this .getDocume nt(),c=c?h .getDocume ntElement( ).getOuter Html():h.g etBody().g etHtml();C KEDITOR.en v.gecko&&b .enterMode !=CKEDITOR .ENTER_BR& &(c=c.repl ace(/<br>( ?=\s*(:?$| <\/body>)) /,        
1021   ""));c=a.d ataProcess or.toDataF ormat(c);l &&(c=l+"\n "+c);e&&(c =e+"\n"+c) ;return c} ,focus:fun ction(){th is._.isLoa dingData?t his._.isPe ndingFocus =!0:c.base Proto.focu s.call(thi s)},detach :function( ){var a=th is.editor, b=a.docume nt,a=a.win dow.getFra me();c.bas eProto.det ach.call(t his);this. clearCusto mData();b. getDocumen tElement() .clearCust omData();a .clearCust omData();C KEDITOR.to ols.remove Function(t his._.fram eLoadedHan dler);(b=a .removeCus tomData("o nResize")) &&b.remove Listener() ;a.remove( )}}})}(),C KEDITOR.co nfig.disab leObjectRe sizing=        
1022   !1,CKEDITO R.config.d isableNati veTableHan dles=!0,CK EDITOR.con fig.disabl eNativeSpe llChecker= !0,CKEDITO R.config.c ontentsCss =CKEDITOR. getUrl("co ntents.css "),CKEDITO R.config.p lugins="di alogui,dia log,a11yhe lp,about,b asicstyles ,bidi,bloc kquote,cli pboard,but ton,panelb utton,pane l,floatpan el,colorbu tton,color dialog,men u,contextm enu,dialog advtab,div ,elementsp ath,enterk ey,entitie s,popup,fi lebrowser, find,fakeo bjects,fla sh,floatin gspace,lis tblock,ric hcombo,fon t,format,f orms,horiz ontalrule, htmlwriter ,iframe,im age,indent ,indentlis t,indentbl ock,justif y,link,lis t,liststyl e,magiclin e,maximize ,newpage,p agebreak,p astefromwo rd,pastete xt,preview ,print,rem oveformat, resize,sav e,selectal l,showbloc ks,showbor ders,smile y,sourcear ea,special char,style scombo,tab ,table,tab letools,te mplates,to olbar,undo ,wysiwygar ea",        
1023   CKEDITOR.c onfig.skin ="moono",f unction(){ var a=func tion(a,b){ var c=CKED ITOR.getUr l("plugins /"+b);a=a. split(",") ;for(var d =0;d<a.len gth;d++)CK EDITOR.ski n.icons[a[ d]]={path: c,offset:- a[++d],bgs ize:a[++d] }};CKEDITO R.env.hidp i?a("about ,0,,bold,2 4,,italic, 48,,strike ,72,,subsc ript,96,,s uperscript ,120,,unde rline,144, ,bidiltr,1 68,,bidirt l,192,,blo ckquote,21 6,,copy-rt l,240,,cop y,264,,cut -rtl,288,, cut,312,,p aste-rtl,3 36,,paste, 360,,codes nippet,384 ,,bgcolor, 408,,textc olor,432,, creatediv, 456,,docpr ops-rtl,48 0,,docprop s,504,,emb ed,528,,em bedsemanti c,552,,fin d-rtl,576, ,find,600, ,replace,6 24,,flash, 648,,butto n,672,,che ckbox,696, ,form,720, ,hiddenfie ld,744,,im agebutton, 768,,radio ,792,,sele ct-rtl,816 ,,select,8 40,,textar ea-rtl,864 ,,textarea ,888,,text field-rtl, 912,,textf ield,936,, horizontal rule,960,, iframe,984 ,,image,10 08,,indent -rtl,1032, ,indent,10 56,,outden t-rtl,1080 ,,outdent, 1104,,just ifyblock,1 128,,justi fycenter,1 152,,justi fyleft,117 6,,justify right,1200 ,,language ,1224,,anc hor-rtl,12 48,,anchor ,1272,,lin k,1296,,un link,1320, ,bulletedl ist-rtl,13 44,,bullet edlist,136 8,,numbere dlist-rtl, 1392,,numb eredlist,1 416,,mathj ax,1440,,m aximize,14 64,,newpag e-rtl,1488 ,,newpage, 1512,,page break-rtl, 1536,,page break,1560 ,,pastefro mword-rtl, 1584,,past efromword, 1608,,past etext-rtl, 1632,,past etext,1656 ,,placehol der,1680,, preview-rt l,1704,,pr eview,1728 ,,print,17 52,,remove format,177 6,,save,18 00,,select all,1824,, showblocks -rtl,1848, ,showblock s,1872,,sm iley,1896, ,source-rt l,1920,,so urce,1944, ,sourcedia log-rtl,19 68,,source dialog,199 2,,special char,2016, ,table,204 0,,templat es-rtl,206 4,,templat es,2088,,u icolor,211 2,,redo-rt l,2136,,re do,2160,,u ndo-rtl,21 84,,undo,2 208,,simpl ebox,4464, auto",        
1024   "icons_hid pi.png"):a ("about,0, auto,bold, 24,auto,it alic,48,au to,strike, 72,auto,su bscript,96 ,auto,supe rscript,12 0,auto,und erline,144 ,auto,bidi ltr,168,au to,bidirtl ,192,auto, blockquote ,216,auto, copy-rtl,2 40,auto,co py,264,aut o,cut-rtl, 288,auto,c ut,312,aut o,paste-rt l,336,auto ,paste,360 ,auto,code snippet,38 4,auto,bgc olor,408,a uto,textco lor,432,au to,created iv,456,aut o,docprops -rtl,480,a uto,docpro ps,504,aut o,embed,52 8,auto,emb edsemantic ,552,auto, find-rtl,5 76,auto,fi nd,600,aut o,replace, 624,auto,f lash,648,a uto,button ,672,auto, checkbox,6 96,auto,fo rm,720,aut o,hiddenfi eld,744,au to,imagebu tton,768,a uto,radio, 792,auto,s elect-rtl, 816,auto,s elect,840, auto,texta rea-rtl,86 4,auto,tex tarea,888, auto,textf ield-rtl,9 12,auto,te xtfield,93 6,auto,hor izontalrul e,960,auto ,iframe,98 4,auto,ima ge,1008,au to,indent- rtl,1032,a uto,indent ,1056,auto ,outdent-r tl,1080,au to,outdent ,1104,auto ,justifybl ock,1128,a uto,justif ycenter,11 52,auto,ju stifyleft, 1176,auto, justifyrig ht,1200,au to,languag e,1224,aut o,anchor-r tl,1248,au to,anchor, 1272,auto, link,1296, auto,unlin k,1320,aut o,bulleted list-rtl,1 344,auto,b ulletedlis t,1368,aut o,numbered list-rtl,1 392,auto,n umberedlis t,1416,aut o,mathjax, 1440,auto, maximize,1 464,auto,n ewpage-rtl ,1488,auto ,newpage,1 512,auto,p agebreak-r tl,1536,au to,pagebre ak,1560,au to,pastefr omword-rtl ,1584,auto ,pastefrom word,1608, auto,paste text-rtl,1 632,auto,p astetext,1 656,auto,p laceholder ,1680,auto ,preview-r tl,1704,au to,preview ,1728,auto ,print,175 2,auto,rem oveformat, 1776,auto, save,1800, auto,selec tall,1824, auto,showb locks-rtl, 1848,auto, showblocks ,1872,auto ,smiley,18 96,auto,so urce-rtl,1 920,auto,s ource,1944 ,auto,sour cedialog-r tl,1968,au to,sourced ialog,1992 ,auto,spec ialchar,20 16,auto,ta ble,2040,a uto,templa tes-rtl,20 64,auto,te mplates,20 88,auto,ui color,2112 ,auto,redo -rtl,2136, auto,redo, 2160,auto, undo-rtl,2 184,auto,u ndo,2208,a uto,simple box,2232,a uto",        
1025   "icons.png ")}())})() ;