t&&window.scrollTo(window.pageXOffset,t-L.adminBarHeight),N(),r()},100),r()}"content"===a.id&&((l=a).settings.autoresize_min_height=K,x=m.find(".mce-toolbar-grp"),B=m.find(".mce-edit-area"),S=m.find(".mce-statusbar"),O=m.find(".mce-menubar"),h=function(){a.on("keyup",o),a.on("show",i),a.on("hide",n),a.on("setcontent wp-autoresize wp-toolbar-toggle",r),f.off("scroll.mce-float-panels").on("scroll.mce-float-panels",e)},p=function(){a.off("keyup",o),a.off("show",i),a.off("hide",n),a.off("setcontent wp-autoresize wp-toolbar-toggle",r),f.off("scroll.mce-float-panels")},d.hasClass("wp-editor-expand")&&(h(),w(r)))}),d.hasClass("wp-editor-expand")&&(n(),m.hasClass("html-active")&&w(function(){r(),N()})),s("#adv-settings .editor-expand").show(),s("#editor-expand-toggle").on("change.editor-expand",function(){s(this).prop("checked")?(n(),window.setUserSetting("editor_expand","on")):(a(),window.setUserSetting("editor_expand","off"))}),window.editorExpand={on:n,off:a}});
\ No newline at end of file
diff --git a/wp-admin/js/editor.min.js b/wp-admin/js/editor.min.js
index fd5e97c5ca..c9a72b48ba 100644
--- a/wp-admin/js/editor.min.js
+++ b/wp-admin/js/editor.min.js
@@ -1 +1 @@
-window.switchEditors={switchto:function(a){var b=a.id,c=b.length,d=b.substr(0,c-5),e=b.substr(c-4);this.go(d,e)},go:function(a,b){function c(){var a=k.select(".mce-toolbar-grp",d.getContainer())[0],b=a&&a.clientHeight;return b&&b>10&&200>b?parseInt(b,10):30}var d,e,f,g,h,i,j=this,k=tinymce.DOM;if(a=a||"content",b=b||"toggle",d=tinymce.get(a),e="wp-"+a+"-wrap",f=k.get(a),"toggle"===b&&(b=d&&!d.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(d&&!d.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),h=f?parseInt(f.style.height,10):0,tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.wpautop(f.value)),d?(d.show(),!tinymce.Env.iOS&&h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(tinymce.Env.iOS||(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px"))),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/ (\r\n|\n)?/g,""),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,""),a.replace(/\r?\n/g,"")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/ ]*)>/g,"").replace(/[\r\n\t]+/,"")})),b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",a=a.replace(new RegExp("\\s*("+b+")>\\s*","g"),"$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(]+>.*?)<\/p>/g,"$1
"),a=a.replace(/]*)?>\s*
/gi,"
\n\n"),a=a.replace(/\s*
/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s* \s*/gi,"\n"),a=a.replace(/\s*
\s*/g,"
\n"),a=a.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n"),a=a.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption"),c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*("+c+")>\\s*","g"),"$1>\n"),a=a.replace(/
]*)>/g," "),-1!==a.indexOf("/g,"\n")),-1!==a.indexOf(" ]*)?>\s*/g,"\n\n \n\n")),-1!==a.indexOf("/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"\n"),a=a.replace(/\s*(]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(//g,"\n")),e&&(a=a.replace(/]*)>/g," ")),a},_wp_Autop:function(a){var b=!1,c=!1,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==a.indexOf("/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/ ]*)>/g,""),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g," ")})),a+="\n\n",a=a.replace(/ \s* /gi,"\n\n"),a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1"),a=a.replace(new RegExp("((?:"+d+")>)","gi"),"$1\n\n"),a=a.replace(/ ]*)?>/gi," \n\n"),a=a.replace(/\s*\s*/gi," "),a=a.replace(/\r\n|\r/g,"\n"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"$1
\n"),a=a.replace(/\s*?<\/p>/gi,""),a=a.replace(new RegExp("
\\s*(?(?:"+d+")(?: [^>]*)?>)\\s*
","gi"),"$1"),a=a.replace(/(
/gi,"$1"),a=a.replace(/\s*
]*)>/gi,""),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"
"),a=a.replace(new RegExp("\\s*(?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(?(?:"+d+")(?: [^>]*)?>)\\s*
","gi"),"$1"),a=a.replace(/\s*\n/gi," \n"),a=a.replace(new RegExp("(?(?:"+d+")[^>]*>)\\s* ","gi"),"$1"),a=a.replace(/ (\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:| )*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>| )*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/
]*)?>/)?a:b+"
"+c+"
"}),b&&(a=a.replace(//g,"\n")),c&&(a=a.replace(/]*)>/g," ")),a},pre_wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforePreWpautop",[c]),c.data=b._wp_Nop(c.data),d&&jQuery("body").trigger("afterPreWpautop",[c]),c.data},wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforeWpautop",[c]),c.data=b._wp_Autop(c.data),d&&jQuery("body").trigger("afterWpautop",[c]),c.data}};
\ No newline at end of file
+window.switchEditors={switchto:function(e){var t=e.id,r=t.length,e=t.substr(0,r-5),r=t.substr(r-4);this.go(e,r)},go:function(e,t){var r,n,p,i,a=tinymce.DOM;function c(){var e=a.select(".mce-toolbar-grp",r.getContainer())[0],e=e&&e.clientHeight;return e&&10]*>[\s\S]+?<\/\1>/g,function(e){return(e=(e=e.replace(/ (\r\n|\n)?/g,"")).replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"")).replace(/\r?\n/g,"")})),-1!==e.indexOf("[caption")&&(p=!0,e=e.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){return e.replace(/ ]*)>/g,"").replace(/[\r\n\t]+/,"")})),t="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",r="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",e=(e=(e=(e=(e=-1!==(e=-1!==(e=-1!==(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(new RegExp("\\s*("+t+")>\\s*","g"),"$1>\n")).replace(new RegExp("\\s*<((?:"+t+")(?: [^>]*)?)>","g"),"\n<$1>")).replace(/(]+>.*?)<\/p>/g,"$1
")).replace(/]*)?>\s*
/gi,"
\n\n")).replace(/\s*
/gi,"")).replace(/\s*<\/p>\s*/gi,"\n\n")).replace(/\n[\s\u00a0]+\n/g,"\n\n")).replace(/\s* \s*/gi,"\n")).replace(/\s*
\s*/g,"
\n")).replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n")).replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption")).replace(new RegExp("\\s*<((?:"+r+")(?: [^>]*)?)\\s*>","g"),"\n<$1>")).replace(new RegExp("\\s*("+r+")>\\s*","g"),"$1>\n")).replace(/
]*)>/g,"\t ")).indexOf("/g,"\n"):e).indexOf(" ]*)?>\s*/g,"\n\n \n\n"):e).indexOf("/g,function(e){return e.replace(/[\r\n]+/g,"")}):e).replace(/<\/p#>/g,"\n")).replace(/\s*(]+>[\s\S]*?<\/p>)/g,"\n$1")).replace(/^\s+/,"")).replace(/[\s\u00a0]+$/,""),n&&(e=e.replace(//g,"\n")),e=p?e.replace(/]*)>/g," "):e},_wp_Autop:function(e){var t=!1,r=!1,n="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1===(e=(e=-1!==e.indexOf("/g,function(e){return e.replace(/[\r\n]+/g,"")}):e).replace(/<[^<>]+>/g,function(e){return e.replace(/[\r\n]+/g," ")})).indexOf("]*>[\s\S]+?<\/\1>/g,function(e){return e.replace(/(\r\n|\n)/g,"")})),-1!==e.indexOf("[caption")&&(r=!0,e=e.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){return(e=(e=e.replace(/ ]*)>/g,"")).replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")})).replace(/\s*\n\s*/g," ")})),e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e+="\n\n").replace(/ \s* /gi,"\n\n")).replace(new RegExp("(<(?:"+n+")(?: [^>]*)?>)","gi"),"\n$1")).replace(new RegExp("((?:"+n+")>)","gi"),"$1\n\n")).replace(/ ]*)?>/gi," \n\n")).replace(/\s*\s*/gi," ")).replace(/\r\n|\r/g,"\n")).replace(/\n\s*\n+/g,"\n\n")).replace(/([\s\S]+?)\n\n/g,"$1
\n")).replace(/\s*?<\/p>/gi,"")).replace(new RegExp("
\\s*(?(?:"+n+")(?: [^>]*)?>)\\s*
","gi"),"$1")).replace(/(
/gi,"$1")).replace(/\s*
]*)>/gi,"")).replace(/<\/blockquote>\s*<\/p>/gi,"
")).replace(new RegExp("\\s*(?(?:"+n+")(?: [^>]*)?>)","gi"),"$1")).replace(new RegExp("(?(?:"+n+")(?: [^>]*)?>)\\s*
","gi"),"$1")).replace(/\s*\n/gi," \n")).replace(new RegExp("(?(?:"+n+")[^>]*>)\\s* ","gi"),"$1")).replace(/ (\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1")).replace(/(?:| )*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>| )*/gi,"[caption$1[/caption]")).replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,t,r){return r.match(/
]*)?>/)?e:t+"
"+r+"
"}),t&&(e=e.replace(//g,"\n")),e=r?e.replace(/]*)>/g," "):e},pre_wpautop:function(e){var t={o:this,data:e,unfiltered:e},e="undefined"!=typeof jQuery;return e&&jQuery("body").trigger("beforePreWpautop",[t]),t.data=this._wp_Nop(t.data),e&&jQuery("body").trigger("afterPreWpautop",[t]),t.data},wpautop:function(e){var t={o:this,data:e,unfiltered:e},e="undefined"!=typeof jQuery;return e&&jQuery("body").trigger("beforeWpautop",[t]),t.data=this._wp_Autop(t.data),e&&jQuery("body").trigger("afterWpautop",[t]),t.data}};
\ No newline at end of file
diff --git a/wp-admin/js/gallery.min.js b/wp-admin/js/gallery.min.js
index bcfc88a3ef..1b3c97525a 100644
--- a/wp-admin/js/gallery.min.js
+++ b/wp-admin/js/gallery.min.js
@@ -1 +1 @@
-jQuery(document).ready(function(a){var b,c,d,e,f,g=!1;c=function(){b=a("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(){var b=a("#media-items").sortable("toArray"),c=b.length;a.each(b,function(b,d){var e=g?c-b:1+b;a("#"+d+" .menu_order input").val(e)})}})},d=function(){var b=a(".menu_order_input"),c=b.length;b.each(function(b){var d=g?c-b:1+b;a(this).val(d)})},e=function(b){b=b||0,a(".menu_order_input").each(function(){("0"===this.value||b)&&(this.value="")})},a("#asc").click(function(){return g=!1,d(),!1}),a("#desc").click(function(){return g=!0,d(),!1}),a("#clear").click(function(){return e(1),!1}),a("#showall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").hide(),a("a.describe-toggle-off, table.slidetoggle").show(),a("img.pinkynail").toggle(!1),!1}),a("#hideall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").show(),a("a.describe-toggle-off, table.slidetoggle").hide(),a("img.pinkynail").toggle(!0),!1}),c(),e(),a("#media-items>*").length>1&&(f=wpgallery.getWin(),a("#save-all, #gallery-settings").show(),"undefined"!=typeof f.tinyMCE&&f.tinyMCE.activeEditor&&!f.tinyMCE.activeEditor.isHidden()?(wpgallery.mcemode=!0,wpgallery.init()):a("#insert-gallery").show())}),jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:!1,editor:{},dom:{},is_update:!1,el:{},I:function(a){return document.getElementById(a)},init:function(){var a,b,c,d,e=this,f=e.getWin();if(e.mcemode){for(a=(""+document.location.search).replace(/^\?/,"").split("&"),b={},c=0;c*").length&&(e=wpgallery.getWin(),n("#save-all, #gallery-settings").show(),void 0!==e.tinyMCE&&e.tinyMCE.activeEditor&&!e.tinyMCE.activeEditor.isHidden()?(wpgallery.mcemode=!0,wpgallery.init()):n("#insert-gallery").show())}),jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinyMCE,tinymce=null,wpgallery={mcemode:!1,editor:{},dom:{},is_update:!1,el:{},I:function(e){return document.getElementById(e)},init:function(){var e,t,i,n,l=this,o=l.getWin();if(l.mcemode){for(e=(""+document.location.search).replace(/^\?/,"").split("&"),t={},i=0;i36&&41>c&&a(this).blur(),13===c?(b.preventDefault(),b.stopPropagation(),!1):void 0})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.height(a("#imgedit-panel-"+b).height()).fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){return a(b).parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c){var d=a("#imgedit-scale-width-"+b),e=a("#imgedit-scale-height-"+b),f=a("#imgedit-scale-warn-"+b),g="",h="";c?(h=""!==d.val()?Math.round(d.val()/this.hold.xy_ratio):"",e.val(h)):(g=""!==e.val()?Math.round(e.val()*this.hold.xy_ratio):"",d.val(g)),h&&h>this.hold.oh||g&&g>this.hold.ow?f.css("visibility","visible"):f.css("visibility","hidden")},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a(' ').on("load",function(){var d,f,h=a("#imgedit-crop-"+c),i=b;h.empty().append(g),d=Math.max(i.hold.w,i.hold.h),f=Math.max(a(g).width(),a(g).height()),i.hold.sizer=d>f?f/d:1,i.initCrop(c,g,h),i.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),i.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),1>h)return f.focus(),!1;if(1>i)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""===g?!1:(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" × "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('"),void(h._view?h._view.save():b.close(c)))}))},open:function(b,c,d){this._view=d;var e,f,g=a("#image-editor-"+b),h=a("#media-head-"+b),i=a("#imgedit-open-btn-"+b),j=i.siblings(".spinner");return i.prop("disabled",!0),j.show(),f={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e=a.ajax({url:ajaxurl,type:"post",data:f}).done(function(a){g.html(a),h.fadeOut("fast",function(){g.fadeIn("fast"),i.removeAttr("disabled"),j.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return a(d).hasClass("disabled")||""===e?!1:(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g0)}))},setNumSelection:function(b){var c,d,e,f,g,h=a("#imgedit-sel-width-"+b),i=a("#imgedit-sel-height-"+b),j=this.intval(h.val()),k=this.intval(i.val()),l=a("#image-preview-"+b),m=l.height(),n=l.width(),o=this.hold.sizer,p=this.iasapi;return 1>j?(h.val(""),!1):1>k?(i.val(""),!1):void(j&&k&&(c=p.getSelection())&&(f=c.x1+Math.round(j*o),g=c.y1+Math.round(k*o),d=c.x1,e=c.y1,f>n&&(d=0,f=n,h.val(Math.round(f/o))),g>m&&(e=0,g=m,i.val(Math.round(g/o))),p.setSelection(d,e,f,g),p.update(),this.setCropSelection(b,p.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();return this.intval(a(d).val())?void(g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))):void a(d).val("")}}}(jQuery);
\ No newline at end of file
+!function(g){var d=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(i){return 0|i},setDisabled:function(i,t){t?(i.removeClass("disabled"),g("input",i).removeAttr("disabled")):(i.addClass("disabled"),g("input",i).prop("disabled",!0))},init:function(i){var t=this,e=g("#image-editor-"+t.postid),a=t.intval(g("#imgedit-x-"+i).val()),o=t.intval(g("#imgedit-y-"+i).val());t.postid!==i&&e.length&&t.close(t.postid),t.hold.w=t.hold.ow=a,t.hold.h=t.hold.oh=o,t.hold.xy_ratio=a/o,t.hold.sizer=parseFloat(g("#imgedit-sizer-"+i).val()),t.postid=i,g("#imgedit-response-"+i).empty(),g('input[type="text"]',"#imgedit-panel-"+i).keypress(function(i){var t=i.keyCode;if(36this.hold.oh||s&&s>this.hold.ow?o.css("visibility","visible"):o.css("visibility","hidden")},getSelRatio:function(i){var t=this.hold.w,e=this.hold.h,a=this.intval(g("#imgedit-crop-width-"+i).val()),i=this.intval(g("#imgedit-crop-height-"+i).val());return a&&i?a+":"+i:t&&e?t+":"+e:"1:1"},filterHistory:function(i,t){var e,a,o,s=g("#imgedit-history-"+i).val(),n=[];if(""===s)return"";if(s=JSON.parse(s),0<(e=this.intval(g("#imgedit-undone-"+i).val())))for(;0 ').on("load",function(){var i,t,e=g("#imgedit-crop-"+o),a=d;e.empty().append(n),i=Math.max(a.hold.w,a.hold.h),t=Math.max(g(n).width(),g(n).height()),a.hold.sizer=t'+imageEditL10n.error+"
"),t.toggleEditor(o,0)}).attr("src",ajaxurl+"?"+g.param(i))},action:function(t,i,e){var a,o,s,n,d=this;if(d.notsaved(t))return!1;if(a={action:"image-editor",_ajax_nonce:i,postid:t},"scale"===e){if(o=g("#imgedit-scale-width-"+t),s=g("#imgedit-scale-height-"+t),n=d.intval(o.val()),i=d.intval(s.val()),n<1)return o.focus(),!1;if(i<1)return s.focus(),!1;if(n===d.hold.ow||i===d.hold.oh)return!1;a["do"]="scale",a.fwidth=n,a.fheight=i}else{if("restore"!==e)return!1;a["do"]="restore"}d.toggleEditor(t,1),g.post(ajaxurl,a,function(i){g("#image-editor-"+t).empty().append(i),d.toggleEditor(t,0),d._view&&d._view.refresh()})},save:function(t,i){var e=this.getTarget(t),a=this.filterHistory(t,0),o=this;if(""===a)return!1;this.toggleEditor(t,1),e={action:"image-editor",_ajax_nonce:i,postid:t,history:a,target:e,context:g("#image-edit-context").length?g("#image-edit-context").val():null,"do":"save"},g.post(ajaxurl,e,function(i){i=JSON.parse(i);if(i.error)return g("#imgedit-response-"+t).html('
"),void d.close(t);i.fw&&i.fh&&g("#media-dims-"+t).html(i.fw+" × "+i.fh),i.thumbnail&&g(".thumbnail","#thumbnail-head-"+t).attr("src",""+i.thumbnail),i.msg&&g("#imgedit-response-"+t).html('
"),o._view?o._view.save():d.close(t)})},open:function(i,t,e){this._view=e;var a=g("#image-editor-"+i),o=g("#media-head-"+i),s=g("#imgedit-open-btn-"+i),n=s.siblings(".spinner");return s.prop("disabled",!0),n.show(),i={action:"image-editor",_ajax_nonce:t,postid:i,"do":"open"},g.ajax({url:ajaxurl,type:"post",data:i}).done(function(i){a.html(i),o.fadeOut("fast",function(){a.fadeIn("fast"),s.removeAttr("disabled"),n.hide()})})},imgLoaded:function(i){var t=g("#image-preview-"+i),e=g("#imgedit-crop-"+i);this.initCrop(i,t,e),this.setCropSelection(i,0),this.toggleEditor(i,0)},initCrop:function(a,i,t){var o=this,s=g("#imgedit-sel-width-"+a),n=g("#imgedit-sel-height-"+a);o.iasapi=g(i).imgAreaSelect({parent:t,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(i){g(i).next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),t.children().mousedown(function(i){var t,e=!1;i.shiftKey&&(t=o.iasapi.getSelection(),i=o.getSelRatio(a),e=t&&t.width&&t.height?t.width+":"+t.height:i),o.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){d.setDisabled(g("#imgedit-crop-sel-"+a),1)},onSelectEnd:function(i,t){d.setCropSelection(a,t)},onSelectChange:function(i,t){var e=d.hold.sizer;s.val(d.round(t.width/e)),n.val(d.round(t.height/e))}})},setCropSelection:function(i,t){if(!(t=t||0)||t.width<3&&t.height<3)return this.setDisabled(g(".imgedit-crop","#imgedit-panel-"+i),0),this.setDisabled(g("#imgedit-crop-sel-"+i),0),g("#imgedit-sel-width-"+i).val(""),g("#imgedit-sel-height-"+i).val(""),g("#imgedit-selection-"+i).val(""),!1;t={x:t.x1,y:t.y1,w:t.width,h:t.height},this.setDisabled(g(".imgedit-crop","#imgedit-panel-"+i),1),g("#imgedit-selection-"+i).val(JSON.stringify(t))},close:function(i,t){if((t=t||!1)&&this.notsaved(i))return!1;this.iasapi={},this.hold={},this._view?this._view.back():g("#image-editor-"+i).fadeOut("fast",function(){g("#media-head-"+i).fadeIn("fast"),g(this).empty()})},notsaved:function(i){var t=g("#imgedit-history-"+i).val(),t=""!==t?JSON.parse(t):[];return this.intval(g("#imgedit-undone-"+i).val())
0&&b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},setBulk:function(){var b,c="",d=this.type,e=!0;return this.revert(),a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length),a("table.widefat tbody").prepend(a("#bulk-edit")),a("#bulk-edit").addClass("inline-editor").show(),a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){e=!1;var b,d=a(this).val();b=a("#inline_"+d+" .post_title").html()||inlineEditL10n.notitle,c+='"}}),e?this.revert():(a("#bulk-titles").html(c),a("#bulk-titles a").click(function(){var b=a(this).attr("id").substr(1);a('table.widefat input[value="'+b+'"]').prop("checked",!1),a("#ttle"+b).remove()}),"post"===d&&(b="post_tag",a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})),void a("html, body").animate({scrollTop:0},"fast"))},edit:function(b){var c,d,e,f,g,h,i,j,k,l,m=this,n=!0;for(m.revert(),"object"==typeof b&&(b=m.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===m.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(m.what+b).hasClass("alternate")&&a(d).addClass("alternate"),a(m.what+b).hide().after(d),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend(''+a("#"+m.type+"-"+b+" .author").text()+" "),1===a(':input[name="post_author"] option',d).length&&a("label.inline-edit-author",d).hide(),k=a(".post_format",e).text(),a("option.unsupported",d).each(function(){var b=a(this);b.val()!==k&&b.remove()}),l=0;l0){for(h=g[0].className.split("-")[1],i=g;n&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?n=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").hide(),c?-1!==c.indexOf("]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a("#post-"+b).prev().hasClass("alternate")&&a("#post-"+b).removeClass("alternate")},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide(),a("#bulk-titles").html(""),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a(' ').attr("src",e.avatar_src.replace(/&/g,"&")),h.find(".column-title .locked-avatar").empty().append(f)),h.addClass("wp-locked")):h.hasClass("wp-locked")&&h.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send.wp-check-locked-posts",function(b,c){var d=[];a("#the-list tr").each(function(a,b){b.id&&d.push(b.id)}),d.length&&(c["wp-check-locked-posts"]=d)}).ready(function(){"undefined"!=typeof wp&&wp.heartbeat&&wp.heartbeat.interval(15)})}(jQuery);
\ No newline at end of file
+var inlineEditPost;!function(c){inlineEditPost={init:function(){var i=this,t=c("#inline-edit"),e=c("#bulk-edit");i.type=c("table.widefat").hasClass("pages")?"page":"post",i.what="#post-",t.keyup(function(t){if(27===t.which)return inlineEditPost.revert()}),e.keyup(function(t){if(27===t.which)return inlineEditPost.revert()}),c("a.cancel",t).click(function(){return inlineEditPost.revert()}),c("a.save",t).click(function(){return inlineEditPost.save(this)}),c("td",t).keydown(function(t){if(13===t.which)return inlineEditPost.save(this)}),c("a.cancel",e).click(function(){return inlineEditPost.revert()}),c('#inline-edit .inline-edit-private input[value="private"]').click(function(){var t=c("input.inline-edit-password-input");c(this).prop("checked")?t.val("").prop("disabled",!0):t.prop("disabled",!1)}),c("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),c("#bulk-edit").find("fieldset:first").after(c("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(c("#inline-edit label.inline-edit-tags").clone()),c('select[name="_status"] option[value="future"]',e).remove(),c("#doaction, #doaction2").click(function(t){var e=c(this).attr("id").substr(2);"edit"===c('select[name="'+e+'"]').val()?(t.preventDefault(),i.setBulk()):0X '+e+"")}),n)return this.revert();c("#bulk-titles").html(i),c("#bulk-titles a").click(function(){var t=c(this).attr("id").substr(1);c('table.widefat input[value="'+t+'"]').prop("checked",!1),c("#ttle"+t).remove()}),"post"===t&&c('tr.inline-editor textarea[name="tax_input['+(t="post_tag")+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+t,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma}),c("html, body").animate({scrollTop:0},"fast")},edit:function(a){var t,s,e,i,n,l,o,r,d=this,p=!0;for(d.revert(),"object"==typeof a&&(a=d.getId(a)),t=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===d.type&&t.push("post_parent","page_template"),s=c("#inline-edit").clone(!0),c("td",s).attr("colspan",c(".widefat:first thead th:visible").length),c(d.what+a).hasClass("alternate")&&c(s).addClass("alternate"),c(d.what+a).hide().after(s),e=c("#inline_"+a),c(':input[name="post_author"] option[value="'+c(".post_author",e).text()+'"]',s).val()||c(':input[name="post_author"]',s).prepend(''+c("#"+d.type+"-"+a+" .author").text()+" "),1===c(':input[name="post_author"] option',s).length&&c("label.inline-edit-author",s).hide(),o=c(".post_format",e).text(),c("option.unsupported",s).each(function(){var t=c(this);t.val()!==o&&t.remove()}),r=0;r]*?>/g,""),c("#edit-"+e+" .inline-edit-save .error").html(t).show()):c("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show(),c("#post-"+e).prev().hasClass("alternate")&&c("#post-"+e).removeClass("alternate")},"html"),!1},revert:function(){var t=c("table.widefat tr.inline-editor").attr("id");return t&&(c("table.widefat .spinner").hide(),"bulk-edit"===t?(c("table.widefat #bulk-edit").removeClass("inline-editor").hide(),c("#bulk-titles").html(""),c("#inlineedit").append(c("#bulk-edit"))):(c("#"+t).remove(),t=t.substr(t.lastIndexOf("-")+1),c(this.what+t).show())),!1},getId:function(t){t=c(t).closest("tr").attr("id").split("-");return t[t.length-1]}},c(document).ready(function(){inlineEditPost.init()}),c(document).on("heartbeat-tick.wp-check-locked-posts",function(t,e){var n=e["wp-check-locked-posts"]||{};c("#the-list tr").each(function(t,e){var i=e.id,e=c(e);n.hasOwnProperty(i)?e.hasClass("wp-locked")||(i=n[i],e.find(".column-title .locked-text").text(i.text),e.find(".check-column checkbox").prop("checked",!1),i.avatar_src&&(i=c(' ').attr("src",i.avatar_src.replace(/&/g,"&")),e.find(".column-title .locked-avatar").empty().append(i)),e.addClass("wp-locked")):e.hasClass("wp-locked")&&e.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send.wp-check-locked-posts",function(t,e){var i=[];c("#the-list tr").each(function(t,e){e.id&&i.push(e.id)}),i.length&&(e["wp-check-locked-posts"]=i)}).ready(function(){"undefined"!=typeof wp&&wp.heartbeat&&wp.heartbeat.interval(15)})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/inline-edit-tax.min.js b/wp-admin/js/inline-edit-tax.min.js
index 88917407fa..1f4e60ccd4 100644
--- a/wp-admin/js/inline-edit-tax.min.js
+++ b/wp-admin/js/inline-edit-tax.min.js
@@ -1 +1 @@
-var inlineEditTax;!function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("data-wp-lists").substr(5),b.what="#"+b.type+"-",a("#the-list").on("click","a.editinline",function(){return inlineEditTax.edit(this),!1}),c.keyup(function(a){return 27===a.which?inlineEditTax.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditTax.revert()}),a("a.save",c).click(function(){return inlineEditTax.save(this)}),a("input, select",c).keydown(function(a){return 13===a.which?inlineEditTax.save(this):void 0}),a('#posts-filter input[type="submit"]').mousedown(function(){b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},edit:function(b){var c,d,e=this;return e.revert(),"object"==typeof b&&(b=e.getId(b)),c=a("#inline-edit").clone(!0),d=a("#inline_"+b),a("td",c).attr("colspan",a(".widefat:first thead th:visible").length),a(e.what+b).hasClass("alternate")&&a(c).addClass("alternate"),a(e.what+b).hide().after(c),a(':input[name="name"]',c).val(a(".name",d).text()),a(':input[name="slug"]',c).val(a(".slug",d).text()),a(c).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",c).eq(0).focus(),!1},save:function(b){var c,d,e=a('input[name="taxonomy"]').val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save-tax",tax_type:this.type,tax_ID:b,taxonomy:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){var d,e;a("table.widefat .spinner").hide(),c?-1!==c.indexOf("').text(g)})})},a("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:d}),a('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")}),a('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")}),"pop"==getUserSetting("cats")&&a('a[href="#categories-pop"]').click(),a("#category-add-toggle").click(function(){return a(this).parents("div:first").toggleClass("wp-hidden-children"),a('#category-tabs a[href="#categories-all"]').click(),a("#newcategory").focus(),!1}),a(".categorychecklist :checkbox").change(c).filter(":checked").change()});
\ No newline at end of file
+jQuery(document).ready(function(c){var t,i,e,a=!1;c("#link_name").focus(),postboxes.add_postbox_toggles("link"),c("#category-tabs a").click(function(){var t=c(this).attr("href");return c(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),c(".tabs-panel").hide(),c(t).show(),"#categories-all"==t?deleteUserSetting("cats"):setUserSetting("cats","pop"),!1}),getUserSetting("cats")&&c('#category-tabs a[href="#categories-pop"]').click(),t=c("#newcat").one("focus",function(){c(this).val("").removeClass("form-input-tip")}),c("#link-category-add-submit").click(function(){t.focus()}),i=function(){var t,e;a||(a=!0,t=(e=c(this)).is(":checked"),e=e.val().toString(),c("#in-link-category-"+e+", #in-popular-link_category-"+e).prop("checked",t),a=!1)},e=function(t,e){c(e.what+" response_data",t).each(function(){c(c(this).text()).find("label").each(function(){var t=c(this),e=t.find("input").val(),a=t.find("input")[0].id,t=c.trim(t.text());c("#"+a).change(i),c(' ').text(t)})})},c("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:e}),c('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")}),c('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")}),"pop"==getUserSetting("cats")&&c('a[href="#categories-pop"]').click(),c("#category-add-toggle").click(function(){return c(this).parents("div:first").toggleClass("wp-hidden-children"),c('#category-tabs a[href="#categories-all"]').click(),c("#newcategory").focus(),!1}),c(".categorychecklist :checkbox").change(i).filter(":checked").change()});
\ No newline at end of file
diff --git a/wp-admin/js/media-gallery.js b/wp-admin/js/media-gallery.js
index 52da393dcc..8489d5c447 100644
--- a/wp-admin/js/media-gallery.js
+++ b/wp-admin/js/media-gallery.js
@@ -1,7 +1,7 @@
/* global ajaxurl */
jQuery(function($){
$( 'body' ).bind( 'click.wp-gallery', function(e){
- var target = $( e.target ), id, img_size;
+ var target = $( e.target ), id, img_size, nonceValue;
if ( target.hasClass( 'wp-set-header' ) ) {
( window.dialogArguments || opener || parent || top ).location.href = target.data( 'location' );
@@ -9,10 +9,12 @@ jQuery(function($){
} else if ( target.hasClass( 'wp-set-background' ) ) {
id = target.data( 'attachment-id' );
img_size = $( 'input[name="attachments[' + id + '][image-size]"]:checked').val();
+ nonceValue = $( '#_wpnonce' ).val() && '';
jQuery.post(ajaxurl, {
action: 'set-background-image',
attachment_id: id,
+ _ajax_nonce: nonceValue,
size: img_size
}, function(){
var win = window.dialogArguments || opener || parent || top;
diff --git a/wp-admin/js/media-gallery.min.js b/wp-admin/js/media-gallery.min.js
index dc66a26cd0..cb102574ad 100644
--- a/wp-admin/js/media-gallery.min.js
+++ b/wp-admin/js/media-gallery.min.js
@@ -1 +1 @@
-jQuery(function(a){a("body").bind("click.wp-gallery",function(b){var c,d,e=a(b.target);e.hasClass("wp-set-header")?((window.dialogArguments||opener||parent||top).location.href=e.data("location"),b.preventDefault()):e.hasClass("wp-set-background")&&(c=e.data("attachment-id"),d=a('input[name="attachments['+c+'][image-size]"]:checked').val(),jQuery.post(ajaxurl,{action:"set-background-image",attachment_id:c,size:d},function(){var a=window.dialogArguments||opener||parent||top;a.tb_remove(),a.location.reload()}),b.preventDefault())})});
\ No newline at end of file
+jQuery(function(o){o("body").bind("click.wp-gallery",function(a){var e,t,n=o(a.target);n.hasClass("wp-set-header")?((window.dialogArguments||opener||parent||top).location.href=n.data("location"),a.preventDefault()):n.hasClass("wp-set-background")&&(e=n.data("attachment-id"),t=o('input[name="attachments['+e+'][image-size]"]:checked').val(),n=o("#_wpnonce").val()&&"",jQuery.post(ajaxurl,{action:"set-background-image",attachment_id:e,_ajax_nonce:n,size:t},function(){var a=window.dialogArguments||opener||parent||top;a.tb_remove(),a.location.reload()}),a.preventDefault())})});
\ No newline at end of file
diff --git a/wp-admin/js/media-upload.min.js b/wp-admin/js/media-upload.min.js
index 2bd2b4a083..79c396295d 100644
--- a/wp-admin/js/media-upload.min.js
+++ b/wp-admin/js/media-upload.min.js
@@ -1 +1 @@
-var wpActiveEditor,send_to_editor;send_to_editor=function(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=tinymce.get(wpActiveEditor));else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?b.execCommand("mceInsertContent",!1,a):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a,window.tb_remove)try{window.tb_remove()}catch(e){}};var tb_position;!function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>833?833:c,f=0;return a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()})}(jQuery);
\ No newline at end of file
+var wpActiveEditor,tb_position,send_to_editor=function(t){var i,e="undefined"!=typeof tinymce,n="undefined"!=typeof QTags;if(wpActiveEditor)e&&(i=tinymce.get(wpActiveEditor));else if(e&&tinymce.activeEditor)i=tinymce.activeEditor,wpActiveEditor=i.id;else if(!n)return!1;if(i&&!i.isHidden()?i.execCommand("mceInsertContent",!1,t):n?QTags.insertContent(t):document.getElementById(wpActiveEditor).value+=t,window.tb_remove)try{window.tb_remove()}catch(t){}};!function(d){tb_position=function(){var t=d("#TB_window"),i=d(window).width(),e=d(window).height(),n=833 .wrap')
- }).open();
+ if ( $mediaGridWrap.length && window.wp && window.wp.media ) {
+ window.wp.media({
+ frame: 'manage',
+ container: $mediaGridWrap
+ }).open();
+ }
$( '#find-posts-submit' ).click( function( event ) {
if ( ! $( '#find-posts-response input[type="radio"]:checked' ).length )
diff --git a/wp-admin/js/media.min.js b/wp-admin/js/media.min.js
index 8a90fa78ba..02f07578ab 100644
--- a/wp-admin/js/media.min.js
+++ b/wp-admin/js/media.min.js
@@ -1 +1 @@
-var findPosts;!function(a){findPosts={open:function(b,c){var d=a(".ui-find-overlay");return 0===d.length&&(a("body").append('
'),findPosts.overlay()),d.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show(),a("#find-posts-input").focus().keyup(function(a){27==a.which&&findPosts.close()}),findPosts.send(),!1},close:function(){a("#find-posts-response").html(""),a("#find-posts").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").on("click",function(){findPosts.close()})},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()},c=a(".find-box-search .spinner");c.show(),a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){c.hide()}).done(function(b){b.success||a("#find-posts-response").text(attachMediaBoxL10n.error),a("#find-posts-response").html(b.data)}).fail(function(){a("#find-posts-response").text(attachMediaBoxL10n.error)})}},a(document).ready(function(){wp.media&&wp.media({frame:"manage",container:a("#wpbody-content > .wrap")}).open(),a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
+var findPosts;!function(s){findPosts={open:function(n,i){var o=s(".ui-find-overlay");return 0===o.length&&(s("body").append('
'),findPosts.overlay()),o.show(),n&&i&&s("#affected").attr("name",n).val(i),s("#find-posts").show(),s("#find-posts-input").focus().keyup(function(n){27==n.which&&findPosts.close()}),findPosts.send(),!1},close:function(){s("#find-posts-response").html(""),s("#find-posts").hide(),s(".ui-find-overlay").hide()},overlay:function(){s(".ui-find-overlay").on("click",function(){findPosts.close()})},send:function(){var n={ps:s("#find-posts-input").val(),action:"find_posts",_ajax_nonce:s("#_ajax_nonce").val()},i=s(".find-box-search .spinner");i.show(),s.ajax(ajaxurl,{type:"POST",data:n,dataType:"json"}).always(function(){i.hide()}).done(function(n){n.success||s("#find-posts-response").text(attachMediaBoxL10n.error),s("#find-posts-response").html(n.data)}).fail(function(){s("#find-posts-response").text(attachMediaBoxL10n.error)})}},s(document).ready(function(){var n=s("#wp-media-grid");n.length&&window.wp&&window.wp.media&&window.wp.media({frame:"manage",container:n}).open(),s("#find-posts-submit").click(function(n){s('#find-posts-response input[type="radio"]:checked').length||n.preventDefault()}),s("#find-posts .find-box-search :input").keypress(function(n){if(13==n.which)return findPosts.send(),!1}),s("#find-posts-search").click(findPosts.send),s("#find-posts-close").click(findPosts.close),s("#doaction, #doaction2").click(function(n){s('select[name^="action"]').each(function(){"attach"===s(this).val()&&(n.preventDefault(),findPosts.open())})}),s(".find-box-inside").on("click","tr",function(){s(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/nav-menu.js b/wp-admin/js/nav-menu.js
index dc2183c9a7..33324b149b 100644
--- a/wp-admin/js/nav-menu.js
+++ b/wp-admin/js/nav-menu.js
@@ -453,14 +453,14 @@ var wpNavMenu;
if ( ! isPrimaryMenuItem ) {
thisLink = menuItem.find( '.menus-move-left' ),
thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
- thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).css( 'display', 'inline' );
+ thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).text( thisLinkText ).css( 'display', 'inline' );
}
if ( 0 !== position ) {
if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
thisLink = menuItem.find( '.menus-move-right' ),
thisLinkText = menus.under.replace( '%s', prevItemNameRight );
- thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).css( 'display', 'inline' );
+ thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).text( thisLinkText ).css( 'display', 'inline' );
}
}
@@ -482,7 +482,7 @@ var wpNavMenu;
title = menus.subMenuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$s', parentItemName );
}
- $this.prop('title', title).html( title );
+ $this.prop('title', title).text( title );
});
},
diff --git a/wp-admin/js/nav-menu.min.js b/wp-admin/js/nav-menu.min.js
index f270b49483..71732855b7 100644
--- a/wp-admin/js/nav-menu.min.js
+++ b/wp-admin/js/nav-menu.min.js
@@ -1 +1 @@
-var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.topo&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length '}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).hide()):(a(".categorychecklist",d).html("
"+navMenuL10n.noResultsFound+"
"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
+var wpNavMenu;!function(b){var k=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){k.menuList=b("#menu-to-edit"),k.targetList=k.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),k.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&b("#posttype-page").addSelectedToMenu(k.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var e=k.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("margin-left");return k.pxToDepth(e&&-1!=e.indexOf("px")?e.slice(0,-2):0)},updateDepthClass:function(t,n){return this.each(function(){var e=b(this);n=n||e.menuItemDepth(),b(this).removeClass("menu-item-depth-"+n).addClass("menu-item-depth-"+t)})},shiftDepthClass:function(t){return this.each(function(){var e=b(this).menuItemDepth();b(this).removeClass("menu-item-depth-"+e).addClass("menu-item-depth-"+(e+t))})},childMenuItems:function(){var i=b();return this.each(function(){for(var e=b(this),t=e.menuItemDepth(),n=e.next();n.length&&n.menuItemDepth()>t;)i=i.add(n),n=n.next()}),i},shiftHorizontally:function(i){return this.each(function(){var e=b(this),t=e.menuItemDepth(),n=t+i;e.moveHorizontally(n,t)})},moveHorizontally:function(a,s){return this.each(function(){var e=b(this),t=e.childMenuItems(),i=a-s,n=e.find(".is-submenu");e.updateDepthClass(a,s).updateParentMenuItemDBId(),t&&t.each(function(){var e=b(this),t=e.menuItemDepth(),n=t+i;e.updateDepthClass(n,t).updateParentMenuItemDBId()}),0===a?n.hide():n.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),t=e.find(".menu-item-data-parent-id"),n=parseInt(e.menuItemDepth(),10),i=n-1,i=e.prevAll(".menu-item-depth-"+i).first();0===n?t.val(0):t.val(i.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var e=b(this);b(".hide-column-tog").not(":checked").each(function(){e.find(".field-"+b(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(a){return 0!==b("#menu-to-edit").length&&this.each(function(){var e=b(this),n={},t=menus.oneThemeLocationNoMenus&&0===e.find(".tabs-panel-active .categorychecklist li input:checked").length?e.find('#page-all li input[type="checkbox"]'):e.find(".tabs-panel-active .categorychecklist li input:checked"),i=/menu-item\[([^\]]*)/;if(a=a||k.addMenuItemToBottom,!t.length)return!1;e.find(".spinner").show(),b(t).each(function(){var e=b(this),t=i.exec(e.attr("name")),t=void 0===t[1]?0:parseInt(t[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(a=k.addMenuItemToTop),n[t]=e.closest("li").getItemData("add-menu-item",t)}),k.addItemToMenu(n,a,function(){t.removeAttr("checked"),e.find(".spinner").hide()})})},getItemData:function(t,n){t=t||"menu-item";var i,a={},s=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return(n=n||"menu-item"!=t?n:this.find(".menu-item-data-db-id").val())&&this.find("input").each(function(){var e;for(i=s.length;i--;)"menu-item"==t?e=s[i]+"["+n+"]":"add-menu-item"==t&&(e="menu-item["+n+"]["+s[i]+"]"),this.name&&e==this.name&&(a[s[i]]=this.value)}),a},setItemData:function(e,a,s){return a=a||"menu-item",(s=s||"menu-item"!=a?s:b(".menu-item-data-db-id",this).val())&&this.find("input").each(function(){var n,i=b(this);b.each(e,function(e,t){"menu-item"==a?n=e+"["+s+"]":"add-menu-item"==a&&(n="menu-item["+s+"]["+e+"]"),n==i.attr("name")&&i.val(t)})}),this}})},countMenuItems:function(e){return b(".menu-item-depth-"+e).length},moveMenuItem:function(e,t){var n,i,a=b("#menu-to-edit li"),s=a.length,u=e.parents("li.menu-item"),m=u.childMenuItems(),o=u.getItemData(),r=parseInt(u.menuItemDepth(),10),l=parseInt(u.index(),10),d=u.next(),c=d.childMenuItems(),h=parseInt(d.menuItemDepth(),10)+1,p=u.prev(),f=parseInt(p.menuItemDepth(),10),v=p.getItemData()["menu-item-db-id"];switch(t){case"up":if(i=l-1,0===l)break;0==i&&0!==r&&u.moveHorizontally(0,r),0!==f&&u.moveHorizontally(f,r),(m?n=u.add(m):u).detach().insertBefore(a.eq(i)).updateParentMenuItemDBId();break;case"down":if(m){if(n=u.add(m),(c=0!==(d=a.eq(n.length+l)).childMenuItems().length)&&(i=parseInt(d.menuItemDepth(),10)+1,u.moveHorizontally(i,r)),s===l+n.length)break;n.detach().insertAfter(a.eq(l+n.length)).updateParentMenuItemDBId()}else{if(0!==c.length&&u.moveHorizontally(h,r),s===l+1)break;u.detach().insertAfter(a.eq(l+1)).updateParentMenuItemDBId()}break;case"top":if(0===l)break;(m?n=u.add(m):u).detach().insertBefore(a.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===r)break;u.shiftHorizontally(-1);break;case"right":if(0===l)break;if(o["menu-item-parent-id"]===v)break;u.shiftHorizontally(1)}e.focus(),k.registerChange(),k.refreshKeyboardAccessibility(),k.refreshAdvancedAccessibility()},initAccessibility:function(){var e=b("#menu-to-edit");k.refreshKeyboardAccessibility(),k.refreshAdvancedAccessibility(),e.on("click",".menus-move-up",function(e){k.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"up"),e.preventDefault()}),e.on("click",".menus-move-down",function(e){k.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"down"),e.preventDefault()}),e.on("click",".menus-move-top",function(e){k.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"top"),e.preventDefault()}),e.on("click",".menus-move-left",function(e){k.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"left"),e.preventDefault()}),e.on("click",".menus-move-right",function(e){k.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"right"),e.preventDefault()})},refreshAdvancedAccessibility:function(){b(".menu-item-settings .field-move a").css("display","none"),b(".item-edit").each(function(){var e,t,n,i,a=b(this),s=a.closest("li.menu-item").first(),u=s.menuItemDepth(),m=0===u,o=a.closest(".menu-item-handle").find(".menu-item-title").text(),r=parseInt(s.index(),10),l=m?u:parseInt(u-1,10),d=s.prevAll(".menu-item-depth-"+l).first().find(".menu-item-title").text(),c=s.prevAll(".menu-item-depth-"+u).first().find(".menu-item-title").text(),h=b("#menu-to-edit li").length,l=s.nextAll(".menu-item-depth-"+u).length;0!==r&&(e=s.find(".menus-move-up")).prop("title",menus.moveUp).css("display","inline"),0!==r&&m&&(e=s.find(".menus-move-top")).prop("title",menus.moveToTop).css("display","inline"),r+1!==h&&0!==r&&(e=s.find(".menus-move-down")).prop("title",menus.moveDown).css("display","inline"),0===r&&0!==l&&(e=s.find(".menus-move-down")).prop("title",menus.moveDown).css("display","inline"),m||(e=s.find(".menus-move-left"),t=menus.outFrom.replace("%s",d),e.prop("title",menus.moveOutFrom.replace("%s",d)).text(t).css("display","inline")),0!==r&&s.find(".menu-item-data-parent-id").val()!==s.prev().find(".menu-item-data-db-id").val()&&(e=s.find(".menus-move-right"),t=menus.under.replace("%s",c),e.prop("title",menus.moveUnder.replace("%s",c)).text(t).css("display","inline")),i=m?(n=(m=b(".menu-item-depth-0")).index(s)+1,h=m.length,menus.menuFocus.replace("%1$s",o).replace("%2$d",n).replace("%3$d",h)):(u=(i=s.prevAll(".menu-item-depth-"+parseInt(u-1,10)).first()).find(".menu-item-data-db-id").val(),i=i.find(".menu-item-title").text(),u=b('.menu-item .menu-item-data-parent-id[value="'+u+'"]'),n=b(u.parents(".menu-item").get().reverse()).index(s)+1,menus.subMenuFocus.replace("%1$s",o).replace("%2$d",n).replace("%3$s",i)),a.prop("title",i).text(i)})},refreshKeyboardAccessibility:function(){b(".item-edit").off("focus").on("focus",function(){b(this).off("keydown").on("keydown",function(e){var t,n=b(this),i=n.parents("li.menu-item").getItemData();if((37==e.which||38==e.which||39==e.which||40==e.which)&&(n.off("keydown"),1!==b("#menu-to-edit li").length)){switch(t={38:"up",40:"down",37:"left",39:"right"},(t=b("body").hasClass("rtl")?{38:"up",40:"down",39:"left",37:"right"}:t)[e.which]){case"up":k.moveMenuItem(n,"up");break;case"down":k.moveMenuItem(n,"down");break;case"left":k.moveMenuItem(n,"left");break;case"right":k.moveMenuItem(n,"right")}return b("#edit-"+i["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){b("#menu-to-edit").on("change input",".edit-menu-item-title",function(e){var t=b(e.currentTarget),e=t.val(),t=t.closest(".menu-item").find(".menu-item-title");e?t.text(e).removeClass("no-title"):t.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(e){b(".field-"+e).removeClass("hidden-field")},columns.unchecked=function(e){b(".field-"+e).addClass("hidden-field")},k.menuList.hideAdvancedMenuItemFields(),b(".hide-postbox-tog").click(function(){var e=b(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");b.post(ajaxurl,{action:"closed-postboxes",hidden:e,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){var s,a,u,n,m,o,r,l,d,c,h=0,p=k.menuList.offset().left,f=b("body"),v=function(){if(!f[0].className)return 0;var e=f[0].className.match(/menu-max-depth-(\d+)/);return e&&e[1]?parseInt(e[1],10):0}();function g(e){n=e.placeholder.prev(),m=e.placeholder.next(),n[0]==e.item[0]&&(n=n.prev()),m[0]==e.item[0]&&(m=m.next()),o=n.length?n.offset().top+n.height():0,r=m.length?m.offset().top+m.height()/3:0,a=m.length?m.menuItemDepth():0,u=n.length?(e=n.menuItemDepth()+1)>k.options.globalMaxDepth?k.options.globalMaxDepth:e:0}function I(e,t){e.placeholder.updateDepthClass(t,h),h=t}0!==b("#menu-to-edit li").length&&b(".drag-instructions").show(),p+=k.isRTL?k.menuList.width():0,k.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,t){var n,i;k.isRTL&&(t.item[0].style.right="auto"),d=t.item.children(".menu-item-transport"),s=t.item.menuItemDepth(),I(t,s),i=(t.item.next()[0]==t.placeholder[0]?t.item.next():t.item).childMenuItems(),d.append(i),n=d.outerHeight(),n+=0
r&&(m.after(t.placeholder),g(t),b(this).sortable("refreshPositions"))}})},initManageLocations:function(){b("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),b(".menu-location-menus select").on("change",function(){var e=b(this).closest("tr").find(".locations-edit-menu-link");b(this).find("option:selected").data("orig")?e.show():e.hide()})},attachMenuEditListeners:function(){var t=this;b("#update-nav-menu").bind("click",function(e){if(e.target&&e.target.className)return-1!=e.target.className.indexOf("item-edit")?t.eventOnClickEditLink(e.target):-1!=e.target.className.indexOf("menu-save")?t.eventOnClickMenuSave(e.target):-1!=e.target.className.indexOf("menu-delete")?t.eventOnClickMenuDelete(e.target):-1!=e.target.className.indexOf("item-delete")?t.eventOnClickMenuItemDelete(e.target):-1!=e.target.className.indexOf("item-cancel")?t.eventOnClickCancelLink(e.target):void 0}),b('#add-custom-links input[type="text"]').keypress(function(e){13===e.keyCode&&(e.preventDefault(),b("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var i="input-with-default-title";b("."+i).each(function(){var e=b(this),t=e.attr("title"),n=e.val();e.data(i,t),""===n?e.val(t):t!=n&&e.removeClass(i)}).focus(function(){var e=b(this);e.val()==e.data(i)&&e.val("").removeClass(i)}).blur(function(){var e=b(this);""===e.val()&&e.addClass(i).val(e.data(i))}),b(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var e=b("#nav-menu-theme-locations"),t={action:"menu-locations-save"};t["menu-settings-column-nonce"]=b("#menu-settings-column-nonce").val(),e.find('input[type="submit"]').click(function(){return e.find("select").each(function(){t[this.name]=b(this).val()}),e.find(".spinner").show(),b.post(ajaxurl,t,function(){e.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var n;b(".quick-search").keypress(function(e){var t=b(this);if(13==e.which)return k.updateQuickSearchResults(t),!1;n&&clearTimeout(n),n=setTimeout(function(){k.updateQuickSearchResults(t)},400)}).attr("autocomplete","off")},updateQuickSearchResults:function(e){var t,n,i=e.val();i.length<2||(t=e.parents(".tabs-panel"),n={action:"menu-quick-search","response-format":"markup",menu:b("#menu").val(),"menu-settings-column-nonce":b("#menu-settings-column-nonce").val(),q:i,type:e.attr("name")},b(".spinner",t).show(),b.post(ajaxurl,n,function(e){k.processQuickSearchQueryResponse(e,n,t)}))},addCustomLink:function(e){var t=b("#custom-menu-item-url").val(),n=b("#custom-menu-item-name").val();if(e=e||k.addMenuItemToBottom,""===t||"http://"==t)return!1;b(".customlinkdiv .spinner").show(),this.addLinkToMenu(t,n,e,function(){b(".customlinkdiv .spinner").hide(),b("#custom-menu-item-name").val("").blur(),b("#custom-menu-item-url").val("http://")})},addLinkToMenu:function(e,t,n,i){n=n||k.addMenuItemToBottom,i=i||function(){},k.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":e,"menu-item-title":t}},n,i)},addItemToMenu:function(e,n,i){var a,t=b("#menu").val(),s=b("#menu-settings-column-nonce").val();n=n||function(){},i=i||function(){},a={action:"add-menu-item",menu:t,"menu-settings-column-nonce":s,"menu-item":e},b.post(ajaxurl,a,function(e){var t=b("#menu-instructions");e=b.trim(e),n(e,a),b("li.pending").hide().fadeIn("slow"),b(".drag-instructions").show(),!t.hasClass("menu-instructions-inactive")&&t.siblings().length&&t.addClass("menu-instructions-inactive"),i()})},addMenuItemToBottom:function(e){b(e).hideAdvancedMenuItemFields().appendTo(k.targetList),k.refreshKeyboardAccessibility(),k.refreshAdvancedAccessibility()},addMenuItemToTop:function(e){b(e).hideAdvancedMenuItemFields().prependTo(k.targetList),k.refreshKeyboardAccessibility(),k.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){b("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){k.registerChange()}),0!==b("#menu-to-edit").length||0!==b(".menu-location-menus select").length?window.onbeforeunload=function(){if(k.menusChanged)return navMenuL10n.saveAlert}:b("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){k.menusChanged=!0},attachTabsPanelListeners:function(){b("#menu-settings-column").bind("click",function(e){var t,n,i=b(e.target);if(!i.hasClass("nav-tab-link"))return i.hasClass("select-all")?(t=/#(.*)$/.exec(e.target.href))&&t[1]?((n=b("#"+t[1]+" .tabs-panel-active .menu-item-title input")).length===n.filter(":checked").length?n.removeAttr("checked"):n.prop("checked",!0),!1):void 0:i.hasClass("submit-add-to-menu")?(k.registerChange(),e.target.id&&"submit-customlinkdiv"==e.target.id?k.addCustomLink(k.addMenuItemToBottom):e.target.id&&-1!=e.target.id.indexOf("submit-")&&b("#"+e.target.id.replace(/submit-/,"")).addSelectedToMenu(k.addMenuItemToBottom),!1):i.hasClass("page-numbers")?(b.post(ajaxurl,e.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(e){var t,n,i;-1!=e.indexOf("replace-id")&&(t=b.parseJSON(e),n=document.getElementById(t["replace-id"]),i=document.createElement("div"),e=document.createElement("div"),t.markup&&n&&(e.innerHTML=t.markup||"",n.parentNode.insertBefore(i,n),i.parentNode.removeChild(n),i.parentNode.insertBefore(e,i),i.parentNode.removeChild(i)))}),!1):void 0;t=i.data("type"),n=i.parents(".accordion-section-content").first(),b("input",n).removeAttr("checked"),b(".tabs-panel-active",n).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),b("#"+t,n).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),b(".tabs",n).removeClass("tabs"),i.parent().addClass("tabs"),b(".quick-search",n).focus(),e.preventDefault()})},eventOnClickEditLink:function(e){var t,n,e=/#(.*)$/.exec(e.href);if(e&&e[1]&&0!==(n=(t=b("#"+e[1])).parent()).length)return n.hasClass("menu-item-edit-inactive")?(t.data("menu-item-data")||t.data("menu-item-data",t.getItemData()),t.slideDown("fast"),n.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(t.slideUp("fast"),n.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1},eventOnClickCancelLink:function(e){var t=b(e).closest(".menu-item-settings");return b(e).closest(".menu-item").removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),t.setItemData(t.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var e="",t=b("#menu-name"),n=t.val();return n&&n!=t.attr("title")&&n.replace(/\s+/,"")?(b("#nav-menu-theme-locations select").each(function(){e+=' '}),b("#update-nav-menu").append(e),k.menuList.find(".menu-item-data-position").val(function(e){return e+1}),!(window.onbeforeunload=null)):(t.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return!!window.confirm(navMenuL10n.warnDeleteMenu)&&!(window.onbeforeunload=null)},eventOnClickMenuItemDelete:function(e){e=parseInt(e.id.replace("delete-",""),10);return k.removeMenuItem(b("#menu-item-"+e)),k.registerChange(),!1},processQuickSearchQueryResponse:function(e,t,n){var i,a,s,u={},m=document.getElementById("nav-menu-meta"),o=/menu-item[(\[^]\]*/,e=b("").html(e).find("li");if(!e.length)return b(".categorychecklist",n).html("
"+navMenuL10n.noResultsFound+"
"),void b(".spinner",n).hide();e.each(function(){if(s=b(this),(i=o.exec(s.html()))&&i[1]){for(a=i[1];m.elements["menu-item["+a+"][menu-item-type]"]||u[a];)a--;u[a]=!0,a!=i[1]&&s.html(s.html().replace(new RegExp("menu-item\\["+i[1]+"\\]","g"),"menu-item["+a+"]"))}}),b(".categorychecklist",n).html(e),b(".spinner",n).hide()},removeMenuItem:function(t){var n=t.childMenuItems();t.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=b("#menu-instructions");t.remove(),n.shiftDepthClass(-1).updateParentMenuItemDBId(),0===b("#menu-to-edit li").length&&(b(".drag-instructions").hide(),e.removeClass("menu-instructions-inactive"))})},depthToPx:function(e){return e*k.options.menuItemDepthPerLevel},pxToDepth:function(e){return Math.floor(e/k.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/password-strength-meter.min.js b/wp-admin/js/password-strength-meter.min.js
index da7ac001d3..55f23f3bfa 100644
--- a/wp-admin/js/password-strength-meter.min.js
+++ b/wp-admin/js/password-strength-meter.min.js
@@ -1 +1 @@
-window.wp=window.wp||{};var passwordStrength;!function(a){wp.passwordStrength={meter:function(b,c,d){if(a.isArray(c)||(c=[c.toString()]),b!=d&&d&&d.length>0)return 5;var e=zxcvbn(b,c);return e.score},userInputBlacklist:function(){var b,c,d,e,f=[],g=[],h=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];for(f.push(document.title),f.push(document.URL),c=h.length,b=0;c>b;b++)e=a("#"+h[b]),0!==e.length&&(f.push(e[0].defaultValue),f.push(e.val()));for(d=f.length,b=0;d>b;b++)f[b]&&(g=g.concat(f[b].replace(/\W/g," ").split(" ")));return g=a.grep(g,function(b,c){return""===b||4>b.length?!1:a.inArray(b,g)===c})}},passwordStrength=wp.passwordStrength.meter}(jQuery);
\ No newline at end of file
+var passwordStrength;window.wp=window.wp||{},function(l){wp.passwordStrength={meter:function(t,e,n){return l.isArray(e)||(e=[e.toString()]),t!=n&&n&&0
792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card, .plugins .column-description").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html(""+plugininstallL10n.plugin_information+" "+a(this).data("title")),a("#TB_iframeContent").attr("title",plugininstallL10n.plugin_information+" "+a(this).data("title")),a("#TB_closeWindowButton").focus(),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
+var tb_position;jQuery(document).ready(function(e){tb_position=function(){var i=e("#TB_window"),t=e(window).width(),n=e(window).height()-(792"+plugininstallL10n.plugin_information+" "+e(this).data("title")),e("#TB_iframeContent").attr("title",plugininstallL10n.plugin_information+" "+e(this).data("title")),e("#TB_closeWindowButton").focus(),!1}),e("#plugin-information-tabs a").click(function(i){var t=e(this).attr("name");i.preventDefault(),e("#plugin-information-tabs a.current").removeClass("current"),e(this).addClass("current"),"description"!==t&&e(window).width()<772?e("#plugin-information-content").find(".fyi").hide():e("#plugin-information-content").find(".fyi").show(),e("#section-holder div.section").hide(),e("#section-"+t).show()}),e("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
diff --git a/wp-admin/js/post.min.js b/wp-admin/js/post.min.js
index f75a3d4aad..7eb87e82cb 100644
--- a/wp-admin/js/post.min.js
+++ b/wp-admin/js/post.min.js
@@ -1 +1 @@
-function array_unique_noempty(a){var b=[];return jQuery.each(a,function(a,c){c=jQuery.trim(c),c&&-1==jQuery.inArray(c,b)&&b.push(c)}),b}var tagBox,commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!1;tagBox={clean:function(a){var b=postL10n.comma;return","!==b&&(a=a.replace(new RegExp(b,"g"),",")),a=a.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),","!==b&&(a=a.replace(/,/g,b)),a},parseTags:function(b){var c=b.id,d=c.split("-check-num-")[1],e=a(b).closest(".tagsdiv"),f=e.find(".the-tags"),g=postL10n.comma,h=f.val().split(g),i=[];return delete h[d],a.each(h,function(b,c){c=a.trim(c),c&&i.push(c)}),f.val(this.clean(i.join(g))),this.quickClicks(e),!1},quickClicks:function(b){var c,d,e=a(".the-tags",b),f=a(".tagchecklist",b),g=a(b).attr("id");e.length&&(d=e.prop("disabled"),c=e.val().split(postL10n.comma),f.empty(),a.each(c,function(b,c){var e,h;c=a.trim(c),c&&(e=a(" ").text(c),d||(h=a('X '),h.click(function(){tagBox.parseTags(this)}),e.prepend(" ").prepend(h)),f.append(e))}))},flushTags:function(b,c,d){var e,f,g,h=a(".the-tags",b),i=a("input.newtag",b),j=postL10n.comma;return c=c||!1,g=c?a(c).text():i.val(),e=h.val(),f=e?e+j+g:g,f=this.clean(f),f=array_unique_noempty(f.split(j)).join(j),h.val(f),this.quickClicks(b),c||i.val(""),"undefined"==typeof d&&i.focus(),!1},get:function(b){var c=b.substr(b.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:c},function(d,e){(0===d||"success"!=e)&&(d=wpAjax.broken),d=a(''+d+"
"),a("a",d).click(function(){return tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this),!1}),a("#"+b).after(d)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),a("input.newtag",c).blur(function(){""===this.value&&a(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(b){return 13==b.which?(tagBox.flushTags(a(this).closest(".tagsdiv")),!1):void 0}).keypress(function(a){return 13==a.which?(a.preventDefault(),!1):void 0}).each(function(){var b=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),a("a.tagcloud-link").click(function(){return tagBox.get(a(this).attr("id")),a(this).unbind().click(function(){return a(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").show(),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").hide(),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm))):1==b?void a("#show-comments").html(postL10n.endcomm):void a("#the-comment-list").append(''+wpAjax.broken+" ")}),!1}},WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)},WPSetThumbnailID=function(b){var c=a('input[value="_thumbnail_id"]',"#list-table");c.size()>0&&a("#meta\\["+c.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(b)},WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(a){"0"==a?alert(setPostThumbnailL10n.error):WPSetThumbnailHTML(a)})},a(document).on("heartbeat-send.refresh-lock",function(b,c){var d=a("#active_post_lock").val(),e=a("#post_ID").val(),f={};e&&a("#post-lock-dialog").length&&(f.post_id=e,d&&(f.lock=d),c["wp-refresh-post-lock"]=f)}).on("heartbeat-tick.refresh-lock",function(b,c){var d,e,f;c["wp-refresh-post-lock"]&&(d=c["wp-refresh-post-lock"],d.lock_error?(e=a("#post-lock-dialog"),e.length&&!e.is(":visible")&&(wp.autosave&&(a(document).one("heartbeat-tick",function(){wp.autosave.server.suspend(),e.removeClass("saving").addClass("saved"),a(window).off("beforeunload.edit-post")}),e.addClass("saving"),wp.autosave.server.triggerSave()),d.lock_error.avatar_src&&(f=a(' ').attr("src",d.lock_error.avatar_src.replace(/&/g,"&")),e.find("div.post-locked-avatar").empty().append(f)),e.show().find(".currently-editing").text(d.lock_error.text),e.find(".wp-tab-first").focus())):d.new_lock&&a("#active_post_lock").val(d.new_lock))}).on("before-autosave.update-post-slug",function(){b=document.activeElement&&"title"===document.activeElement.id}).on("after-autosave.update-post-slug",function(){a("#edit-slug-box > *").length||b||a.post(ajaxurl,{action:"sample-permalink",post_id:a("#post_ID").val(),new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){"-1"!=b&&a("#edit-slug-box").html(b)})})}(jQuery),function(a){function b(){c=!1,window.clearTimeout(d),d=window.setTimeout(function(){c=!0},3e5)}var c,d;a(document).on("heartbeat-send.wp-refresh-nonces",function(b,d){var e,f;c&&(f=a("#post_ID").val())&&(e=a("#_wpnonce").val())&&(d["wp-refresh-post-nonces"]={post_id:f,post_nonce:e})}).on("heartbeat-tick.wp-refresh-nonces",function(c,d){var e=d["wp-refresh-post-nonces"];e&&(b(),e.replace&&a.each(e.replace,function(b,c){a("#"+b).val(c)}),e.heartbeatNonce&&(window.heartbeatSettings.nonce=e.heartbeatNonce))}).ready(function(){b()})}(jQuery),jQuery(document).ready(function(a){function b(){var b,c,d=0,e=a("#editable-post-name"),f=e.html(),g=a("#post_name"),h=g.val(),i=a("#edit-slug-buttons"),j=i.html(),k=a("#editable-post-name-full").html();for(a("#view-post-btn").hide(),i.html(''+postL10n.ok+' '+postL10n.cancel+" "),i.children(".save").click(function(){var b=e.children("input").val();return b==a("#editable-post-name-full").text()?(i.children(".cancel").click(),!1):(a.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:b,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(c){var d=a("#edit-slug-box");d.html(c),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(b),a("#view-post-btn").show()}),!1)}),i.children(".cancel").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),b=0;bk.length/4?"":k,e.html(' ').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(i.children(".save").click(),!1):27==b?(i.children(".cancel").click(),!1):void 0}).keyup(function(){g.val(this.value)}).focus()}var c,d,e,f,g,h="",i=0,j=a("#content"),k=a(document),l=a("#edit-slug-box"),m=a("#post_ID").val()||0,n=a("#submitpost"),o=!0,p=a("#post-visibility-select"),q=a("#timestampdiv"),r=a("#post-status-select");postboxes.add_postbox_toggles(pagenow),window.name="",a("#post-lock-dialog .notification-dialog").on("keydown",function(b){if(9==b.which){var c=a(b.target);c.hasClass("wp-tab-first")&&b.shiftKey?(a(this).find(".wp-tab-last").focus(),b.preventDefault()):c.hasClass("wp-tab-last")&&!b.shiftKey&&(a(this).find(".wp-tab-first").focus(),b.preventDefault())}}).filter(":visible").find(".wp-tab-first").focus(),wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),e=n.find(":button, :submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").show():n.find("#minor-publishing .spinner").show())}))}),a("#post-preview").on("click.post-preview",function(b){var c=a(this),d=a("form#post"),e=a("input#wp-preview"),f=c.attr("target")||"wp-preview",g=navigator.userAgent.toLowerCase();b.preventDefault(),c.hasClass("disabled")||(wp.autosave&&wp.autosave.server.tempBlockSave(),e.val("dopreview"),d.attr("target",f).submit().attr("target",""),-1!==g.indexOf("safari")&&-1===g.indexOf("chrome")&&d.attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),e.val(""))}),a("#title").on("keydown.editor-focus",function(b){var c,d;if(9===b.keyCode&&!b.ctrlKey&&!b.altKey&&!b.shiftKey){if(c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#content"),c&&!c.isHidden())c.focus();else{if(!d.length)return;d.focus()}b.preventDefault()}}),a("#auto_draft").val()&&a("#title").blur(function(){var b;this.value&&!a("#edit-slug-box > *").length&&(a("form#post").one("submit",function(){b=!0}),window.setTimeout(function(){!b&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),k.on("autosave-disable-buttons.edit-post",function(){e.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||e.removeClass("disabled")}).on("before-autosave.edit-post",function(){a(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(b,c){a(".autosave-message").text(c.message)}),a(window).on("beforeunload.edit-post",function(){var a="undefined"!=typeof tinymce&&tinymce.get("content");return a&&!a.isHidden()&&a.isDirty()||wp.autosave&&wp.autosave.server.postChanged()?postL10n.saveAlert:void 0}).on("unload.edit-post",function(b){o&&(b.target&&"#document"!=b.target.nodeName||a.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:a("#_wpnonce").val(),post_ID:a("#post_ID").val(),active_post_lock:a("#active_post_lock").val()}}))}),a("#tagsdiv-post_tag").length?tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(c=a("#timestamp").html(),d=a("#post-visibility-display").html(),f=function(){"public"!=p.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=p.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!q.length)return!0;var b,d,e,f,g=a("#post_status"),h=a('option[value="publish"]',g),i=a("#aa").val(),j=a("#mm").val(),k=a("#jj").val(),l=a("#hh").val(),m=a("#mn").val();return b=new Date(i,j-1,k,l,m),d=new Date(a("#hidden_aa").val(),a("#hidden_mm").val()-1,a("#hidden_jj").val(),a("#hidden_hh").val(),a("#hidden_mn").val()),e=new Date(a("#cur_aa").val(),a("#cur_mm").val()-1,a("#cur_jj").val(),a("#cur_hh").val(),a("#cur_mn").val()),b.getFullYear()!=i||1+b.getMonth()!=j||b.getDate()!=k||b.getMinutes()!=m?(q.find(".timestamp-wrap").addClass("form-invalid"),!1):(q.find(".timestamp-wrap").removeClass("form-invalid"),b>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=b&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),a("#timestamp").html(d.toUTCString()==b.toUTCString()?c:f+" "+postL10n.dateFormat.replace("%1$s",a('option[value="'+a("#mm").val()+'"]',"#mm").text()).replace("%2$s",k).replace("%3$s",i).replace("%4$s",l).replace("%5$s",m)+" "),"private"==p.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append(''+postL10n.privatelyPublished+" "):h.html(postL10n.privatelyPublished),a('option[value="publish"]',g).prop("selected",!0),a("#misc-publishing-actions .edit-post-status").hide()):("future"==a("#original_post_status").val()||"draft"==a("#original_post_status").val()?h.length&&(h.remove(),g.val(a("#hidden_post_status").val())):h.html(postL10n.published),g.is(":hidden")&&a("#misc-publishing-actions .edit-post-status").show()),a("#post-status-display").html(a("option:selected",g).text()),"private"==a("option:selected",g).val()||"publish"==a("option:selected",g).val()?a("#save-post").hide():(a("#save-post").show(),a("#save-post").show().val("pending"==a("option:selected",g).val()?postL10n.savePending:postL10n.saveDraft)),!0)},a("#visibility .edit-visibility").click(function(){return p.is(":hidden")&&(f(),p.slideDown("fast").find('input[type="radio"]').first().focus(),a(this).hide()),!1}),p.find(".cancel-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility-radio-"+a("#hidden-post-visibility").val()).prop("checked",!0),a("#post_password").val(a("#hidden-post-password").val()),a("#sticky").prop("checked",a("#hidden-post-sticky").prop("checked")),a("#post-visibility-display").html(d),a("#visibility .edit-visibility").show().focus(),g(),b.preventDefault()}),p.find(".save-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility .edit-visibility").show(),g(),"public"!=p.find("input:radio:checked").val()&&a("#sticky").prop("checked",!1),h=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[p.find("input:radio:checked").val()+h]),b.preventDefault()}),p.find("input:radio").change(function(){f()}),q.siblings("a.edit-timestamp").click(function(b){q.is(":hidden")&&(q.slideDown("fast"),a("#mm").focus(),a(this).hide()),b.preventDefault()}),q.find(".cancel-timestamp").click(function(b){q.slideUp("fast").siblings("a.edit-timestamp").show().focus(),a("#mm").val(a("#hidden_mm").val()),a("#jj").val(a("#hidden_jj").val()),a("#aa").val(a("#hidden_aa").val()),a("#hh").val(a("#hidden_hh").val()),a("#mn").val(a("#hidden_mn").val()),g(),b.preventDefault()}),q.find(".save-timestamp").click(function(a){g()&&(q.slideUp("fast"),q.siblings("a.edit-timestamp").show()),a.preventDefault()}),a("#post").on("submit",function(b){g()||(b.preventDefault(),q.show(),wp.autosave&&wp.autosave.enableButtons(),a("#publishing-action .spinner").hide())}),r.siblings("a.edit-post-status").click(function(b){r.is(":hidden")&&(r.slideDown("fast").find("select").focus(),a(this).hide()),b.preventDefault()}),r.find(".save-post-status").click(function(a){r.slideUp("fast").siblings("a.edit-post-status").show(),g(),a.preventDefault()}),r.find(".cancel-post-status").click(function(b){a("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),l.length&&l.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),"undefined"!=typeof wpWordCount&&(k.triggerHandler("wpcountwords",[j.val()]),j.keyup(function(a){var b=a.keyCode||a.charCode;return b==i?!0:((13==b||8==i||46==i)&&k.triggerHandler("wpcountwords",[j.val()]),i=b,!0)})),wptitlehint=function(b){b=b||"title";var c=a("#"+b),d=a("#"+b+"-prompt-text");""===c.val()&&d.removeClass("screen-reader-text"),d.click(function(){a(this).addClass("screen-reader-text"),c.focus()}),c.blur(function(){""===this.value&&d.removeClass("screen-reader-text")}).focus(function(){d.addClass("screen-reader-text")}).keydown(function(b){d.addClass("screen-reader-text"),a(this).unbind(b)})},wptitlehint(),function(){function b(a){i.hasClass("wp-editor-expand")||(f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault())}function c(){var b,c;i.hasClass("wp-editor-expand")||(f?(d.focus(),c=parseInt(a("#wp-content-editor-container .mce-toolbar-grp").height(),10),(10>c||c>200)&&(c=30),b=parseInt(a("#content_ifr").css("height"),10)+c-28):(g.focus(),b=parseInt(g.css("height"),10)),k.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b))}var d,e,f,g=a("textarea#content"),h=a("#post-status-info"),i=a("#postdivrich");return!g.length||"ontouchstart"in window?void a("#content-resize-handle").hide():void h.on("mousedown.wp-editor-resize",function(h){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-h.pageY):(f=!1,e=g.height()-h.pageY,g.blur()),k.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),h.preventDefault()}).on("mouseup.wp-editor-resize",c)}(),"undefined"!=typeof tinymce&&a("#post-formats-select input.post-format").on("change.set-editor-class",function(){var b,c,d=this.id;d&&a(this).prop("checked")&&(b=tinymce.get("content"))&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d),a(document).trigger("editor-classchange"))})});
\ No newline at end of file
+var tagBox,commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;function array_unique_noempty(t){var i=[];return jQuery.each(t,function(t,e){(e=jQuery.trim(e))&&-1==jQuery.inArray(e,i)&&i.push(e)}),i}makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(c){var t=!1;tagBox={clean:function(t){var e=postL10n.comma;return t=(t=","!==e?t.replace(new RegExp(e,"g"),","):t).replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),t=","!==e?t.replace(/,/g,e):t},parseTags:function(t){var e=t.id.split("-check-num-")[1],i=c(t).closest(".tagsdiv"),s=i.find(".the-tags"),a=postL10n.comma,t=s.val().split(a),n=[];return delete t[e],c.each(t,function(t,e){(e=c.trim(e))&&n.push(e)}),s.val(this.clean(n.join(a))),this.quickClicks(i),!1},quickClicks:function(t){var i,e=c(".the-tags",t),s=c(".tagchecklist",t),a=c(t).attr("id");e.length&&(i=e.prop("disabled"),e=e.val().split(postL10n.comma),s.empty(),c.each(e,function(t,e){(e=c.trim(e))&&(e=c(" ").text(e),i||((t=c('X ')).click(function(){tagBox.parseTags(this)}),e.prepend(" ").prepend(t)),s.append(e))}))},flushTags:function(t,e,i){var s,a=c(".the-tags",t),n=c("input.newtag",t),o=postL10n.comma,l=(e=e||!1)?c(e).text():n.val(),l=(s=a.val())?s+o+l:l;return l=array_unique_noempty((l=this.clean(l)).split(o)).join(o),a.val(l),this.quickClicks(t),e||n.val(""),void 0===i&&n.focus(),!1},get:function(i){var s=i.substr(i.indexOf("-")+1);c.post(ajaxurl,{action:"get-tagcloud",tax:s},function(t,e){0!==t&&"success"==e||(t=wpAjax.broken),t=c(''+t+"
"),c("a",t).click(function(){return tagBox.flushTags(c(this).closest(".inside").children(".tagsdiv"),this),!1}),c("#"+i).after(t)})},init:function(){var t=this,e=c("div.ajaxtag");c(".tagsdiv").each(function(){tagBox.quickClicks(this)}),c("input.tagadd",e).click(function(){t.flushTags(c(this).closest(".tagsdiv"))}),c("div.taghint",e).click(function(){c(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),c("input.newtag",e).blur(function(){""===this.value&&c(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){c(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(t){if(13==t.which)return tagBox.flushTags(c(this).closest(".tagsdiv")),!1}).keypress(function(t){if(13==t.which)return t.preventDefault(),!1}).each(function(){var t=c(this).closest("div.tagsdiv").attr("id");c(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+t,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),c("#post").submit(function(){c("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),c("a.tagcloud-link").click(function(){return tagBox.get(c(this).attr("id")),c(this).unbind().click(function(){return c(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(t,e){var i=this.st;return e=e||20,this.st+=e,this.total=t,c("#commentsdiv .spinner").show(),e={action:"get-comments",mode:"single",_ajax_nonce:c("#add_comment_nonce").val(),p:c("#post_ID").val(),start:i,number:e},c.post(ajaxurl,e,function(t){return t=wpAjax.parseAjaxResponse(t),c("#commentsdiv .widefat").show(),c("#commentsdiv .spinner").hide(),"object"==typeof t&&t.responses[0]?(c("#the-comment-list").append(t.responses[0].data),theList=theExtraList=null,c("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?c("#show-comments").hide():c("#show-comments").show().children("a").html(postL10n.showcomm))):void(1!=t?c("#the-comment-list").append(''+wpAjax.broken+" "):c("#show-comments").html(postL10n.endcomm))}),!1}},WPSetThumbnailHTML=function(t){c(".inside","#postimagediv").html(t)},WPSetThumbnailID=function(t){var e=c('input[value="_thumbnail_id"]',"#list-table");0 ').attr("src",i.lock_error.avatar_src.replace(/&/g,"&")),s.find("div.post-locked-avatar").empty().append(e)),s.show().find(".currently-editing").text(i.lock_error.text),s.find(".wp-tab-first").focus()):i.new_lock&&c("#active_post_lock").val(i.new_lock))}).on("before-autosave.update-post-slug",function(){t=document.activeElement&&"title"===document.activeElement.id}).on("after-autosave.update-post-slug",function(){c("#edit-slug-box > *").length||t||c.post(ajaxurl,{action:"sample-permalink",post_id:c("#post_ID").val(),new_title:c("#title").val(),samplepermalinknonce:c("#samplepermalinknonce").val()},function(t){"-1"!=t&&c("#edit-slug-box").html(t)})})}(jQuery),function(a){var n,t;function i(){n=!1,window.clearTimeout(t),t=window.setTimeout(function(){n=!0},3e5)}a(document).on("heartbeat-send.wp-refresh-nonces",function(t,e){var i,s;n&&(s=a("#post_ID").val())&&(i=a("#_wpnonce").val())&&(e["wp-refresh-post-nonces"]={post_id:s,post_nonce:i})}).on("heartbeat-tick.wp-refresh-nonces",function(t,e){e=e["wp-refresh-post-nonces"];e&&(i(),e.replace&&a.each(e.replace,function(t,e){a("#"+t).val(e)}),e.heartbeatNonce&&(window.heartbeatSettings.nonce=e.heartbeatNonce))}).ready(function(){i()})}(jQuery),jQuery(document).ready(function(d){var u,e,i,t,s,a,n,o,l,c,r="",p=0,h=d("#content"),v=d(document),f=d("#edit-slug-box"),m=d("#post_ID").val()||0,g=d("#submitpost"),b=!0,w=d("#post-visibility-select"),k=d("#timestampdiv"),_=d("#post-status-select");function y(t){c.hasClass("wp-editor-expand")||(o?a.theme.resizeTo(null,n+t.pageY):l.height(Math.max(50,n+t.pageY)),t.preventDefault())}function x(){var t;c.hasClass("wp-editor-expand")||(t=o?(a.focus(),((t=parseInt(d("#wp-content-editor-container .mce-toolbar-grp").height(),10))<10||200 *").length&&(d("form#post").one("submit",function(){t=!0}),window.setTimeout(function(){!t&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),v.on("autosave-disable-buttons.edit-post",function(){i.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||i.removeClass("disabled")}).on("before-autosave.edit-post",function(){d(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(t,e){d(".autosave-message").text(e.message)}),d(window).on("beforeunload.edit-post",function(){var t="undefined"!=typeof tinymce&&tinymce.get("content");if(t&&!t.isHidden()&&t.isDirty()||wp.autosave&&wp.autosave.server.postChanged())return postL10n.saveAlert}).on("unload.edit-post",function(t){b&&(t.target&&"#document"!=t.target.nodeName||d.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:d("#_wpnonce").val(),post_ID:d("#post_ID").val(),active_post_lock:d("#active_post_lock").val()}}))}),d("#tagsdiv-post_tag").length?tagBox.init():d("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(0===this.id.indexOf("tagsdiv-"))return tagBox.init(),!1}),d(".categorydiv").each(function(){var t,a,e,i=d(this).attr("id").split("-");i.shift(),a=i.join("-"),e="category"==a?"cats":a+"_tab",d("a","#"+a+"-tabs").click(function(){var t=d(this).attr("href");return d(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),d("#"+a+"-tabs").siblings(".tabs-panel").hide(),d(t).show(),"#"+a+"-all"==t?deleteUserSetting(e):setUserSetting(e,"pop"),!1}),getUserSetting(e)&&d('a[href="#'+a+'-pop"]',"#"+a+"-tabs").click(),d("#new"+a).one("focus",function(){d(this).val("").removeClass("form-input-tip")}),d("#new"+a).keypress(function(t){13===t.keyCode&&(t.preventDefault(),d("#"+a+"-add-submit").click())}),d("#"+a+"-add-submit").click(function(){d("#new"+a).focus()}),t=function(t){return!!d("#new"+a).val()&&(t.data+="&"+d(":checked","#"+a+"checklist").serialize(),d("#"+a+"-add-submit").prop("disabled",!0),t)},i=function(t,e){var i,s=d("#new"+a+"_parent");d("#"+a+"-add-submit").prop("disabled",!1),"undefined"!=e.parsed.responses[0]&&(i=e.parsed.responses[0].supplemental.newcat_parent)&&(s.before(i),s.remove())},d("#"+a+"checklist").wpList({alt:"",response:a+"-ajax-response",addBefore:t,addAfter:i}),d("#"+a+"-add-toggle").click(function(){return d("#"+a+"-adder").toggleClass("wp-hidden-children"),d('a[href="#'+a+'-all"]',"#"+a+"-tabs").click(),d("#new"+a).focus(),!1}),d("#"+a+"checklist, #"+a+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var t=d(this),e=t.is(":checked"),i=t.val();i&&t.parents("#taxonomy-"+a).length&&d("#in-"+a+"-"+i+", #in-popular-"+a+"-"+i).prop("checked",e)})}),d("#postcustom").length&&d("#the-list").wpList({addAfter:function(){d("table#list-table").show()},addBefore:function(t){return t.data+="&post_id="+d("#post_ID").val(),t}}),d("#submitdiv").length&&(u=d("#timestamp").html(),e=d("#post-visibility-display").html(),t=function(){"public"!=w.find("input:radio:checked").val()?(d("#sticky").prop("checked",!1),d("#sticky-span").hide()):d("#sticky-span").show(),"password"!=w.find("input:radio:checked").val()?d("#password-span").hide():d("#password-span").show()},s=function(){if(!k.length)return!0;var t,e=d("#post_status"),i=d('option[value="publish"]',e),s=d("#aa").val(),a=d("#mm").val(),n=d("#jj").val(),o=d("#hh").val(),l=d("#mn").val(),c=new Date(s,a-1,n,o,l),r=new Date(d("#hidden_aa").val(),d("#hidden_mm").val()-1,d("#hidden_jj").val(),d("#hidden_hh").val(),d("#hidden_mn").val()),p=new Date(d("#cur_aa").val(),d("#cur_mm").val()-1,d("#cur_jj").val(),d("#cur_hh").val(),d("#cur_mn").val());return c.getFullYear()!=s||1+c.getMonth()!=a||c.getDate()!=n||c.getMinutes()!=l?(k.find(".timestamp-wrap").addClass("form-invalid"),!1):(k.find(".timestamp-wrap").removeClass("form-invalid"),p"+postL10n.dateFormat.replace("%1$s",d('option[value="'+d("#mm").val()+'"]',"#mm").text()).replace("%2$s",n).replace("%3$s",s).replace("%4$s",o).replace("%5$s",l)+" "),"private"==w.find("input:radio:checked").val()?(d("#publish").val(postL10n.update),0===i.length?e.append(''+postL10n.privatelyPublished+" "):i.html(postL10n.privatelyPublished),d('option[value="publish"]',e).prop("selected",!0),d("#misc-publishing-actions .edit-post-status").hide()):("future"==d("#original_post_status").val()||"draft"==d("#original_post_status").val()?i.length&&(i.remove(),e.val(d("#hidden_post_status").val())):i.html(postL10n.published),e.is(":hidden")&&d("#misc-publishing-actions .edit-post-status").show()),d("#post-status-display").html(d("option:selected",e).text()),"private"==d("option:selected",e).val()||"publish"==d("option:selected",e).val()?d("#save-post").hide():(d("#save-post").show(),"pending"==d("option:selected",e).val()?d("#save-post").show().val(postL10n.savePending):d("#save-post").show().val(postL10n.saveDraft)),!0)},d("#visibility .edit-visibility").click(function(){return w.is(":hidden")&&(t(),w.slideDown("fast").find('input[type="radio"]').first().focus(),d(this).hide()),!1}),w.find(".cancel-post-visibility").click(function(t){w.slideUp("fast"),d("#visibility-radio-"+d("#hidden-post-visibility").val()).prop("checked",!0),d("#post_password").val(d("#hidden-post-password").val()),d("#sticky").prop("checked",d("#hidden-post-sticky").prop("checked")),d("#post-visibility-display").html(e),d("#visibility .edit-visibility").show().focus(),s(),t.preventDefault()}),w.find(".save-post-visibility").click(function(t){w.slideUp("fast"),d("#visibility .edit-visibility").show(),s(),"public"!=w.find("input:radio:checked").val()&&d("#sticky").prop("checked",!1),r=d("#sticky").prop("checked")?"Sticky":"",d("#post-visibility-display").html(postL10n[w.find("input:radio:checked").val()+r]),t.preventDefault()}),w.find("input:radio").change(function(){t()}),k.siblings("a.edit-timestamp").click(function(t){k.is(":hidden")&&(k.slideDown("fast"),d("#mm").focus(),d(this).hide()),t.preventDefault()}),k.find(".cancel-timestamp").click(function(t){k.slideUp("fast").siblings("a.edit-timestamp").show().focus(),d("#mm").val(d("#hidden_mm").val()),d("#jj").val(d("#hidden_jj").val()),d("#aa").val(d("#hidden_aa").val()),d("#hh").val(d("#hidden_hh").val()),d("#mn").val(d("#hidden_mn").val()),s(),t.preventDefault()}),k.find(".save-timestamp").click(function(t){s()&&(k.slideUp("fast"),k.siblings("a.edit-timestamp").show()),t.preventDefault()}),d("#post").on("submit",function(t){s()||(t.preventDefault(),k.show(),wp.autosave&&wp.autosave.enableButtons(),d("#publishing-action .spinner").hide())}),_.siblings("a.edit-post-status").click(function(t){_.is(":hidden")&&(_.slideDown("fast").find("select").focus(),d(this).hide()),t.preventDefault()}),_.find(".save-post-status").click(function(t){_.slideUp("fast").siblings("a.edit-post-status").show(),s(),t.preventDefault()}),_.find(".cancel-post-status").click(function(t){d("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),d("#post_status").val(d("#hidden_post_status").val()),s(),t.preventDefault()})),f.length&&f.on("click",function(t){t=d(t.target);(t.is("#editable-post-name")||t.hasClass("edit-slug"))&&function(){var t,e,i=0,s=d("#editable-post-name"),a=s.html(),n=d("#post_name"),o=n.val(),l=d("#edit-slug-buttons"),c=l.html(),r=d("#editable-post-name-full").html();for(d("#view-post-btn").hide(),l.html(''+postL10n.ok+' '+postL10n.cancel+" "),l.children(".save").click(function(){var i=s.children("input").val();return i==d("#editable-post-name-full").text()?l.children(".cancel").click():d.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:i,new_title:d("#title").val(),samplepermalinknonce:d("#samplepermalinknonce").val()},function(t){var e=d("#edit-slug-box");e.html(t),e.hasClass("hidden")&&e.fadeIn("fast",function(){e.removeClass("hidden")}),l.html(c),n.val(i),d("#view-post-btn").show()}),!1}),l.children(".cancel").click(function(){return d("#view-post-btn").show(),s.html(a),l.html(c),n.val(o),!1}),t=0;tr.length/4?"":r,s.html(' ').children("input").keypress(function(t){t=t.keyCode||0;return 13==t?(l.children(".save").click(),!1):27==t?(l.children(".cancel").click(),!1):void 0}).keyup(function(){n.val(this.value)}).focus()}()}),"undefined"!=typeof wpWordCount&&(v.triggerHandler("wpcountwords",[h.val()]),h.keyup(function(t){t=t.keyCode||t.charCode;return t==p||(13!=t&&8!=p&&46!=p||v.triggerHandler("wpcountwords",[h.val()]),p=t),!0})),(wptitlehint=function(t){var e=d("#"+(t=t||"title")),i=d("#"+t+"-prompt-text");""===e.val()&&i.removeClass("screen-reader-text"),i.click(function(){d(this).addClass("screen-reader-text"),e.focus()}),e.blur(function(){""===this.value&&i.removeClass("screen-reader-text")}).focus(function(){i.addClass("screen-reader-text")}).keydown(function(t){i.addClass("screen-reader-text"),d(this).unbind(t)})})(),l=d("textarea#content"),f=d("#post-status-info"),c=d("#postdivrich"),!l.length||"ontouchstart"in window?d("#content-resize-handle").hide():f.on("mousedown.wp-editor-resize",function(t){(a="undefined"!=typeof tinymce?tinymce.get("content"):a)&&!a.isHidden()?(o=!0,n=d("#content_ifr").height()-t.pageY):(o=!1,n=l.height()-t.pageY,l.blur()),v.on("mousemove.wp-editor-resize",y).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",x),t.preventDefault()}).on("mouseup.wp-editor-resize",x),"undefined"!=typeof tinymce&&d("#post-formats-select input.post-format").on("change.set-editor-class",function(){var t,e,i=this.id;i&&d(this).prop("checked")&&(t=tinymce.get("content"))&&((e=t.getBody()).className=e.className.replace(/\bpost-format-[^ ]+/,""),t.dom.addClass(e,"post-format-0"==i?"post-format-standard":i),d(document).trigger("editor-classchange"))})});
\ No newline at end of file
diff --git a/wp-admin/js/postbox.min.js b/wp-admin/js/postbox.min.js
index 3cbd15ba57..77adfbff77 100644
--- a/wp-admin/js/postbox.min.js
+++ b/wp-admin/js/postbox.min.js
@@ -1 +1 @@
-var postboxes;!function(a){var b=a(document);postboxes={add_postbox_toggles:function(c,d){var e=this;e.init(c,d),a(".postbox .hndle, .postbox .handlediv").bind("click.postboxes",function(){var d=a(this).parent(".postbox"),f=d.attr("id");"dashboard_browser_nag"!=f&&(d.toggleClass("closed"),"press-this"!=c&&e.save_state(c),f&&(!d.hasClass("closed")&&a.isFunction(postboxes.pbshow)?e.pbshow(f):d.hasClass("closed")&&a.isFunction(postboxes.pbhide)&&e.pbhide(f)),b.trigger("postbox-toggled",d))}),a(".postbox .hndle a").click(function(a){a.stopPropagation()}),a(".postbox a.dismiss").bind("click.postboxes",function(){var b=a(this).parents(".postbox").attr("id")+"-hide";return a("#"+b).prop("checked",!1).triggerHandler("click"),!1}),a(".hide-postbox-tog").bind("click.postboxes",function(){var d=a(this).val(),f=a("#"+d);a(this).prop("checked")?(f.show(),a.isFunction(postboxes.pbshow)&&e.pbshow(d)):(f.hide(),a.isFunction(postboxes.pbhide)&&e.pbhide(d)),e.save_state(c),e._mark_area(),b.trigger("postbox-toggled",f)}),a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var b=parseInt(a(this).val(),10);b&&(e._pb_edit(b),e.save_order(c))})},init:function(b,c){var d=a(document.body).hasClass("mobile");a.extend(this,c||{}),a("#wpbody-content").css("overflow","hidden"),a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:d?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){return a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?void a(this).sortable("cancel"):void postboxes.save_order(b)},receive:function(b,c){"dashboard_browser_nag"==c.item[0].id&&a(c.sender).sortable("cancel"),postboxes._mark_area()}}),d&&(a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(b){var c=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),d=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:c,hidden:d,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:b})},save_order:function(b){var c,d=a(".columns-prefs input:checked").val()||0;c={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:b},a(".meta-box-sortables").each(function(){c["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")}),a.post(ajaxurl,c)},_mark_area:function(){var b=a("div.postbox:visible").length,c=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(){var c=a(this);1==b||c.children(".postbox:visible").length?c.removeClass("empty-container"):c.addClass("empty-container")}),c.length&&(c.children(".postbox:visible").length?c.removeClass("empty-container"):"280px"==a("#postbox-container-1").css("width")&&c.addClass("empty-container"))},_pb_edit:function(b){var c=a(".metabox-holder").get(0);c&&(c.className=c.className.replace(/columns-\d+/,"columns-"+b)),a(document).trigger("postboxes-columnchange")},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:b.length&&b.is(":checked")||this._pb_edit(2);break;case 0:case 180:a("#poststuff").length?this._pb_edit(1):b.length&&b.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
+var postboxes;!function(i){var a=i(document);postboxes={add_postbox_toggles:function(s,e){var t=this;t.init(s,e),i(".postbox .hndle, .postbox .handlediv").bind("click.postboxes",function(){var e=i(this).parent(".postbox"),o=e.attr("id");"dashboard_browser_nag"!=o&&(e.toggleClass("closed"),"press-this"!=s&&t.save_state(s),o&&(!e.hasClass("closed")&&i.isFunction(postboxes.pbshow)?t.pbshow(o):e.hasClass("closed")&&i.isFunction(postboxes.pbhide)&&t.pbhide(o)),a.trigger("postbox-toggled",e))}),i(".postbox .hndle a").click(function(e){e.stopPropagation()}),i(".postbox a.dismiss").bind("click.postboxes",function(){var e=i(this).parents(".postbox").attr("id")+"-hide";return i("#"+e).prop("checked",!1).triggerHandler("click"),!1}),i(".hide-postbox-tog").bind("click.postboxes",function(){var e=i(this).val(),o=i("#"+e);i(this).prop("checked")?(o.show(),i.isFunction(postboxes.pbshow)&&t.pbshow(e)):(o.hide(),i.isFunction(postboxes.pbhide)&&t.pbhide(e)),t.save_state(s),t._mark_area(),a.trigger("postbox-toggled",o)}),i('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var e=parseInt(i(this).val(),10);e&&(t._pb_edit(e),t.save_order(s))})},init:function(e,o){var s=i(document.body).hasClass("mobile");i.extend(this,o||{}),i("#wpbody-content").css("overflow","hidden"),i(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:s?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){i(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?i(this).sortable("cancel"):postboxes.save_order(e)},receive:function(e,o){"dashboard_browser_nag"==o.item[0].id&&i(o.sender).sortable("cancel"),postboxes._mark_area()}}),s&&(i(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(e){var o=i(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),s=i(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");i.post(ajaxurl,{action:"closed-postboxes",closed:o,hidden:s,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:e})},save_order:function(e){var o=i(".columns-prefs input:checked").val()||0,s={action:"meta-box-order",_ajax_nonce:i("#meta-box-order-nonce").val(),page_columns:o,page:e};i(".meta-box-sortables").each(function(){s["order["+this.id.split("-")[0]+"]"]=i(this).sortable("toArray").join(",")}),i.post(ajaxurl,s)},_mark_area:function(){var o=i("div.postbox:visible").length,e=i("#post-body #side-sortables");i("#dashboard-widgets .meta-box-sortables:visible").each(function(){var e=i(this);1==o||e.children(".postbox:visible").length?e.removeClass("empty-container"):e.addClass("empty-container")}),e.length&&(e.children(".postbox:visible").length?e.removeClass("empty-container"):"280px"==i("#postbox-container-1").css("width")&&e.addClass("empty-container"))},_pb_edit:function(e){var o=i(".metabox-holder").get(0);o&&(o.className=o.className.replace(/columns-\d+/,"columns-"+e)),i(document).trigger("postboxes-columnchange")},_pb_change:function(){var e=i('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:e.length&&e.is(":checked")||this._pb_edit(2);break;case 0:case 180:i("#poststuff").length?this._pb_edit(1):e.length&&e.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/revisions.min.js b/wp-admin/js/revisions.min.js
index 0907e708a2..fdc6bc1273 100644
--- a/wp-admin/js/revisions.min.js
+++ b/wp-admin/js/revisions.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,b.debug=!1,b.log=function(){window.console&&b.debug&&window.console.log.apply(window.console,arguments)},a.fn.allOffsets=function(){var b=this.offset()||{top:0,left:0},c=a(window);return _.extend(b,{right:c.width()-b.left-this.outerWidth(),bottom:c.height()-b.top-this.outerHeight()})},a.fn.allPositions=function(){var a=this.position()||{top:0,left:0},b=this.parent();return _.extend(a,{right:b.outerWidth()-a.left-this.outerWidth(),bottom:b.outerHeight()-a.top-this.outerHeight()})},b.settings.to&&(b.settings.to=parseInt(b.settings.to,10)),b.settings.from&&(b.settings.from=parseInt(b.settings.from,10)),b.settings.compareTwoMode&&(b.settings.compareTwoMode="1"===b.settings.compareTwoMode),b.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(a,b){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(a))-1:this.revisions.indexOf(this.get(b))},updateSliderSettings:function(){this.set(this.get("compareTwoMode")?{values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}:{value:this.getSliderValue("to","to"),values:null,range:!1}),this.trigger("update:slider")},hoverRevision:function(a,b){this.trigger("hovered:revision",b)},updateMode:function(a,b){this.set({compareTwoMode:b})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(a,b){(this.get("from")!==a||this.get("to")!==b)&&(this.set({from:a,to:b},{silent:!0}),this.trigger("update:revisions",a,b))}}),b.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:!1,scrubbing:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.slider=a.slider,this.listenTo(this.slider,"hovered:revision",this.updateRevision),this.listenTo(this.slider,"change:hovering",this.setHovering),this.listenTo(this.slider,"change:scrubbing",this.setScrubbing)},updateRevision:function(a){this.set({revision:a})},setHovering:function(a,b){this.set({hovering:b})},setScrubbing:function(a,b){this.set({scrubbing:b})}}),b.model.Revision=Backbone.Model.extend({}),b.model.Revisions=Backbone.Collection.extend({model:b.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(a){var b=this.indexOf(a);return-1!==b&&b!==this.length-1?this.at(b+1):void 0},prev:function(a){var b=this.indexOf(a);return-1!==b&&0!==b?this.at(b-1):void 0}}),b.model.Field=Backbone.Model.extend({}),b.model.Fields=Backbone.Collection.extend({model:b.model.Field}),b.model.Diff=Backbone.Model.extend({initialize:function(){var a=this.get("fields");this.unset("fields"),this.fields=new b.model.Fields(a)}}),b.model.Diffs=Backbone.Collection.extend({initialize:function(a,b){_.bindAll(this,"getClosestUnloaded"),this.loadAll=_.once(this._loadAll),this.revisions=b.revisions,this.requests={}},model:b.model.Diff,ensure:function(b,c){var d=this.get(b),e=this.requests[b],f=a.Deferred(),g={},h=b.split(":")[0],i=b.split(":")[1];return g[b]=!0,wp.revisions.log("ensure",b),this.trigger("ensure",g,h,i,f.promise()),d?f.resolveWith(c,[d]):(this.trigger("ensure:load",g,h,i,f.promise()),_.each(g,_.bind(function(a){this.requests[a]&&delete g[a],this.get(a)&&delete g[a]},this)),e||(g[b]=!0,e=this.load(_.keys(g))),e.done(_.bind(function(){f.resolveWith(c,[this.get(b)])},this)).fail(_.bind(function(){f.reject()}))),f.promise()},getClosestUnloaded:function(a,b){var c=this;return _.chain([0].concat(a)).initial().zip(a).sortBy(function(a){return Math.abs(b-a[1])}).map(function(a){return a.join(":")}).filter(function(a){return _.isUndefined(c.get(a))&&!c.requests[a]}).value()},_loadAll:function(b,c,d){var e=this,f=a.Deferred(),g=_.first(this.getClosestUnloaded(b,c),d);return _.size(g)>0?this.load(g).done(function(){e._loadAll(b,c,d).done(function(){f.resolve()})}).fail(function(){1===d?f.reject():e._loadAll(b,c,Math.ceil(d/2)).done(function(){f.resolve()})}):f.resolve(),f},load:function(a){return wp.revisions.log("load",a),this.fetch({data:{compare:a},remove:!1}).done(function(){wp.revisions.log("load:complete",a)})},sync:function(a,c,d){if("read"===a){d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:b.settings.postId});var e=wp.ajax.send(d),f=this.requests;return d.data.compare&&_.each(d.data.compare,function(a){f[a]=e}),e.always(function(){d.data.compare&&_.each(d.data.compare,function(a){delete f[a]})}),e}return Backbone.Model.prototype.sync.apply(this,arguments)}}),b.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(a,c){var d={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions}),this.diffs.set(b.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),d.to=this.revisions.get(b.settings.to),d.from=this.revisions.get(b.settings.from),d.compareTwoMode=b.settings.compareTwoMode,d.baseUrl=b.settings.baseUrl,this.set(d),window.history&&window.history.pushState&&(this.router=new b.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(a,b){var c=this.revisions.indexOf(this.get("to"));b&&0===c&&this.set({from:this.revisions.at(c),to:this.revisions.at(c+1)}),b||0===c||this.set({from:this.revisions.at(c-1),to:this.revisions.at(c)})},updatedRevisions:function(a,b){this.get("compareTwoMode")||this.diffs.loadAll(this.revisions.pluck("id"),b.id,40)},diff:function(){return this.diffs.get(this._diffId)},updateDiff:function(b){var c,d,e,f;return b=b||{},c=this.get("from"),d=this.get("to"),e=(c?c.id:0)+":"+d.id,this._diffId===e?a.Deferred().reject().promise():(this._diffId=e,this.trigger("update:revisions",c,d),f=this.diffs.get(e),f?(this.receiveDiff(f),a.Deferred().resolve().promise()):b.immediate?this._ensureDiff():(this._debouncedEnsureDiff(),a.Deferred().reject().promise()))},changeRevisionHandler:function(){this.updateDiff()},receiveDiff:function(a){_.isUndefined(a)||_.isUndefined(a.id)?this.set({loading:!1,error:!0}):this._diffId===a.id&&this.trigger("update:diff",a)},_ensureDiff:function(){return this.diffs.ensure(this._diffId,this).always(this.receiveDiff)}}),b.view.Frame=wp.Backbone.View.extend({className:"revisions",template:wp.template("revisions-frame"),initialize:function(){this.listenTo(this.model,"update:diff",this.renderDiff),this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode),this.listenTo(this.model,"change:loading",this.updateLoadingStatus),this.listenTo(this.model,"change:error",this.updateErrorStatus),this.views.set(".revisions-control-frame",new b.view.Controls({model:this.model}))},render:function(){return wp.Backbone.View.prototype.render.apply(this,arguments),a("html").css("overflow-y","scroll"),a("#wpbody-content .wrap").append(this.el),this.updateCompareTwoMode(),this.renderDiff(this.model.diff()),this.views.ready(),this},renderDiff:function(a){this.views.set(".revisions-diff-frame",new b.view.Diff({model:a}))},updateLoadingStatus:function(){this.$el.toggleClass("loading",this.model.get("loading"))},updateErrorStatus:function(){this.$el.toggleClass("diff-error",this.model.get("error"))},updateCompareTwoMode:function(){this.$el.toggleClass("comparing-two-revisions",this.model.get("compareTwoMode"))}}),b.view.Controls=wp.Backbone.View.extend({className:"revisions-controls",initialize:function(){_.bindAll(this,"setWidth"),this.views.add(new b.view.Buttons({model:this.model})),this.views.add(new b.view.Checkbox({model:this.model}));var a=new b.model.Slider({frame:this.model,revisions:this.model.revisions}),c=new b.model.Tooltip({frame:this.model,revisions:this.model.revisions,slider:a});this.views.add(new b.view.Tooltip({model:c})),this.views.add(new b.view.Tickmarks({model:c})),this.views.add(new b.view.Slider({model:a})),this.views.add(new b.view.Metabox({model:this.model}))},ready:function(){this.top=this.$el.offset().top,this.window=a(window),this.window.on("scroll.wp.revisions",{controls:this},function(a){var b=a.data.controls,c=b.$el.parent(),d=b.window.scrollTop(),e=b.views.parent;d>=b.top?(e.$el.hasClass("pinned")||(b.setWidth(),c.css("height",c.height()+"px"),b.window.on("resize.wp.revisions.pinning click.wp.revisions.pinning",{controls:b},function(a){a.data.controls.setWidth()})),e.$el.addClass("pinned")):e.$el.hasClass("pinned")?(b.window.off(".wp.revisions.pinning"),b.$el.css("width","auto"),e.$el.removeClass("pinned"),c.css("height","auto"),b.top=b.$el.offset().top):b.top=b.$el.offset().top})},setWidth:function(){this.$el.css("width",this.$el.parent().width()+"px")}}),b.view.Tickmarks=wp.Backbone.View.extend({className:"revisions-tickmarks",direction:isRtl?"right":"left",initialize:function(){this.listenTo(this.model,"change:revision",this.reportTickPosition)},reportTickPosition:function(a,b){var c,d,e,f,g=this.model.revisions.indexOf(b);d=this.$el.allOffsets(),e=this.$el.parent().allOffsets(),g===this.model.revisions.length-1?c={rightPlusWidth:d.left-e.left+1,leftPlusWidth:d.right-e.right+1}:(f=this.$("div:nth-of-type("+(g+1)+")"),c=f.allPositions(),_.extend(c,{left:c.left+d.left-e.left,right:c.right+d.right-e.right}),_.extend(c,{leftPlusWidth:c.left+f.outerWidth(),rightPlusWidth:c.right+f.outerWidth()})),this.model.set({offset:c})},ready:function(){var a,b;a=this.model.revisions.length-1,b=1/a,this.$el.css("width",50*this.model.revisions.length+"px"),_(a).times(function(a){this.$el.append('
')},this)}}),b.view.Metabox=wp.Backbone.View.extend({className:"revisions-meta",initialize:function(){this.views.add(new b.view.MetaFrom({model:this.model,className:"diff-meta diff-meta-from"})),this.views.add(new b.view.MetaTo({model:this.model}))}}),b.view.Meta=wp.Backbone.View.extend({template:wp.template("revisions-meta"),events:{"click .restore-revision":"restoreRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.render)},prepare:function(){return _.extend(this.model.toJSON()[this.type]||{},{type:this.type})},restoreRevision:function(){document.location=this.model.get("to").attributes.restoreUrl}}),b.view.MetaFrom=b.view.Meta.extend({className:"diff-meta diff-meta-from",type:"from"}),b.view.MetaTo=b.view.Meta.extend({className:"diff-meta diff-meta-to",type:"to"}),b.view.Checkbox=wp.Backbone.View.extend({className:"revisions-checkbox",template:wp.template("revisions-checkbox"),events:{"click .compare-two-revisions":"compareTwoToggle"},initialize:function(){this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode)},ready:function(){this.model.revisions.length<3&&a(".revision-toggle-compare-mode").hide()},updateCompareTwoMode:function(){this.$(".compare-two-revisions").prop("checked",this.model.get("compareTwoMode"))},compareTwoToggle:function(){this.model.set({compareTwoMode:a(".compare-two-revisions").prop("checked")})}}),b.view.Tooltip=wp.Backbone.View.extend({className:"revisions-tooltip",template:wp.template("revisions-meta"),initialize:function(){this.listenTo(this.model,"change:offset",this.render),this.listenTo(this.model,"change:hovering",this.toggleVisibility),this.listenTo(this.model,"change:scrubbing",this.toggleVisibility)},prepare:function(){return _.isNull(this.model.get("revision"))?void 0:_.extend({type:"tooltip"},{attributes:this.model.get("revision").toJSON()})},render:function(){var a,b,c,d,e={},f=this.model.revisions.indexOf(this.model.get("revision"))+1;d=f/this.model.revisions.length>.5,isRtl?(b=d?"left":"right",c=d?"leftPlusWidth":b):(b=d?"right":"left",c=d?"rightPlusWidth":b),a="right"===b?"left":"right",wp.Backbone.View.prototype.render.apply(this,arguments),e[b]=this.model.get("offset")[c]+"px",e[a]="",this.$el.toggleClass("flipped",d).css(e)},visible:function(){return this.model.get("scrubbing")||this.model.get("hovering")},toggleVisibility:function(){this.visible()?this.$el.stop().show().fadeTo(100-100*this.el.style.opacity,1):this.$el.stop().fadeTo(300*this.el.style.opacity,0,function(){a(this).hide()})}}),b.view.Buttons=wp.Backbone.View.extend({className:"revisions-buttons",template:wp.template("revisions-buttons"),events:{"click .revisions-next .button":"nextRevision","click .revisions-previous .button":"previousRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.disabledButtonCheck)},ready:function(){this.disabledButtonCheck()},gotoModel:function(a){var b={to:this.model.revisions.at(a)};a?b.from=this.model.revisions.at(a-1):this.model.unset("from",{silent:!0}),this.model.set(b)},nextRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))+1;this.gotoModel(a)},previousRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))-1;this.gotoModel(a)},disabledButtonCheck:function(){var b=this.model.revisions.length-1,c=0,d=a(".revisions-next .button"),e=a(".revisions-previous .button"),f=this.model.revisions.indexOf(this.model.get("to"));d.prop("disabled",b===f),e.prop("disabled",c===f)}}),b.view.Slider=wp.Backbone.View.extend({className:"wp-slider",direction:isRtl?"right":"left",events:{mousemove:"mouseMove"},initialize:function(){_.bindAll(this,"start","slide","stop","mouseMove","mouseEnter","mouseLeave"),this.listenTo(this.model,"update:slider",this.applySliderSettings)},ready:function(){this.$el.css("width",50*this.model.revisions.length+"px"),this.$el.slider(_.extend(this.model.toJSON(),{start:this.start,slide:this.slide,stop:this.stop})),this.$el.hoverIntent({over:this.mouseEnter,out:this.mouseLeave,timeout:800}),this.applySliderSettings()},mouseMove:function(b){var c=this.model.revisions.length-1,d=this.$el.allOffsets()[this.direction],e=this.$el.width(),f=e/c,g=(isRtl?a(window).width()-b.pageX:b.pageX)-d,h=Math.floor((g+f/2)/f);0>h?h=0:h>=this.model.revisions.length&&(h=this.model.revisions.length-1),this.model.set({hoveredRevision:this.model.revisions.at(h)})},mouseLeave:function(){this.model.set({hovering:!1})},mouseEnter:function(){this.model.set({hovering:!0})},applySliderSettings:function(){this.$el.slider(_.pick(this.model.toJSON(),"value","values","range"));var a=this.$("a.ui-slider-handle");this.model.get("compareTwoMode")?(a.first().toggleClass("to-handle",!!isRtl).toggleClass("from-handle",!isRtl),a.last().toggleClass("from-handle",!!isRtl).toggleClass("to-handle",!isRtl)):a.removeClass("from-handle to-handle")},start:function(b,c){this.model.set({scrubbing:!0}),a(window).on("mousemove.wp.revisions",{view:this},function(b){var d,e=b.data.view,f=e.$el.offset().left,g=f,h=f+e.$el.width(),i=h,j="0",k="100%",l=a(c.handle);e.model.get("compareTwoMode")&&(d=l.parent().find(".ui-slider-handle"),l.is(d.first())?(i=d.last().offset().left,k=i-g):(f=d.first().offset().left+d.first().width(),j=f-g)),b.pageXi?l.css("left",k):l.css("left",b.pageX-g)})},getPosition:function(a){return isRtl?this.model.revisions.length-a-1:a},slide:function(a,b){var c,d;if(this.model.get("compareTwoMode")){if(b.values[1]===b.values[0])return!1;isRtl&&b.values.reverse(),c={from:this.model.revisions.at(this.getPosition(b.values[0])),to:this.model.revisions.at(this.getPosition(b.values[1]))}}else c={to:this.model.revisions.at(this.getPosition(b.value))},c.from=this.getPosition(b.value)>0?this.model.revisions.at(this.getPosition(b.value)-1):void 0;d=this.model.revisions.at(this.getPosition(b.value)),this.model.get("scrubbing")&&(c.hoveredRevision=d),this.model.set(c)},stop:function(){a(window).off("mousemove.wp.revisions"),this.model.updateSliderSettings(),this.model.set({scrubbing:!1})}}),b.view.Diff=wp.Backbone.View.extend({className:"revisions-diff",template:wp.template("revisions-diff"),prepare:function(){return _.extend({fields:this.model.fields.toJSON()},this.options)}}),b.Router=Backbone.Router.extend({initialize:function(a){this.model=a.model,this.listenTo(this.model,"update:diff",_.debounce(this.updateUrl,250)),this.listenTo(this.model,"change:compareTwoMode",this.updateUrl)},baseUrl:function(a){return this.model.get("baseUrl")+a},updateUrl:function(){var a=this.model.has("from")?this.model.get("from").id:0,b=this.model.get("to").id;this.model.get("compareTwoMode")?this.navigate(this.baseUrl("?from="+a+"&to="+b),{replace:!0}):this.navigate(this.baseUrl("?revision="+b),{replace:!0})},handleRoute:function(a,b){var c=_.isUndefined(b);c||(b=this.model.revisions.get(a),a=this.model.revisions.prev(b),b=b?b.id:0,a=a?a.id:0)}}),b.init=function(){b.view.frame=new b.view.Frame({model:new b.model.FrameState({},{revisions:new b.model.Revisions(b.settings.revisionData)})}).render()},a(b.init)}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(h){var n=wp.revisions={model:{},view:{},controller:{}};n.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,n.debug=!1,n.log=function(){window.console&&n.debug&&window.console.log.apply(window.console,arguments)},h.fn.allOffsets=function(){var e=this.offset()||{top:0,left:0},i=h(window);return _.extend(e,{right:i.width()-e.left-this.outerWidth(),bottom:i.height()-e.top-this.outerHeight()})},h.fn.allPositions=function(){var e=this.position()||{top:0,left:0},i=this.parent();return _.extend(e,{right:i.outerWidth()-e.left-this.outerWidth(),bottom:i.outerHeight()-e.top-this.outerHeight()})},n.settings.to&&(n.settings.to=parseInt(n.settings.to,10)),n.settings.from&&(n.settings.from=parseInt(n.settings.from,10)),n.settings.compareTwoMode&&(n.settings.compareTwoMode="1"===n.settings.compareTwoMode),n.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(e){this.frame=e.frame,this.revisions=e.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(e,i){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(e))-1:this.revisions.indexOf(this.get(i))},updateSliderSettings:function(){this.get("compareTwoMode")?this.set({values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}):this.set({value:this.getSliderValue("to","to"),values:null,range:!1}),this.trigger("update:slider")},hoverRevision:function(e,i){this.trigger("hovered:revision",i)},updateMode:function(e,i){this.set({compareTwoMode:i})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(e,i){this.get("from")===e&&this.get("to")===i||(this.set({from:e,to:i},{silent:!0}),this.trigger("update:revisions",e,i))}}),n.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:!1,scrubbing:!1},initialize:function(e){this.frame=e.frame,this.revisions=e.revisions,this.slider=e.slider,this.listenTo(this.slider,"hovered:revision",this.updateRevision),this.listenTo(this.slider,"change:hovering",this.setHovering),this.listenTo(this.slider,"change:scrubbing",this.setScrubbing)},updateRevision:function(e){this.set({revision:e})},setHovering:function(e,i){this.set({hovering:i})},setScrubbing:function(e,i){this.set({scrubbing:i})}}),n.model.Revision=Backbone.Model.extend({}),n.model.Revisions=Backbone.Collection.extend({model:n.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(e){e=this.indexOf(e);if(-1!==e&&e!==this.length-1)return this.at(e+1)},prev:function(e){e=this.indexOf(e);if(-1!==e&&0!==e)return this.at(e-1)}}),n.model.Field=Backbone.Model.extend({}),n.model.Fields=Backbone.Collection.extend({model:n.model.Field}),n.model.Diff=Backbone.Model.extend({initialize:function(){var e=this.get("fields");this.unset("fields"),this.fields=new n.model.Fields(e)}}),n.model.Diffs=Backbone.Collection.extend({initialize:function(e,i){_.bindAll(this,"getClosestUnloaded"),this.loadAll=_.once(this._loadAll),this.revisions=i.revisions,this.requests={}},model:n.model.Diff,ensure:function(e,i){var t=this.get(e),s=this.requests[e],o=h.Deferred(),n={},r=e.split(":")[0],l=e.split(":")[1];return n[e]=!0,wp.revisions.log("ensure",e),this.trigger("ensure",n,r,l,o.promise()),t?o.resolveWith(i,[t]):(this.trigger("ensure:load",n,r,l,o.promise()),_.each(n,_.bind(function(e){this.requests[e]&&delete n[e],this.get(e)&&delete n[e]},this)),s||(n[e]=!0,s=this.load(_.keys(n))),s.done(_.bind(function(){o.resolveWith(i,[this.get(e)])},this)).fail(_.bind(function(){o.reject()}))),o.promise()},getClosestUnloaded:function(e,i){var t=this;return _.chain([0].concat(e)).initial().zip(e).sortBy(function(e){return Math.abs(i-e[1])}).map(function(e){return e.join(":")}).filter(function(e){return _.isUndefined(t.get(e))&&!t.requests[e]}).value()},_loadAll:function(e,i,t){var s=this,o=h.Deferred(),n=_.first(this.getClosestUnloaded(e,i),t);return 0<_.size(n)?this.load(n).done(function(){s._loadAll(e,i,t).done(function(){o.resolve()})}).fail(function(){1===t?o.reject():s._loadAll(e,i,Math.ceil(t/2)).done(function(){o.resolve()})}):o.resolve(),o},load:function(e){return wp.revisions.log("load",e),this.fetch({data:{compare:e},remove:!1}).done(function(){wp.revisions.log("load:complete",e)})},sync:function(e,i,t){if("read"!==e)return Backbone.Model.prototype.sync.apply(this,arguments);(t=t||{}).context=this,t.data=_.extend(t.data||{},{action:"get-revision-diffs",post_id:n.settings.postId});var s=wp.ajax.send(t),o=this.requests;return t.data.compare&&_.each(t.data.compare,function(e){o[e]=s}),s.always(function(){t.data.compare&&_.each(t.data.compare,function(e){delete o[e]})}),s}}),n.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(e,i){var t={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=i.revisions,this.diffs=new n.model.Diffs([],{revisions:this.revisions}),this.diffs.set(n.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),t.to=this.revisions.get(n.settings.to),t.from=this.revisions.get(n.settings.from),t.compareTwoMode=n.settings.compareTwoMode,t.baseUrl=n.settings.baseUrl,this.set(t),window.history&&window.history.pushState&&(this.router=new n.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(e,i){var t=this.revisions.indexOf(this.get("to"));i&&0===t&&this.set({from:this.revisions.at(t),to:this.revisions.at(t+1)}),i||0===t||this.set({from:this.revisions.at(t-1),to:this.revisions.at(t)})},updatedRevisions:function(e,i){this.get("compareTwoMode")||this.diffs.loadAll(this.revisions.pluck("id"),i.id,40)},diff:function(){return this.diffs.get(this._diffId)},updateDiff:function(e){var i,t,s;return e=e||{},i=this.get("from"),t=this.get("to"),s=(i?i.id:0)+":"+t.id,this._diffId===s?h.Deferred().reject().promise():(this._diffId=s,this.trigger("update:revisions",i,t),(s=this.diffs.get(s))?(this.receiveDiff(s),h.Deferred().resolve().promise()):e.immediate?this._ensureDiff():(this._debouncedEnsureDiff(),h.Deferred().reject().promise()))},changeRevisionHandler:function(){this.updateDiff()},receiveDiff:function(e){_.isUndefined(e)||_.isUndefined(e.id)?this.set({loading:!1,error:!0}):this._diffId===e.id&&this.trigger("update:diff",e)},_ensureDiff:function(){return this.diffs.ensure(this._diffId,this).always(this.receiveDiff)}}),n.view.Frame=wp.Backbone.View.extend({className:"revisions",template:wp.template("revisions-frame"),initialize:function(){this.listenTo(this.model,"update:diff",this.renderDiff),this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode),this.listenTo(this.model,"change:loading",this.updateLoadingStatus),this.listenTo(this.model,"change:error",this.updateErrorStatus),this.views.set(".revisions-control-frame",new n.view.Controls({model:this.model}))},render:function(){return wp.Backbone.View.prototype.render.apply(this,arguments),h("html").css("overflow-y","scroll"),h("#wpbody-content .wrap").append(this.el),this.updateCompareTwoMode(),this.renderDiff(this.model.diff()),this.views.ready(),this},renderDiff:function(e){this.views.set(".revisions-diff-frame",new n.view.Diff({model:e}))},updateLoadingStatus:function(){this.$el.toggleClass("loading",this.model.get("loading"))},updateErrorStatus:function(){this.$el.toggleClass("diff-error",this.model.get("error"))},updateCompareTwoMode:function(){this.$el.toggleClass("comparing-two-revisions",this.model.get("compareTwoMode"))}}),n.view.Controls=wp.Backbone.View.extend({className:"revisions-controls",initialize:function(){_.bindAll(this,"setWidth"),this.views.add(new n.view.Buttons({model:this.model})),this.views.add(new n.view.Checkbox({model:this.model}));var e=new n.model.Slider({frame:this.model,revisions:this.model.revisions}),i=new n.model.Tooltip({frame:this.model,revisions:this.model.revisions,slider:e});this.views.add(new n.view.Tooltip({model:i})),this.views.add(new n.view.Tickmarks({model:i})),this.views.add(new n.view.Slider({model:e})),this.views.add(new n.view.Metabox({model:this.model}))},ready:function(){this.top=this.$el.offset().top,this.window=h(window),this.window.on("scroll.wp.revisions",{controls:this},function(e){var i=e.data.controls,t=i.$el.parent(),s=i.window.scrollTop(),e=i.views.parent;s>=i.top?(e.$el.hasClass("pinned")||(i.setWidth(),t.css("height",t.height()+"px"),i.window.on("resize.wp.revisions.pinning click.wp.revisions.pinning",{controls:i},function(e){e.data.controls.setWidth()})),e.$el.addClass("pinned")):(e.$el.hasClass("pinned")&&(i.window.off(".wp.revisions.pinning"),i.$el.css("width","auto"),e.$el.removeClass("pinned"),t.css("height","auto")),i.top=i.$el.offset().top)})},setWidth:function(){this.$el.css("width",this.$el.parent().width()+"px")}}),n.view.Tickmarks=wp.Backbone.View.extend({className:"revisions-tickmarks",direction:isRtl?"right":"left",initialize:function(){this.listenTo(this.model,"change:revision",this.reportTickPosition)},reportTickPosition:function(e,i){var t,s=this.model.revisions.indexOf(i),o=this.$el.allOffsets(),i=this.$el.parent().allOffsets();s===this.model.revisions.length-1?t={rightPlusWidth:o.left-i.left+1,leftPlusWidth:o.right-i.right+1}:(t=(s=this.$("div:nth-of-type("+(s+1)+")")).allPositions(),_.extend(t,{left:t.left+o.left-i.left,right:t.right+o.right-i.right}),_.extend(t,{leftPlusWidth:t.left+s.outerWidth(),rightPlusWidth:t.right+s.outerWidth()})),this.model.set({offset:t})},ready:function(){var e=this.model.revisions.length-1,i=1/e;this.$el.css("width",50*this.model.revisions.length+"px"),_(e).times(function(e){this.$el.append('
')},this)}}),n.view.Metabox=wp.Backbone.View.extend({className:"revisions-meta",initialize:function(){this.views.add(new n.view.MetaFrom({model:this.model,className:"diff-meta diff-meta-from"})),this.views.add(new n.view.MetaTo({model:this.model}))}}),n.view.Meta=wp.Backbone.View.extend({template:wp.template("revisions-meta"),events:{"click .restore-revision":"restoreRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.render)},prepare:function(){return _.extend(this.model.toJSON()[this.type]||{},{type:this.type})},restoreRevision:function(){document.location=this.model.get("to").attributes.restoreUrl}}),n.view.MetaFrom=n.view.Meta.extend({className:"diff-meta diff-meta-from",type:"from"}),n.view.MetaTo=n.view.Meta.extend({className:"diff-meta diff-meta-to",type:"to"}),n.view.Checkbox=wp.Backbone.View.extend({className:"revisions-checkbox",template:wp.template("revisions-checkbox"),events:{"click .compare-two-revisions":"compareTwoToggle"},initialize:function(){this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode)},ready:function(){this.model.revisions.length<3&&h(".revision-toggle-compare-mode").hide()},updateCompareTwoMode:function(){this.$(".compare-two-revisions").prop("checked",this.model.get("compareTwoMode"))},compareTwoToggle:function(){this.model.set({compareTwoMode:h(".compare-two-revisions").prop("checked")})}}),n.view.Tooltip=wp.Backbone.View.extend({className:"revisions-tooltip",template:wp.template("revisions-meta"),initialize:function(){this.listenTo(this.model,"change:offset",this.render),this.listenTo(this.model,"change:hovering",this.toggleVisibility),this.listenTo(this.model,"change:scrubbing",this.toggleVisibility)},prepare:function(){if(!_.isNull(this.model.get("revision")))return _.extend({type:"tooltip"},{attributes:this.model.get("revision").toJSON()})},render:function(){var e,i={},t=.5<(this.model.revisions.indexOf(this.model.get("revision"))+1)/this.model.revisions.length,s=isRtl?(e=t?"left":"right",t?"leftPlusWidth":e):(e=t?"right":"left",t?"rightPlusWidth":e),o="right"===e?"left":"right";wp.Backbone.View.prototype.render.apply(this,arguments),i[e]=this.model.get("offset")[s]+"px",i[o]="",this.$el.toggleClass("flipped",t).css(i)},visible:function(){return this.model.get("scrubbing")||this.model.get("hovering")},toggleVisibility:function(){this.visible()?this.$el.stop().show().fadeTo(100-100*this.el.style.opacity,1):this.$el.stop().fadeTo(300*this.el.style.opacity,0,function(){h(this).hide()})}}),n.view.Buttons=wp.Backbone.View.extend({className:"revisions-buttons",template:wp.template("revisions-buttons"),events:{"click .revisions-next .button":"nextRevision","click .revisions-previous .button":"previousRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.disabledButtonCheck)},ready:function(){this.disabledButtonCheck()},gotoModel:function(e){var i={to:this.model.revisions.at(e)};e?i.from=this.model.revisions.at(e-1):this.model.unset("from",{silent:!0}),this.model.set(i)},nextRevision:function(){var e=this.model.revisions.indexOf(this.model.get("to"))+1;this.gotoModel(e)},previousRevision:function(){var e=this.model.revisions.indexOf(this.model.get("to"))-1;this.gotoModel(e)},disabledButtonCheck:function(){var e=this.model.revisions.length-1,i=h(".revisions-next .button"),t=h(".revisions-previous .button"),s=this.model.revisions.indexOf(this.model.get("to"));i.prop("disabled",e===s),t.prop("disabled",0===s)}}),n.view.Slider=wp.Backbone.View.extend({className:"wp-slider",direction:isRtl?"right":"left",events:{mousemove:"mouseMove"},initialize:function(){_.bindAll(this,"start","slide","stop","mouseMove","mouseEnter","mouseLeave"),this.listenTo(this.model,"update:slider",this.applySliderSettings)},ready:function(){this.$el.css("width",50*this.model.revisions.length+"px"),this.$el.slider(_.extend(this.model.toJSON(),{start:this.start,slide:this.slide,stop:this.stop})),this.$el.hoverIntent({over:this.mouseEnter,out:this.mouseLeave,timeout:800}),this.applySliderSettings()},mouseMove:function(e){var i=this.model.revisions.length-1,t=this.$el.allOffsets()[this.direction],i=this.$el.width()/i,t=(isRtl?h(window).width()-e.pageX:e.pageX)-t,i=Math.floor((t+i/2)/i);i<0?i=0:i>=this.model.revisions.length&&(i=this.model.revisions.length-1),this.model.set({hoveredRevision:this.model.revisions.at(i)})},mouseLeave:function(){this.model.set({hovering:!1})},mouseEnter:function(){this.model.set({hovering:!0})},applySliderSettings:function(){this.$el.slider(_.pick(this.model.toJSON(),"value","values","range"));var e=this.$("a.ui-slider-handle");this.model.get("compareTwoMode")?(e.first().toggleClass("to-handle",!!isRtl).toggleClass("from-handle",!isRtl),e.last().toggleClass("from-handle",!!isRtl).toggleClass("to-handle",!isRtl)):e.removeClass("from-handle to-handle")},start:function(e,d){this.model.set({scrubbing:!0}),h(window).on("mousemove.wp.revisions",{view:this},function(e){var i=e.data.view,t=i.$el.offset().left,s=t,o=t+i.$el.width(),n="0",r="100%",l=h(d.handle);i.model.get("compareTwoMode")&&(i=l.parent().find(".ui-slider-handle"),l.is(i.first())?r=(o=i.last().offset().left)-s:n=(t=i.first().offset().left+i.first().width())-s),e.pageXo?l.css("left",r):l.css("left",e.pageX-s)})},getPosition:function(e){return isRtl?this.model.revisions.length-e-1:e},slide:function(e,i){var t;if(this.model.get("compareTwoMode")){if(i.values[1]===i.values[0])return!1;isRtl&&i.values.reverse(),t={from:this.model.revisions.at(this.getPosition(i.values[0])),to:this.model.revisions.at(this.getPosition(i.values[1]))}}else t={to:this.model.revisions.at(this.getPosition(i.value))},0j;)e=String.fromCharCode(j),g+=e,i[j]=j,h[j]=f.indexOf(e),++j}function b(a,b,c,d,f,g){var h,i,j=0,k=0,l="",m=0;for(a=String(a),i=a.length;i>k;){for(e=a.charCodeAt(k),e=256>e?c[e]:-1,j=(j<=g;)m-=g,h=j>>m,l+=d.charAt(h),j^=h<0&&(l+=d.charAt(j<0);return c=c.join("")}var e,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="",h=[256],i=[256],j=0;return{atob:d,btoa:c}}(),{init:function(){f=this,d=a("#adminmenu .wp-menu-image, #wpadminbar .ab-item"),this.setColors(),this.findElements(),this.paint()},setColors:function(a){"undefined"==typeof a&&"undefined"!=typeof b._wpColorScheme&&(a=b._wpColorScheme),a&&a.icons&&a.icons.base&&a.icons.current&&a.icons.focus&&(g=a.icons)},findElements:function(){d.each(function(){var b=a(this),c=b.css("background-image");c&&-1!=c.indexOf("data:image/svg+xml;base64")&&h.push(b)})},paint:function(){a.each(h,function(a,c){var d=c.parent().parent();d.hasClass("current")||d.hasClass("wp-has-current-submenu")?f.paintElement(c,"current"):(f.paintElement(c,"base"),d.hover(function(){f.paintElement(c,"focus")},function(){b.setTimeout(function(){f.paintElement(c,"base")},100)}))})},paintElement:function(a,c){var d,f,h;if(c&&g.hasOwnProperty(c)&&(h=g[c],h.match(/^(#[0-9a-f]{3}|#[0-9a-f]{6})$/i)&&(d=a.data("wp-ui-svg-"+h),"none"!==d))){if(!d){if(f=a.css("background-image").match(/.+data:image\/svg\+xml;base64,([A-Za-z0-9\+\/\=]+)/),!f||!f[1])return void a.data("wp-ui-svg-"+h,"none");try{d="atob"in b?b.atob(f[1]):e.atob(f[1])}catch(i){}if(!d)return void a.data("wp-ui-svg-"+h,"none");d=d.replace(/fill="(.+?)"/g,'fill="'+h+'"'),d=d.replace(/style="(.+?)"/g,'style="fill:'+h+'"'),d=d.replace(/fill:.*?;/g,"fill: "+h+";"),d="btoa"in b?b.btoa(d):e.btoa(d),a.data("wp-ui-svg-"+h,d)}a.attr("style",'background-image: url("data:image/svg+xml;base64,'+d+'") !important;')}}}}(jQuery,window,document);
\ No newline at end of file
+window.wp=window.wp||{},wp.svgPainter=function(e,o,n){"use strict";var t,r,a,m,i,s,c,u,l,f={},g=[];function p(){for(;l<256;)m=String.fromCharCode(l),s+=m,u[l]=l,c[l]=i.indexOf(m),++l}function d(n,t,e,a,i,o){for(var r,s=0,c=0,u="",l=0,f=(n=String(n)).length;c>(l-=o),u+=a.charAt(r),s^=r<'+tagsl10n.noPerm+"
"),d.children().css("backgroundColor","")):(a("#ajax-response").empty().append('"),d.children().css("backgroundColor",""))}),d.children().css("backgroundColor","#f33")),!1}),a("#submit").click(function(){var b=a(this).parents("form");return validateForm(b)?(a.post(ajaxurl,a("#addtag").serialize(),function(c){var d,e,f,g,h;if(a("#ajax-response").empty(),d=wpAjax.parseAjaxResponse(c,"ajax-response"),d&&!d.errors){if(e=b.find("select#parent").val(),e>0&&a("#tag-"+e).length>0?a(".tags #tag-"+e).after(d.responses[0].supplemental.noparents):a(".tags").prepend(d.responses[0].supplemental.parents),a(".tags .no-items").remove(),b.find("select#parent")){for(f=d.responses[1].supplemental,g="",h=0;h'+g+f.name+"")}a('input[type="text"]:visible, textarea:visible',b).val("")}}),!1):!1})});
\ No newline at end of file
+jQuery(document).ready(function(r){r("#the-list").on("click",".delete-tag",function(){var t,e=r(this),a=e.parents("tr"),n=!0;return(n="undefined"!=showNotice?showNotice.warn():n)&&(t=e.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag"),r.post(ajaxurl,t,function(e){"1"==e?(r("#ajax-response").empty(),a.fadeOut("normal",function(){a.remove()}),r('select#parent option[value="'+t.match(/tag_ID=(\d+)/)[1]+'"]').remove(),r("a.tag-link-"+t.match(/tag_ID=(\d+)/)[1]).remove()):("-1"==e?r("#ajax-response").empty().append('"):r("#ajax-response").empty().append('"),a.children().css("backgroundColor",""))}),a.children().css("backgroundColor","#f33")),!1}),r("#submit").click(function(){var s=r(this).parents("form");return validateForm(s)&&r.post(ajaxurl,r("#addtag").serialize(),function(e){var t,a,n;if(r("#ajax-response").empty(),(t=wpAjax.parseAjaxResponse(e,"ajax-response"))&&!t.errors){if(0<(e=s.find("select#parent").val())&&0'+a+e.name+"")}r('input[type="text"]:visible, textarea:visible',s).val("")}}),!1})});
\ No newline at end of file
diff --git a/wp-admin/js/theme.min.js b/wp-admin/js/theme.min.js
index b3b8a3d076..e90f93d168 100644
--- a/wp-admin/js/theme.min.js
+++ b/wp-admin/js/theme.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c;b=wp.themes=wp.themes||{},b.data=_wpThemeSettings,c=b.data.l10n,b.isInstall=!!b.data.settings.isInstall,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.Model=Backbone.Model.extend({initialize:function(){var a;-1!==_.indexOf(b.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:b.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new b.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append(' ')},searchContainer:a("#wpbody h2:first"),search:function(){var d,e=this;1!==b.data.themes.length&&(d=new this.SearchView({collection:e.collection,parent:this}),d.render(),this.searchContainer.append(a.parseHTML(''+c.search+" ")).append(d.el))},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),b.Collection=Backbone.Collection.extend({model:b.Model,terms:"",doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(c){var d,e,f;this.reset(b.data.themes,{silent:!0}),c=c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),c=c.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+c+").+","i"),e=this.filter(function(a){return f=_.union(a.get("name"),a.get("id"),a.get("description"),a.get("author"),a.get("tags")),d.test(a.get("author"))&&c.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(20*a)),b=_(b.first(20))},count:!1,query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success"),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(b,c){return wp.ajax.send("query-themes",{data:{request:_.extend({per_page:100,fields:{description:!0,tested:!0,requires:!0,rating:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,num_ratings:!0}},b)},beforeSend:function(){c||a("body").addClass("loading-content").removeClass("no-results")}})},loadingThemes:!1}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:b.isInstall?"preview":"expand",keydown:b.isInstall?"preview":"expand",touchend:b.isInstall?"preview":"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"}),this.activeTheme(),this.model.get("displayAuthor")&&this.$el.addClass("display-author"),this.model.get("installed")&&this.$el.addClass("is-installed")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(c){var d=this;return c=c||window.event,"keydown"!==c.type||13===c.which||32===c.which?this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid))):void 0},preventExpand:function(){this.touchDrag=!0},preview:function(c){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).hasClass("button-primary")||("keydown"!==c.type||13===c.which||32===c.which)&&("keydown"===c.type&&13!==c.which&&a(":focus").hasClass("button")||(c.preventDefault(),c=c||window.event,b.focusedTheme=this.$el,e=new b.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),1===this.model.collection.length?e.$el.addClass("no-navigation"):e.$el.removeClass("no-navigation"),a("div.wrap").append(e.el),this.listenTo(e,"theme:next",function(){return d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model}))))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")}}),b.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .delete-theme":"deleteTheme","click .left":"previousTheme","click .right":"nextTheme"},html:b.template("theme-single"),render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)),this.activeTheme(),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el)},activeTheme:function(){this.$el.toggleClass("active",this.model.get("active"))},containFocus:function(b){var c;_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.left")&&d.shiftKey?(b.find(".theme-actions a:last-child").focus(),d.preventDefault()):c.is(".theme-actions a:last-child")&&(b.find("button.left").focus(),d.preventDefault()))})},collapse:function(c){var d,e=this;c=c||window.event,1!==b.data.themes.length&&(a(c.target).is(".theme-backdrop")||a(c.target).is(".close")||27===c.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(130,function(){a("body").removeClass("closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl("")),document.body.scrollTop=d,b.focusedTheme&&b.focusedTheme.focus()}))},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl("?theme="+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(c.collection,"query:success",function(a){c.count.text(_.isNumber(a)?a:c.collection.length)}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.html(""),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(d){var e=this;return e.instance=e.collection.paginate(d),0===e.instance.size()?void this.parent.trigger("theme:end"):(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a,parent:e}),e.theme.render(),e.$el.append(e.theme.el),e.listenTo(e.theme,"theme:expand",e.expand,e)}),b.data.settings.canInstall&&this.$el.append('"),void this.parent.page++)},currentTheme:function(){var a,b=this;a=b.collection.findWhere({active:!0}),a&&(b.collection.remove(a),b.collection.add(a,{at:0}))},setView:function(a){return a},expand:function(c){var d=this;this.model=d.collection.get(c),b.router.navigate(b.router.baseUrl("?theme="+this.model.id)),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){var c={};"keyup"===a.type&&27===a.which&&(a.target.value=""),13===a.which&&this.$el.trigger("blur"),this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl("?search="+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl("?search="+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},search:function(b){a(".wp-filter-search").val(b)},themes:function(){a(".wp-filter-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.Run={init:function(){this.themes=new b.Collection(b.data.themes),this.view=new b.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this;b.router=new b.Router,b.router.on("route:theme",function(a){c.view.view.expand(a)}),b.router.on("route:themes",function(){c.themes.doSearch(""),c.view.trigger("theme:close")}),b.router.on("route:search",function(){a(".wp-filter-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl("?search="+c),{replace:!0})},300)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},render:function(){var d=this;this.search(),this.uploader(),this.collection=new b.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('")}),this.view&&this.view.remove(),this.view=new b.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){this.collection.query({browse:a})},onSort:function(c){var d=a(c.target),e=d.data("sort");c.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl("?browse="+e)))},sort:function(b){this.clearSearch(),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),a('[data-sort="'+b+'"]').addClass(this.activeClass),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union(e,this.filtersChecked()),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var c,d=this.filtersChecked(),e={tag:d},f=a(".filtered-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="filter-id-'+b+'"]').text(),f.append(''+c+" ")}),this.collection.query(e)},filtersChecked:function(){var b=a(".filter-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".filter-drawer .apply-filters").find("span").text(""),a(".filter-drawer .clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".filter-drawer .apply-filters").find("span").text(c.length),a(".filter-drawer .clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".wp-filter .search-form"),uploader:function(){a("a.upload").on("click",function(c){c.preventDefault(),a("body").addClass("show-upload-theme"),b.router.navigate(b.router.baseUrl("?upload"),{replace:!0})}),a("a.browse-themes").on("click",function(c){c.preventDefault(),a("body").removeClass("show-upload-theme"),b.router.navigate(b.router.baseUrl(""),{replace:!0})})},moreFilters:function(c){return c.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.RunInstaller={init:function(){this.view=new b.view.Installer({section:"featured",SearchView:b.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this,d={};b.router=new b.InstallerRouter,b.router.on("route:preview",function(a){d.theme=a,c.view.collection.query(d)}),b.router.on("route:sort",function(a){a||(a="featured"),c.view.sort(a),c.view.trigger("theme:close")}),b.router.on("route:upload",function(){a("a.upload").trigger("click")}),b.router.on("route:search",function(){a(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init()})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
+var tb_position;window.wp=window.wp||{},function(o){var i,r=wp.themes=wp.themes||{};r.data=_wpThemeSettings,i=r.data.l10n,r.isInstall=!!r.data.settings.isInstall,_.extend(r,{model:{},view:{},routes:{},router:{},template:wp.template}),r.Model=Backbone.Model.extend({initialize:function(){var e;-1!==_.indexOf(r.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),r.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:o(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView||r.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new r.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append(' ')},searchContainer:o("#wpbody h2:first"),search:function(){var e;1!==r.data.themes.length&&((e=new this.SearchView({collection:this.collection,parent:this})).render(),this.searchContainer.append(o.parseHTML(''+i.search+" ")).append(e.el))},scroller:function(){var e=this,t=this.window.scrollTop()+e.window.height(),e=e.$el.offset().top+e.$el.outerHeight(!1)-e.window.height();Math.round(.9*e)
'+i.addNew+" "),this.parent.page++):this.parent.trigger("theme:end")},currentTheme:function(){var e=this.collection.findWhere({active:!0});e&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},expand:function(e){var t=this;this.model=t.collection.get(e),r.router.navigate(r.router.baseUrl("?theme="+this.model.id)),this.setView("detail"),o("body").addClass("modal-open"),this.overlay=new r.view.Details({model:t.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){t.next([t.model.cid])}).listenTo(this.overlay,"theme:previous",function(){t.previous([t.model.cid])})},next:function(e){var e=this.collection.get(e[0]),e=this.collection.at(this.collection.indexOf(e)+1);void 0!==e&&(this.overlay.closeOverlay(),this.theme.trigger("theme:expand",e.cid))},previous:function(e){var e=this.collection.get(e[0]),e=this.collection.at(this.collection.indexOf(e)-1);void 0!==e&&(this.overlay.closeOverlay(),this.theme.trigger("theme:expand",e.cid))}}),r.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(e){var t={};"keyup"===e.type&&27===e.which&&(e.target.value=""),13===e.which&&this.$el.trigger("blur"),this.collection.doSearch(e.target.value),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?r.router.navigate(r.router.baseUrl("?search="+e.target.value),t):r.router.navigate(r.router.baseUrl(""))},pushState:function(e){var t=r.router.baseUrl("");e.target.value&&(t=r.router.baseUrl("?search="+e.target.value)),this.searching=!1,r.router.navigate(t)}}),r.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(e){return"themes.php"+e},search:function(e){o(".wp-filter-search").val(e)},themes:function(){o(".wp-filter-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),r.Run={init:function(){this.themes=new r.Collection(r.data.themes),this.view=new r.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:r.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var t=this;r.router=new r.Router,r.router.on("route:theme",function(e){t.view.view.expand(e)}),r.router.on("route:themes",function(){t.themes.doSearch(""),t.view.trigger("theme:close")}),r.router.on("route:search",function(){o(".wp-filter-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},r.view.InstallerSearch=r.view.Search.extend({events:{keyup:"search"},search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(e.target.value))},doSearch:_.debounce(function(e){var t={};"author:"===(t.search=e).substring(0,7)&&(t.search="",t.author=e.slice(7)),"tag:"===e.substring(0,4)&&(t.search="",t.tag=[e.slice(4)]),o(".filter-links li > a.current").removeClass("current"),o("body").removeClass("show-filters filters-applied"),this.collection.query(t),r.router.navigate(r.router.baseUrl("?search="+e),{replace:!0})},300)}),r.view.Installer=r.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},render:function(){var e=this;this.search(),this.uploader(),this.collection=new r.Collection,this.listenTo(this,"theme:end",function(){e.collection.loadingThemes||(e.collection.loadingThemes=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){o("body").removeClass("loading-content"),o(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){o("body").removeClass("loading-content"),o(".theme-browser").find("div.error").remove(),o(".theme-browser").find("div.themes").before('")}),this.view&&this.view.remove(),this.view=new r.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e){this.collection.query({browse:e})},onSort:function(e){var t=o(e.target),i=t.data("sort");e.preventDefault(),o("body").removeClass("filters-applied show-filters"),t.hasClass(this.activeClass)||(this.sort(i),r.router.navigate(r.router.baseUrl("?browse="+i)))},sort:function(e){this.clearSearch(),o(".filter-links li > a, .theme-filter").removeClass(this.activeClass),o('[data-sort="'+e+'"]').addClass(this.activeClass),this.browse(e)},onFilter:function(e){var t=o(e.target),e=t.data("filter");t.hasClass(this.activeClass)||(o(".filter-links li > a, .theme-section").removeClass(this.activeClass),t.addClass(this.activeClass),e&&(e={tag:[e=_.union(e,this.filtersChecked())]},this.collection.query(e)))},addFilter:function(){this.filtersChecked()},applyFilters:function(e){var t,i=this.filtersChecked(),s={tag:i},r=o(".filtered-by .tags");e&&e.preventDefault(),o("body").addClass("filters-applied"),o(".filter-links li > a.current").removeClass("current"),r.empty(),_.each(i,function(e){t=o('label[for="filter-id-'+e+'"]').text(),r.append(''+t+" ")}),this.collection.query(s)},filtersChecked:function(){var e=o(".filter-group").find(":checkbox"),t=[];return _.each(e.filter(":checked"),function(e){t.push(o(e).prop("value"))}),0===t.length?(o(".filter-drawer .apply-filters").find("span").text(""),o(".filter-drawer .clear-filters").hide(),o("body").removeClass("filters-applied"),!1):(o(".filter-drawer .apply-filters").find("span").text(t.length),o(".filter-drawer .clear-filters").css("display","inline-block"),t)},activeClass:"current",searchContainer:o(".wp-filter .search-form"),uploader:function(){o("a.upload").on("click",function(e){e.preventDefault(),o("body").addClass("show-upload-theme"),r.router.navigate(r.router.baseUrl("?upload"),{replace:!0})}),o("a.browse-themes").on("click",function(e){e.preventDefault(),o("body").removeClass("show-upload-theme"),r.router.navigate(r.router.baseUrl(""),{replace:!0})})},moreFilters:function(e){return e.preventDefault(),o("body").hasClass("filters-applied")?this.backToFilters():o("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),r.router.navigate(r.router.baseUrl("")),void o("body").toggleClass("show-filters"))},clearFilters:function(e){var t=o(".filter-group").find(":checkbox"),i=this;e.preventDefault(),_.each(t.filter(":checked"),function(e){return o(e).prop("checked",!1),i.filtersChecked()})},backToFilters:function(e){e&&e.preventDefault(),o("body").removeClass("filters-applied")},clearSearch:function(){o("#wp-filter-search-input").val("")}}),r.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(e){return"theme-install.php"+e},search:function(e){o(".wp-filter-search").val(e)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),r.RunInstaller={init:function(){this.view=new r.view.Installer({section:"featured",SearchView:r.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:r.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var t=this,i={};r.router=new r.InstallerRouter,r.router.on("route:preview",function(e){i.theme=e,t.view.collection.query(i)}),r.router.on("route:sort",function(e){e=e||"featured",t.view.sort(e),t.view.trigger("theme:close")}),r.router.on("route:upload",function(){o("a.upload").trigger("click")}),r.router.on("route:search",function(){o(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},o(document).ready(function(){(r.isInstall?r.RunInstaller:r.Run).init()})}(jQuery),jQuery(document).ready(function(r){tb_position=function(){var e=r("#TB_window"),t=r(window).width(),i=r(window).height(),s=1040c)&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),e=a('a[href="update-core.php"] .update-plugins'),e.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),e.removeAttr("title"),e.find(".update-count").text(c),"plugin"===b)){if(e=a("#menu-plugins"),d=e.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>d)return;e.find(".plugin-count").text(d),e.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)})}},a(window).on("message",function(c){var d,e=c.originalEvent,f=document.location,g=f.protocol+"//"+f.hostname;e.origin===g&&(d=a.parseJSON(e.data),"undefined"!=typeof d.action&&"decrementUpdateCount"===d.action&&b.updates.decrementCount(d.upgradeType))})}(jQuery,window.wp);
\ No newline at end of file
+window.wp=window.wp||{},function(o,a){a.updates={},a.updates.decrementCount=function(e){var n,t=o("#wp-admin-bar-updates .ab-label"),a=t.text();(a=parseInt(a,10)-1)<0||(o("#wp-admin-bar-updates .ab-item").removeAttr("title"),t.text(a),(t=o('a[href="update-core.php"] .update-plugins')).each(function(e,t){t.className=t.className.replace(/count-\d+/,"count-"+a)}),t.removeAttr("title"),t.find(".update-count").text(a),"plugin"===e&&(t=o("#menu-plugins"),n=t.find(".plugin-count").eq(0).text(),(n=parseInt(n,10)-1)<0||(t.find(".plugin-count").text(n),t.find(".update-plugins").each(function(e,t){t.className=t.className.replace(/count-\d+/,"count-"+n)}))))},o(window).on("message",function(e){var t,n=e.originalEvent,e=document.location,e=e.protocol+"//"+e.hostname;n.origin===e&&void 0!==(t=o.parseJSON(n.data)).action&&"decrementUpdateCount"===t.action&&a.updates.decrementCount(t.upgradeType)})}(jQuery,window.wp);
\ No newline at end of file
diff --git a/wp-admin/js/user-profile.min.js b/wp-admin/js/user-profile.min.js
index ed54c6fcd7..ba2028b716 100644
--- a/wp-admin/js/user-profile.min.js
+++ b/wp-admin/js/user-profile.min.js
@@ -1 +1 @@
-!function(a){function b(){var b,c=a("#pass1").val(),d=a("#pass2").val();if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return void a("#pass-strength-result").html(pwsL10n.empty);switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c,d,e,f,g=a("#display_name");a("#pass1").val("").keyup(b),a("#pass2").val("").keyup(b),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),g.length&&a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var b=[],c={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};c.display_firstname&&c.display_lastname&&(c.display_firstlast=c.display_firstname+" "+c.display_lastname,c.display_lastfirst=c.display_lastname+" "+c.display_firstname),a.each(a("option",g),function(a,c){b.push(c.value)}),a.each(c,function(d,e){if(e){var f=e.replace(/<\/?[a-z][^>]*>/gi,"");c[d].length&&-1===a.inArray(f,b)&&(b.push(f),a(" ",{text:f}).appendTo(g))}})}),c=a("#color-picker"),d=a("#colors-css"),e=a("input#user_id").val(),f=a('input[name="checkuser_id"]').val(),c.on("click.colorpicker",".color-option",function(){var b,c=a(this);if(!c.hasClass("selected")&&(c.siblings(".selected").removeClass("selected"),c.addClass("selected").find('input[type="radio"]').prop("checked",!0),e===f)){if(0===d.length&&(d=a(' ').appendTo("head")),d.attr("href",c.children(".css_url").val()),"undefined"!=typeof wp&&wp.svgPainter){try{b=a.parseJSON(c.children(".icon_colors").val())}catch(g){}b&&(wp.svgPainter.setColors(b),wp.svgPainter.paint())}a.post(ajaxurl,{action:"save-user-color-scheme",color_scheme:c.children('input[name="admin_color"]').val(),nonce:a("#color-nonce").val()})}})})}(jQuery);
\ No newline at end of file
+!function(r){function a(){var s=r("#pass1").val(),a=r("#pass2").val();if(r("#pass-strength-result").removeClass("short bad good strong"),s)switch(wp.passwordStrength.meter(s,wp.passwordStrength.userInputBlacklist(),a)){case 2:r("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:r("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:r("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:r("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:r("#pass-strength-result").addClass("short").html(pwsL10n["short"])}else r("#pass-strength-result").html(pwsL10n.empty)}r(document).ready(function(){var s,e,t,l,n=r("#display_name");r("#pass1").val("").keyup(a),r("#pass2").val("").keyup(a),r("#pass-strength-result").show(),r(".color-palette").click(function(){r(this).siblings('input[name="admin_color"]').prop("checked",!0)}),n.length&&r("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var e=[],t={display_nickname:r("#nickname").val()||"",display_username:r("#user_login").val()||"",display_firstname:r("#first_name").val()||"",display_lastname:r("#last_name").val()||""};t.display_firstname&&t.display_lastname&&(t.display_firstlast=t.display_firstname+" "+t.display_lastname,t.display_lastfirst=t.display_lastname+" "+t.display_firstname),r.each(r("option",n),function(s,a){e.push(a.value)}),r.each(t,function(s,a){a&&(a=a.replace(/<\/?[a-z][^>]*>/gi,""),t[s].length&&-1===r.inArray(a,e)&&(e.push(a),r(" ",{text:a}).appendTo(n)))})}),s=r("#color-picker"),e=r("#colors-css"),t=r("input#user_id").val(),l=r('input[name="checkuser_id"]').val(),s.on("click.colorpicker",".color-option",function(){var s,a=r(this);if(!a.hasClass("selected")&&(a.siblings(".selected").removeClass("selected"),a.addClass("selected").find('input[type="radio"]').prop("checked",!0),t===l)){if((e=0===e.length?r(' ').appendTo("head"):e).attr("href",a.children(".css_url").val()),"undefined"!=typeof wp&&wp.svgPainter){try{s=r.parseJSON(a.children(".icon_colors").val())}catch(s){}s&&(wp.svgPainter.setColors(s),wp.svgPainter.paint())}r.post(ajaxurl,{action:"save-user-color-scheme",color_scheme:a.children('input[name="admin_color"]').val(),nonce:r("#color-nonce").val()})}})})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/user-suggest.min.js b/wp-admin/js/user-suggest.min.js
index 9caf1e5f42..9d0da25159 100644
--- a/wp-admin/js/user-suggest.min.js
+++ b/wp-admin/js/user-suggest.min.js
@@ -1 +1 @@
-!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){var c={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(c.my="right top",c.at="right bottom"),a(".wp-suggest-user").each(function(){var d=a(this),e="undefined"!=typeof d.data("autocompleteType")?d.data("autocompleteType"):"add",f="undefined"!=typeof d.data("autocompleteField")?d.data("autocompleteField"):"user_login";d.autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type="+e+"&autocomplete_field="+f+b,delay:500,minLength:2,position:c,open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})})}(jQuery);
\ No newline at end of file
+!function(i){var n="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";i(document).ready(function(){var a={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(a.my="right top",a.at="right bottom"),i(".wp-suggest-user").each(function(){var e=i(this),t=void 0!==e.data("autocompleteType")?e.data("autocompleteType"):"add",o=void 0!==e.data("autocompleteField")?e.data("autocompleteField"):"user_login";e.autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type="+t+"&autocomplete_field="+o+n,delay:500,minLength:2,position:a,open:function(){i(this).addClass("open")},close:function(){i(this).removeClass("open")}})})})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/widgets.min.js b/wp-admin/js/widgets.min.js
index f301c841f8..420c3d3c70 100644
--- a/wp-admin/js/widgets.min.js
+++ b/wp-admin/js/widgets.min.js
@@ -1 +1 @@
-var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),c.addClass("open"),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style",""),c.removeClass("open")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){var b=a(this);wpWidgets.appendTitle(this),b.find("p.widget-error").length&&b.find("a.widget-action").trigger("click")}),a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(b,e){var f=a(this).find(".widgets-chooser");e.helper.find("div.widget-description").hide(),c=this.id,f.length&&(a("#wpbody-content").append(f.hide()),e.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(b,c){var d,e=a(this),f=e.parent(),g=c.item.children(".widget-inside");"block"===g.css("display")&&(g.hide(),a(this).sortable("refreshPositions")),f.hasClass("closed")||(d=c.item.hasClass("ui-draggable")?e.height():1+e.height(),e.css("min-height",d+"px"))},stop:function(d,e){var f,g,h,i,j,k,l=e.item,m=c;return l.hasClass("deleting")?(wpWidgets.save(l,1,0,1),void l.remove()):(f=l.find("input.add_new").val(),g=l.find("input.multi_number").val(),l.attr("style","").removeClass("ui-draggable"),c="",f&&("multi"===f?(l.html(l.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),l.attr("id",m.replace("__i__",g)),g++,a("div#"+m).find("input.multi_number").val(g)):"single"===f&&(l.attr("id","new-"+m),b="div#"+m),wpWidgets.save(l,0,0,1),l.find("input.add_new").val(""),a(document).trigger("widget-added",[l])),h=l.parent(),h.parent().hasClass("closed")&&(h.parent().removeClass("closed"),i=h.children(".widget"),i.length>1&&(j=i.get(0),k=l.get(0),j.id&&k.id&&j.id!==k.id&&a(j).before(l))),void(f?l.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(h.attr("id"))))},activate:function(){a(this).parent().addClass("widget-hover")},deactivate:function(){a(this).css("min-height","").parent().removeClass("widget-hover")},receive:function(b,c){var d=a(c.sender);return this.id.indexOf("orphaned_widgets")>-1?void d.sortable("cancel"):void(d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()}))}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").css("display","inline-block"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b),a(document).trigger("widget-updated",[b]))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(//g,">")),a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.attr("style","")})},addWidget:function(b){var c,d,e,f,g,h,i,j=b.find(".widgets-chooser-selected").data("sidebarId"),k=a("#"+j);c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),c.find(".widgets-chooser").remove(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),k.closest(".widgets-holder-wrap").removeClass("closed"),k.append(c),k.sortable("refresh"),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a(document).trigger("widget-added",[c]),g=a(window).scrollTop(),h=g+a(window).height(),i=k.offset(),i.bottom=i.top+k.outerHeight(),(g>i.bottom||h .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(e,t){var i=c(this).find(".widgets-chooser");t.helper.find("div.widget-description").hide(),r=this.id,i.length&&(c("#wpbody-content").append(i.hide()),t.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){o&&c(o).hide(),o=""}}),e.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(e,t){var i=c(this),d=i.parent(),s=t.item.children(".widget-inside");"block"===s.css("display")&&(s.hide(),c(this).sortable("refreshPositions")),d.hasClass("closed")||(t=t.item.hasClass("ui-draggable")?i.height():1+i.height(),i.css("min-height",t+"px"))},stop:function(e,t){var i,d,s,n=t.item,a=r;if(n.hasClass("deleting"))return wpWidgets.save(n,1,0,1),void n.remove();i=n.find("input.add_new").val(),d=n.find("input.multi_number").val(),n.attr("style","").removeClass("ui-draggable"),r="",i&&("multi"===i?(n.html(n.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,d)})),n.attr("id",a.replace("__i__",d)),d++,c("div#"+a).find("input.multi_number").val(d)):"single"===i&&(n.attr("id","new-"+a),o="div#"+a),wpWidgets.save(n,0,0,1),n.find("input.add_new").val(""),c(document).trigger("widget-added",[n])),(s=n.parent()).parent().hasClass("closed")&&(s.parent().removeClass("closed"),1<(t=s.children(".widget")).length&&(a=t.get(0),t=n.get(0),a.id&&t.id&&a.id!==t.id&&c(a).before(n))),i?n.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(s.attr("id"))},activate:function(){c(this).parent().addClass("widget-hover")},deactivate:function(){c(this).css("min-height","").parent().removeClass("widget-hover")},receive:function(e,t){t=c(t.sender);-1').text(c.trim(t));0===e&&t.addClass("widgets-chooser-selected"),s.append(t),t.data("sidebarId",i)}),c("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var e=c(this).closest(".widget");e.hasClass("widget-in-question")||c("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),c("#widgets-left").addClass("chooser"),e.addClass("widget-in-question").children(".widget-description").after(t),t.slideDown(300,function(){s.find(".widgets-chooser-selected").focus()}),s.find("li").on("focusin.widgets-chooser",function(){s.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),c(this).addClass("widgets-chooser-selected")}))}),t.on("click.widgets-chooser",function(e){e=c(e.target);e.hasClass("button-primary")?(d.addWidget(t),d.closeChooser()):e.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(e){e.which===c.ui.keyCode.ENTER?(c(e.target).hasClass("button-secondary")||d.addWidget(t),d.closeChooser()):e.which===c.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(e){var t={action:"widgets-order",savewidgets:c("#_wpnonce_widgets").val(),sidebars:[]};e&&c("#"+e).find(".spinner:first").css("display","inline-block"),c("div.widgets-sortables").each(function(){c(this).sortable&&(t["sidebars["+c(this).attr("id")+"]"]=c(this).sortable("toArray").join(","))}),c.post(ajaxurl,t,function(){c(".spinner").hide()})},save:function(i,d,s,n){var e=i.closest("div.widgets-sortables").attr("id"),t=i.find("form").serialize();i=c(i),c(".spinner",i).show(),e={action:"save-widget",savewidgets:c("#_wpnonce_widgets").val(),sidebar:e},d&&(e.delete_widget=1),t+="&"+c.param(e),c.post(ajaxurl,t,function(e){var t;d?(c("input.widget_number",i).val()||(t=c("input.widget-id",i).val(),c("#available-widgets").find("input.widget-id").each(function(){c(this).val()===t&&c(this).closest("div.widget").show()})),s?(n=0,i.slideUp("fast",function(){c(this).remove(),wpWidgets.saveOrder()})):i.remove()):(c(".spinner").hide(),e&&2]+>/g,"").replace(//g,">");c(e).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(t)},close:function(e){e.children(".widget-inside").slideUp("fast",function(){e.attr("style","")})},addWidget:function(e){var t=e.find(".widgets-chooser-selected").data("sidebarId"),i=c("#"+t),d=c("#available-widgets").find(".widget-in-question").clone(),s=d.attr("id"),e=d.find("input.add_new").val(),n=d.find("input.multi_number").val();d.find(".widgets-chooser").remove(),"multi"===e?(d.html(d.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,n)})),d.attr("id",s.replace("__i__",n)),n++,c("#"+s).find("input.multi_number").val(n)):"single"===e&&(d.attr("id","new-"+s),c("#"+s).hide()),i.closest(".widgets-holder-wrap").removeClass("closed"),i.append(d),i.sortable("refresh"),wpWidgets.save(d,0,0,1),d.find("input.add_new").val(""),c(document).trigger("widget-added",[d]),e=(t=c(window).scrollTop())+c(window).height(),(s=i.offset()).bottom=s.top+i.outerHeight(),(t>s.bottom||e]*>/g,clean:/[0-9.(),;:!?%#$¿'"_+=\\/-]+/g,w:/\S\s+/g,c:/\S/g},block:0,wc:function(c,d){var e=this,f=a(".word-count"),g=0;d===b&&(d=wordCountL10n.type),"w"!==d&&"c"!==d&&(d="w"),e.block||(e.block=1,setTimeout(function(){c&&(c=c.replace(e.settings.strip," ").replace(/ | /gi," "),c=c.replace(e.settings.clean,""),c.replace(e.settings[d],function(){g++})),f.html(g.toString()),setTimeout(function(){e.block=0},2e3)},1))}},a(document).bind("wpcountwords",function(a,b){wpWordCount.wc(b)})}(jQuery);
\ No newline at end of file
+var wpWordCount;!function(i){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$¿'"_+=\\/-]+/g,w:/\S\s+/g,c:/\S/g},block:0,wc:function(t,n){var o=this,c=i(".word-count"),e=0;"w"!==(n=void 0===n?wordCountL10n.type:n)&&"c"!==n&&(n="w"),o.block||(o.block=1,setTimeout(function(){t&&(t=(t=t.replace(o.settings.strip," ").replace(/ | /gi," ")).replace(o.settings.clean,"")).replace(o.settings[n],function(){e++}),c.html(e.toString()),setTimeout(function(){o.block=0},2e3)},1))}},i(document).bind("wpcountwords",function(t,n){wpWordCount.wc(n)})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/wp-fullscreen.min.js b/wp-admin/js/wp-fullscreen.min.js
index 54044868df..31cc8ec6ee 100644
--- a/wp-admin/js/wp-fullscreen.min.js
+++ b/wp-admin/js/wp-fullscreen.min.js
@@ -1 +1 @@
-!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.show(),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.hide(),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.hide(),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after(''),g.$dfwWrap.prepend(g.$dfwTitle.addClass("wp-fullscreen-title"))),e.refreshButtons(),d(!0),a("#wpadminbar").hide(),h("autohide"),e.bind_resize(),g.editor&&g.editor.execCommand("wpFullScreenOn"),"ontouchstart"in b?e.dfwWidth("90%"):e.dfwWidth(a("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),f.subscribe("shown",function(){g.visible=!0,g.editor&&!g.editor.isHidden()?g.editor.execCommand("wpAutoResize"):e.resizeTextarea("force")}),f.subscribe("hide",function(){n.unbind(".fullscreen"),g.$dfwTextarea.unbind(".wp-dfw-resize")}),f.subscribe("hiding",function(){m.removeClass("wp-fullscreen-active"),g.$dfwTitle&&a("#wp-fullscreen-title-placeholder").before(g.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),g.$dfwWrap.removeClass("wp-fullscreen-wrap"),g.$editorContainer.css("width",""),g.$dfwTextarea.add("#"+g.id+"_ifr").height(g.origHeight),g.editor&&g.editor.execCommand("wpFullScreenOff"),d(!1),b.scrollTo(0,k),a("#wpadminbar").show()}),f.subscribe("hidden",function(){g.visible=!1}),e.refreshButtons=function(b){"html"===g.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).addClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===g.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).removeClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},e.ui={init:function(){var c;g.toolbar=c=a("#fullscreen-topbar"),g.$fullscreenFader=a("#fullscreen-fader"),g.$statusbar=a("#wp-fullscreen-status"),g.hasTinymce="undefined"!=typeof tinymce,g.hasTinymce||a("#wp-fullscreen-mode-bar").hide(),n.keyup(function(a){var b,c=a.keyCode||a.charCode;g.visible&&(b=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?a.ctrlKey:a.altKey,!b||61!==c&&107!==c&&187!==c||(e.dfwWidth(25),a.preventDefault()),!b||45!==c&&109!==c&&189!==c||(e.dfwWidth(-25),a.preventDefault()),b&&48===c&&(e.dfwWidth(0),a.preventDefault()))}),a(b).on("keydown.wp-fullscreen",function(a){27===a.keyCode&&g.visible&&(e.off(),a.stopImmediatePropagation())}),"ontouchstart"in b&&m.addClass("wp-dfw-touch"),c.on("mouseenter",function(){h("show")}).on("mouseleave",function(){h("autohide")}),a("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(a){var c=a.currentTarget.id?a.currentTarget.id.substr(6):null;if(g.editor&&"tinymce"===g.mode)switch(c){case"bold":g.editor.execCommand("Bold");break;case"italic":g.editor.execCommand("Italic");break;case"bullist":g.editor.execCommand("InsertUnorderedList");break;case"numlist":g.editor.execCommand("InsertOrderedList");break;case"link":g.editor.execCommand("WP_Link");break;case"unlink":g.editor.execCommand("unlink");break;case"help":g.editor.execCommand("WP_Help");break;case"blockquote":g.editor.execCommand("mceBlockQuote")}else"link"===c&&b.wpLink&&b.wpLink.open();"wp-media-library"===c&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(g.id)})},fade:function(a,b,c){g.$fullscreenFader||e.ui.init(),(!a||f.publish(a))&&e.fade.In(g.$fullscreenFader,200,function(){b&&f.publish(b),e.fade.Out(g.$fullscreenFader,200,function(){c&&f.publish(c)})})}},e.fade={sensitivity:100,In:function(b,c,d,f){if(d=d||a.noop,c=c||400,f=f||!1,e.fade.transitions){if(b.is(":visible"))return b.addClass("fade-trigger"),b;b.show(),b.first().one(l,function(){d()}),setTimeout(function(){b.addClass("fade-trigger")},this.sensitivity)}else f&&b.stop(),b.css("opacity",1),b.first().fadeIn(c,d),b.length>1&&b.not(":first").fadeIn(c);return b},Out:function(b,c,d,f){return d=d||a.noop,c=c||400,f=f||!1,b.is(":visible")?(e.fade.transitions?(b.first().one(l,function(){b.hasClass("fade-trigger")||(b.hide(),d())}),setTimeout(function(){b.removeClass("fade-trigger")},this.sensitivity)):(f&&b.stop(),b.first().fadeOut(c,d),b.length>1&&b.not(":first").fadeOut(c)),b):b},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},e.bind_resize=function(){g.$dfwTextarea.on("keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize",function(){e.resizeTextarea()})},e.resizeTextarea=function(){var a=g.$dfwTextarea[0];a.scrollHeight>a.clientHeight&&(a.style.height=a.scrollHeight+50+"px")},b.wp=b.wp||{},b.wp.editor=b.wp.editor||{},b.wp.editor.fullscreen=e}(jQuery,window);
\ No newline at end of file
+!function(d,o){var s,n,r,t,i,e,a=0,l="transitionend webkitTransitionEnd",f=d(document.body),c=d(document);function u(){f.removeClass("wp-dfw-show-ui")}function w(s){r.$dfwWrap.parents().each(function(e,t){var i,n=d(t);if(s?(t.style.position&&n.data("wp-dfw-css-position",t.style.position),n.css("position","static")):(i=n.data("wp-dfw-css-position")||"",n.css("position",i)),"BODY"===t.nodeName)return!1})}n=(s={}).pubsub=new function(){this.topics={},this.subscribe=function(e,t){return this.topics[e]||(this.topics[e]=[]),this.topics[e].push(t),t},this.unsubscribe=function(e,t){var i,n,s=this.topics[e];if(!s)return t||[];if(t){for(i=0,n=s.length;i'),r.$dfwWrap.prepend(r.$dfwTitle.addClass("wp-fullscreen-title"))),s.refreshButtons(),w(!0),d("#wpadminbar").hide(),t("autohide"),s.bind_resize(),r.editor&&r.editor.execCommand("wpFullScreenOn"),"ontouchstart"in o?s.dfwWidth("90%"):s.dfwWidth(d("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),n.subscribe("shown",function(){r.visible=!0,r.editor&&!r.editor.isHidden()?r.editor.execCommand("wpAutoResize"):s.resizeTextarea("force")}),n.subscribe("hide",function(){c.unbind(".fullscreen"),r.$dfwTextarea.unbind(".wp-dfw-resize")}),n.subscribe("hiding",function(){f.removeClass("wp-fullscreen-active"),r.$dfwTitle&&d("#wp-fullscreen-title-placeholder").before(r.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),r.$dfwWrap.removeClass("wp-fullscreen-wrap"),r.$editorContainer.css("width",""),r.$dfwTextarea.add("#"+r.id+"_ifr").height(r.origHeight),r.editor&&r.editor.execCommand("wpFullScreenOff"),w(!1),o.scrollTo(0,a),d("#wpadminbar").show()}),n.subscribe("hidden",function(){r.visible=!1}),s.refreshButtons=function(e){"html"===r.mode?(d("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),e?d("#wp-fullscreen-button-bar").fadeOut(150,function(){d(this).addClass("wp-html-mode").fadeIn(150)}):d("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===r.mode&&(d("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),e?d("#wp-fullscreen-button-bar").fadeOut(150,function(){d(this).removeClass("wp-html-mode").fadeIn(150)}):d("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},s.ui={init:function(){var e;r.toolbar=e=d("#fullscreen-topbar"),r.$fullscreenFader=d("#fullscreen-fader"),r.$statusbar=d("#wp-fullscreen-status"),r.hasTinymce="undefined"!=typeof tinymce,r.hasTinymce||d("#wp-fullscreen-mode-bar").hide(),c.keyup(function(e){var t,i=e.keyCode||e.charCode;r.visible&&(!(t=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?e.ctrlKey:e.altKey)||61!==i&&107!==i&&187!==i||(s.dfwWidth(25),e.preventDefault()),!t||45!==i&&109!==i&&189!==i||(s.dfwWidth(-25),e.preventDefault()),t&&48===i&&(s.dfwWidth(0),e.preventDefault()))}),d(o).on("keydown.wp-fullscreen",function(e){27===e.keyCode&&r.visible&&(s.off(),e.stopImmediatePropagation())}),"ontouchstart"in o&&f.addClass("wp-dfw-touch"),e.on("mouseenter",function(){t("show")}).on("mouseleave",function(){t("autohide")}),d("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(e){e=e.currentTarget.id?e.currentTarget.id.substr(6):null;if(r.editor&&"tinymce"===r.mode)switch(e){case"bold":r.editor.execCommand("Bold");break;case"italic":r.editor.execCommand("Italic");break;case"bullist":r.editor.execCommand("InsertUnorderedList");break;case"numlist":r.editor.execCommand("InsertOrderedList");break;case"link":r.editor.execCommand("WP_Link");break;case"unlink":r.editor.execCommand("unlink");break;case"help":r.editor.execCommand("WP_Help");break;case"blockquote":r.editor.execCommand("mceBlockQuote")}else"link"===e&&o.wpLink&&o.wpLink.open();"wp-media-library"===e&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(r.id)})},fade:function(e,t,i){r.$fullscreenFader||s.ui.init(),e&&!n.publish(e)||s.fade.In(r.$fullscreenFader,200,function(){t&&n.publish(t),s.fade.Out(r.$fullscreenFader,200,function(){i&&n.publish(i)})})}},s.fade={sensitivity:100,In:function(e,t,i,n){if(i=i||d.noop,t=t||400,n=n||!1,s.fade.transitions){if(e.is(":visible"))return e.addClass("fade-trigger"),e;e.show(),e.first().one(l,function(){i()}),setTimeout(function(){e.addClass("fade-trigger")},this.sensitivity)}else n&&e.stop(),e.css("opacity",1),e.first().fadeIn(t,i),1e.clientHeight&&(e.style.height=e.scrollHeight+50+"px")},o.wp=o.wp||{},o.wp.editor=o.wp.editor||{},o.wp.editor.fullscreen=s}(jQuery,window);
\ No newline at end of file
diff --git a/wp-admin/js/xfn.min.js b/wp-admin/js/xfn.min.js
index 1743f9dbdf..f85f743e91 100644
--- a/wp-admin/js/xfn.min.js
+++ b/wp-admin/js/xfn.min.js
@@ -1 +1 @@
-jQuery(document).ready(function(a){a("#link_rel").prop("readonly",!0),a("#linkxfndiv input").bind("click keyup",function(){var b=a("#me").is(":checked"),c="";a("input.valinp").each(function(){b?a(this).prop("disabled",!0).parent().addClass("disabled"):(a(this).removeAttr("disabled").parent().removeClass("disabled"),a(this).is(":checked")&&""!==a(this).val()&&(c+=a(this).val()+" "))}),a("#link_rel").val(b?"me":c.substr(0,c.length-1))})});
\ No newline at end of file
+jQuery(document).ready(function(n){n("#link_rel").prop("readonly",!0),n("#linkxfndiv input").bind("click keyup",function(){var e=n("#me").is(":checked"),i="";n("input.valinp").each(function(){e?n(this).prop("disabled",!0).parent().addClass("disabled"):(n(this).removeAttr("disabled").parent().removeClass("disabled"),n(this).is(":checked")&&""!==n(this).val()&&(i+=n(this).val()+" "))}),n("#link_rel").val(e?"me":i.substr(0,i.length-1))})});
\ No newline at end of file
diff --git a/wp-admin/media-new.php b/wp-admin/media-new.php
index ac96e8a118..b07a88d70a 100644
--- a/wp-admin/media-new.php
+++ b/wp-admin/media-new.php
@@ -72,9 +72,9 @@
-
+
diff --git a/wp-admin/network/settings.php b/wp-admin/network/settings.php
index 6349e8cdd0..8b0c71fe03 100644
--- a/wp-admin/network/settings.php
+++ b/wp-admin/network/settings.php
@@ -237,7 +237,7 @@
-
+
diff --git a/wp-admin/network/site-users.php b/wp-admin/network/site-users.php
index a037c8b871..5ffc203d30 100644
--- a/wp-admin/network/site-users.php
+++ b/wp-admin/network/site-users.php
@@ -178,7 +178,7 @@
diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php
index 1c242955ba..ee32445506 100644
--- a/wp-admin/plugin-editor.php
+++ b/wp-admin/plugin-editor.php
@@ -93,9 +93,9 @@
wp_die( $error );
if ( ( ! empty( $_GET['networkwide'] ) && ! is_plugin_active_for_network($file) ) || ! is_plugin_active($file) )
- activate_plugin($file, "plugin-editor.php?file=$file&phperror=1", ! empty( $_GET['networkwide'] ) ); // we'll override this later if the plugin can be included without fatal error
+ activate_plugin($file, "plugin-editor.php?file=" . urlencode( $file ) . "&phperror=1", ! empty( $_GET['networkwide'] ) ); // we'll override this later if the plugin can be included without fatal error
- wp_redirect( self_admin_url("plugin-editor.php?file=$file&a=te&scrollto=$scrollto") );
+ wp_redirect( self_admin_url("plugin-editor.php?file=" . urlencode( $file ) . "&a=te&scrollto=$scrollto") );
exit;
}
@@ -181,14 +181,14 @@
%s (active)'), $file);
+ echo sprintf(__('Editing %s (active)'), esc_html( $file ) );
else
- echo sprintf(__('Browsing %s (active)'), $file);
+ echo sprintf(__('Browsing %s (active)'), esc_html( $file ) );
} else {
if ( is_writeable($real_file) )
- echo sprintf(__('Editing %s (inactive)'), $file);
+ echo sprintf(__('Editing %s (inactive)'), esc_html( $file ) );
else
- echo sprintf(__('Browsing %s (inactive)'), $file);
+ echo sprintf(__('Browsing %s (inactive)'), esc_html( $file ) );
}
?>
@@ -232,7 +232,7 @@
continue;
}
?>
- >
+ >
diff --git a/wp-admin/plugin-install.php b/wp-admin/plugin-install.php
index 6ec2b9d148..4140d36bf2 100644
--- a/wp-admin/plugin-install.php
+++ b/wp-admin/plugin-install.php
@@ -24,8 +24,27 @@
$wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
$pagenum = $wp_list_table->get_pagenum();
+
+if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
+ $location = remove_query_arg( '_wp_http_referer', wp_unslash( $_SERVER['REQUEST_URI'] ) );
+
+ if ( ! empty( $_REQUEST['paged'] ) ) {
+ $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location );
+ }
+
+ wp_redirect( $location );
+ exit;
+}
+
$wp_list_table->prepare_items();
+$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
+
+if ( $pagenum > $total_pages && $total_pages > 0 ) {
+ wp_redirect( add_query_arg( 'paged', $total_pages ) );
+ exit;
+}
+
$title = __( 'Add Plugins' );
$parent_file = 'plugins.php';
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php
index 988cfa9325..0a42cc15f3 100644
--- a/wp-admin/plugins.php
+++ b/wp-admin/plugins.php
@@ -17,7 +17,7 @@
$action = $wp_list_table->current_action();
-$plugin = isset($_REQUEST['plugin']) ? $_REQUEST['plugin'] : '';
+$plugin = isset($_REQUEST['plugin']) ? wp_unslash( $_REQUEST['plugin'] ) : '';
$s = isset($_REQUEST['s']) ? urlencode($_REQUEST['s']) : '';
// Clean up request URI from temporary args for screen options/paging uri's to work as expected.
@@ -37,10 +37,10 @@
check_admin_referer('activate-plugin_' . $plugin);
- $result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), is_network_admin() );
+ $result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . urlencode( $plugin ) ), is_network_admin() );
if ( is_wp_error( $result ) ) {
if ( 'unexpected_output' == $result->get_error_code() ) {
- $redirect = self_admin_url('plugins.php?error=true&charsout=' . strlen($result->get_error_data()) . '&plugin=' . $plugin . "&plugin_status=$status&paged=$page&s=$s");
+ $redirect = self_admin_url('plugins.php?error=true&charsout=' . strlen($result->get_error_data()) . '&plugin=' . urlencode( $plugin ) . "&plugin_status=$status&paged=$page&s=$s");
wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect));
exit;
} else {
@@ -67,7 +67,7 @@
check_admin_referer('bulk-plugins');
- $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
+ $plugins = isset( $_POST['checked'] ) ? (array) wp_unslash( $_POST['checked'] ) : array();
if ( is_network_admin() ) {
foreach ( $plugins as $i => $plugin ) {
@@ -107,9 +107,9 @@
check_admin_referer( 'bulk-plugins' );
if ( isset( $_GET['plugins'] ) )
- $plugins = explode( ',', $_GET['plugins'] );
+ $plugins = explode( ',', wp_unslash( $_GET['plugins'] ) );
elseif ( isset( $_POST['checked'] ) )
- $plugins = (array) $_POST['checked'];
+ $plugins = (array) wp_unslash( $_POST['checked'] );
else
$plugins = array();
@@ -181,7 +181,7 @@ function plugin_sandbox_scrape( $plugin ) {
check_admin_referer('bulk-plugins');
- $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
+ $plugins = isset( $_POST['checked'] ) ? (array) wp_unslash( $_POST['checked'] ) : array();
// Do not deactivate plugins which are already deactivated.
if ( is_network_admin() ) {
$plugins = array_filter( $plugins, 'is_plugin_active_for_network' );
@@ -213,7 +213,7 @@ function plugin_sandbox_scrape( $plugin ) {
check_admin_referer('bulk-plugins');
//$_POST = from the plugin form; $_GET = from the FTP details screen.
- $plugins = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array();
+ $plugins = isset( $_REQUEST['checked'] ) ? (array) wp_unslash( $_REQUEST['checked'] ) : array();
if ( empty( $plugins ) ) {
wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
exit;
@@ -225,6 +225,14 @@ function plugin_sandbox_scrape( $plugin ) {
exit;
}
+ // Bail on all if any paths are invalid.
+ // validate_file() returns truthy for invalid files
+ $invalid_plugin_files = array_filter( $plugins, 'validate_file' );
+ if ( $invalid_plugin_files ) {
+ wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
+ exit;
+ }
+
include(ABSPATH . 'wp-admin/update.php');
$parent_file = 'plugins.php';
@@ -368,7 +376,7 @@ function plugin_sandbox_scrape( $plugin ) {
$invalid = validate_active_plugins();
if ( !empty($invalid) )
foreach ( $invalid as $plugin_file => $error )
- echo '' . sprintf(__('The plugin %s has been deactivated due to an error: %s'), esc_html($plugin_file), $error->get_error_message()) . '
';
+ echo '' . sprintf(__('The plugin %s has been deactivated due to an error: %s'), esc_html($plugin_file), esc_html( $error->get_error_message() ) ) . '
';
?>
- get_error_message() ); ?>
+ get_error_message() ) ); ?>
diff --git a/wp-admin/post.php b/wp-admin/post.php
index 805c46e6ed..b84e67d008 100644
--- a/wp-admin/post.php
+++ b/wp-admin/post.php
@@ -16,7 +16,9 @@
wp_reset_vars( array( 'action' ) );
-if ( isset( $_GET['post'] ) )
+if ( isset( $_GET['post'] ) && isset( $_POST['post_ID'] ) && (int) $_GET['post'] !== (int) $_POST['post_ID'] )
+ wp_die( __( 'A post ID mismatch has been detected.' ), __( 'Sorry, you are not allowed to edit this item.' ), 400 );
+elseif ( isset( $_GET['post'] ) )
$post_id = $post_ID = (int) $_GET['post'];
elseif ( isset( $_POST['post_ID'] ) )
$post_id = $post_ID = (int) $_POST['post_ID'];
@@ -82,6 +84,10 @@ function redirect_post($post_id = '') {
exit;
}
+if ( isset( $_POST['post_type'] ) && $post && $post_type !== $_POST['post_type'] ) {
+ wp_die( __( 'A post type mismatch has been detected.' ), __( 'Sorry, you are not allowed to edit this item.' ), 400 );
+}
+
if ( isset( $_POST['deletepost'] ) )
$action = 'delete';
elseif ( isset($_POST['wp-preview']) && 'dopreview' == $_POST['wp-preview'] )
@@ -113,8 +119,9 @@ function redirect_post($post_id = '') {
if ( ! wp_verify_nonce( $nonce, 'add-post' ) )
$error_msg = __( 'Unable to submit this form, please refresh and try again.' );
- if ( ! current_user_can( 'edit_posts' ) )
- $error_msg = __( 'Oops, you don’t have access to add new drafts.' );
+ if ( ! current_user_can( 'edit_posts' ) ) {
+ exit;
+ }
if ( $error_msg )
return wp_dashboard_quick_press( $error_msg );
@@ -157,6 +164,7 @@ function redirect_post($post_id = '') {
wp_die( __( 'You can’t edit this item because it is in the Trash. Please restore it and try again.' ) );
if ( ! empty( $_GET['get-post-lock'] ) ) {
+ check_admin_referer( 'lock-post_' . $post_id );
wp_set_post_lock( $post_id );
wp_redirect( get_edit_post_link( $post_id, 'url' ) );
exit();
@@ -219,7 +227,7 @@ function redirect_post($post_id = '') {
// Update the thumbnail filename
$newmeta = wp_get_attachment_metadata( $post_id, true );
- $newmeta['thumb'] = $_POST['thumb'];
+ $newmeta['thumb'] = wp_basename( $_POST['thumb'] );
wp_update_attachment_metadata( $post_id, $newmeta );
diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php
index 5daa2f9bbd..a91a12c52c 100644
--- a/wp-admin/press-this.php
+++ b/wp-admin/press-this.php
@@ -32,8 +32,25 @@ function press_it() {
if ( !current_user_can('edit_post', $post_ID) )
wp_die(__('You are not allowed to edit this post.'));
- $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : '';
- $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : '';
+ // Only accept categories if the user actually can assign
+ $category_tax = get_taxonomy( 'category' );
+ if ( current_user_can( $category_tax->cap->assign_terms ) ) {
+ $post['post_category'] = ( ! empty( $_POST['post_category'] ) ) ? $_POST['post_category'] : array();
+ }
+
+ // Only accept taxonomies if the user can actually assign
+ if ( ! empty( $_POST['tax_input'] ) ) {
+ $tax_input = $_POST['tax_input'];
+ foreach ( $tax_input as $tax => $_ti ) {
+ $tax_object = get_taxonomy( $tax );
+ if ( ! $tax_object || ! current_user_can( $tax_object->cap->assign_terms ) ) {
+ unset( $tax_input[ $tax ] );
+ }
+ }
+
+ $post['tax_input'] = $tax_input;
+ }
+
$post['post_title'] = isset($_POST['title']) ? $_POST['title'] : '';
$content = isset($_POST['content']) ? $_POST['content'] : '';
@@ -63,7 +80,7 @@ function press_it() {
// Error handling for media_sideload.
if ( is_wp_error($upload) ) {
wp_delete_post($post_ID);
- wp_die($upload);
+ wp_die( esc_html( $upload->get_error_message() ) );
} else {
// Post formats.
if ( isset( $_POST['post_format'] ) ) {
@@ -523,75 +540,81 @@ function setup_photo_actions() {
-
-
-
-
-
+
-
-
-
-
diff --git a/wp-admin/revision.php b/wp-admin/revision.php
index ba954b85f8..77ad1927c3 100644
--- a/wp-admin/revision.php
+++ b/wp-admin/revision.php
@@ -63,7 +63,7 @@
if ( ! $post = get_post( $revision->post_parent ) )
break;
- if ( ! current_user_can( 'read_post', $revision->ID ) || ! current_user_can( 'read_post', $post->ID ) )
+ if ( ! current_user_can( 'read_post', $revision->ID ) || ! current_user_can( 'edit_post', $revision->post_parent ) )
break;
// Revisions disabled and we're not looking at an autosave
diff --git a/wp-admin/theme-editor.php b/wp-admin/theme-editor.php
index d0ecee48f4..37d5f70568 100644
--- a/wp-admin/theme-editor.php
+++ b/wp-admin/theme-editor.php
@@ -68,7 +68,7 @@
$relative_file = 'style.css';
$file = $allowed_files['style.css'];
} else {
- $relative_file = $file;
+ $relative_file = wp_unslash( $file );
$file = $theme->get_stylesheet_directory() . '/' . $relative_file;
}
@@ -125,10 +125,12 @@
(' . $file_show . ')';
+$description = esc_html( $file_description );
+if ( $file_description != $file_show ) {
+ $description .= '
(' . esc_html( $file_show ) . ') ';
+}
?>
@@ -177,9 +179,9 @@
if ( 'style.css' == $filename )
echo "\t\n\t
" . _x( 'Styles', 'Theme stylesheets in theme editor' ) . " \n\t
\n";
- $file_description = get_file_description( $absolute_filename );
+ $file_description = esc_html( get_file_description( $filename ) );
if ( $file_description != basename( $filename ) )
- $file_description .= '(' . $filename . ') ';
+ $file_description .= '(' . esc_html( $filename ) . ') ';
if ( $absolute_filename == $file )
$file_description = '' . $file_description . ' ';
diff --git a/wp-admin/themes.php b/wp-admin/themes.php
index 9457fe3693..662039c008 100644
--- a/wp-admin/themes.php
+++ b/wp-admin/themes.php
@@ -255,7 +255,7 @@
foreach ( $broken_themes as $broken_theme ) {
echo "
- " . ( $broken_theme->get( 'Name' ) ? $broken_theme->get( 'Name' ) : $broken_theme->get_stylesheet() ) . "
+ " . ( $broken_theme->get( 'Name' ) ? $broken_theme->display( 'Name' ) : esc_html( $broken_theme->get_stylesheet() ) ) . "
" . $broken_theme->errors()->get_error_message() . "
";
}
diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php
index f88025e09b..a002385671 100644
--- a/wp-admin/update-core.php
+++ b/wp-admin/update-core.php
@@ -240,6 +240,8 @@ function list_plugin_updates() {
$plugin_data) {
+ $plugin_data = (object) _get_plugin_data_markup_translate( $plugin_file, (array) $plugin_data, false, true );
+
$info = plugins_api('plugin_information', array('slug' => $plugin_data->update->slug ));
// Get plugin compat for running version of WordPress.
if ( isset($info->tested) && version_compare($info->tested, $cur_wp_version, '>=') ) {
diff --git a/wp-admin/upload.php b/wp-admin/upload.php
index 646381e94a..dbdf3100b5 100644
--- a/wp-admin/upload.php
+++ b/wp-admin/upload.php
@@ -57,7 +57,7 @@
require_once( ABSPATH . 'wp-admin/admin-header.php' );
?>
-
+
@@ -406,7 +407,7 @@ function use_ssl_preference($user) {
$new_email = get_option( $current_user->ID . '_new_email' );
if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
-
%1$s. Cancel '), $new_email['newemail'], esc_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ) ) ); ?>
+
%1$s. Cancel '), esc_html( $new_email['newemail'] ), esc_url( wp_nonce_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ), 'dismiss-' . $current_user->ID . '_new_email' ) ) ); ?>
diff --git a/wp-admin/user-new.php b/wp-admin/user-new.php
index 19356ef9f2..ef14415e5e 100644
--- a/wp-admin/user-new.php
+++ b/wp-admin/user-new.php
@@ -72,7 +72,7 @@ function admin_created_user_subject( $text ) {
add_existing_user_to_blog( array( 'user_id' => $user_id, 'role' => $_REQUEST[ 'role' ] ) );
$redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
} else {
- $newuser_key = substr( md5( $user_id ), 0, 5 );
+ $newuser_key = wp_generate_password( 20, false );
add_option( 'new_user_' . $newuser_key, array( 'user_id' => $user_id, 'email' => $user_details->user_email, 'role' => $_REQUEST[ 'role' ] ) );
$roles = get_editable_roles();
diff --git a/wp-admin/widgets.php b/wp-admin/widgets.php
index f4de378ff1..a3be811a08 100644
--- a/wp-admin/widgets.php
+++ b/wp-admin/widgets.php
@@ -17,6 +17,8 @@
$widgets_access = get_user_setting( 'widgets_access' );
if ( isset($_GET['widgets-access']) ) {
+ check_admin_referer( 'widgets-access' );
+
$widgets_access = 'on' == $_GET['widgets-access'] ? 'on' : 'off';
set_user_setting( 'widgets_access', $widgets_access );
}
diff --git a/wp-comments-post.php b/wp-comments-post.php
index 0ed359c5bb..0031579e60 100644
--- a/wp-comments-post.php
+++ b/wp-comments-post.php
@@ -108,6 +108,8 @@
) {
kses_remove_filters(); // start with a clean slate
kses_init_filters(); // set up the filters
+ remove_filter( 'pre_comment_content', 'wp_filter_post_kses' );
+ add_filter( 'pre_comment_content', 'wp_filter_kses' );
}
}
} else {
diff --git a/wp-includes/bookmark.php b/wp-includes/bookmark.php
index ec2f0b2102..a687530b3a 100644
--- a/wp-includes/bookmark.php
+++ b/wp-includes/bookmark.php
@@ -281,7 +281,7 @@ function get_bookmarks( $args = '' ) {
$query .= " $exclusions $inclusions $search";
$query .= " ORDER BY $orderby $order";
if ( $r['limit'] != -1 ) {
- $query .= ' LIMIT ' . $r['limit'];
+ $query .= ' LIMIT ' . absint( $r['limit'] );
}
$results = $wpdb->get_results( $query );
diff --git a/wp-includes/cache.php b/wp-includes/cache.php
index 5264fe2144..c151253bff 100644
--- a/wp-includes/cache.php
+++ b/wp-includes/cache.php
@@ -639,7 +639,7 @@ public function stats() {
echo "";
echo '
';
foreach ($this->cache as $group => $cache) {
- echo "Group: $group - ( " . number_format( strlen( serialize( $cache ) ) / 1024, 2 ) . 'k ) ';
+ echo 'Group: ' . esc_html( $group ) . ' - ( ' . number_format( strlen( serialize( $cache ) ) / KB_IN_BYTES, 2 ) . 'k ) ';
}
echo ' ';
}
diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php
index c1b90251cf..42e02d9de6 100644
--- a/wp-includes/canonical.php
+++ b/wp-includes/canonical.php
@@ -360,10 +360,6 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
else
unset($redirect['port']);
- if ( ! empty( $user_home['scheme'] ) && $user_home['scheme'] === 'https' ) {
- $redirect['scheme'] = 'https';
- }
-
// trailing /index.php
$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);
@@ -421,7 +417,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
( strtolower($original['host']) != 'www.' . strtolower($redirect['host']) && 'www.' . strtolower($original['host']) != strtolower($redirect['host']) ) )
$redirect['host'] = $original['host'];
- $compare_original = array( $original['scheme'], $original['host'], $original['path'] );
+ $compare_original = array( $original['host'], $original['path'] );
if ( !empty( $original['port'] ) )
$compare_original[] = $original['port'];
@@ -429,7 +425,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
if ( !empty( $original['query'] ) )
$compare_original[] = $original['query'];
- $compare_redirect = array( $redirect['scheme'], $redirect['host'], $redirect['path'] );
+ $compare_redirect = array( $redirect['host'], $redirect['path'] );
if ( !empty( $redirect['port'] ) )
$compare_redirect[] = $redirect['port'];
diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php
index 30c38b2cbc..aa98aec481 100644
--- a/wp-includes/capabilities.php
+++ b/wp-includes/capabilities.php
@@ -1114,8 +1114,10 @@ function map_meta_cap( $cap, $user_id ) {
case 'edit_post':
case 'edit_page':
$post = get_post( $args[0] );
- if ( empty( $post ) )
+ if ( empty( $post ) ) {
+ $caps[] = 'do_not_allow';
break;
+ }
if ( 'revision' == $post->post_type ) {
$post = get_post( $post->post_parent );
@@ -1229,7 +1231,16 @@ function map_meta_cap( $cap, $user_id ) {
if ( empty( $comment ) )
break;
$post = get_post( $comment->comment_post_ID );
- $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
+
+ /*
+ * If the post doesn't exist, we have an orphaned comment.
+ * Fall back to the edit_posts capability, instead.
+ */
+ if ( $post ) {
+ $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
+ } else {
+ $caps = map_meta_cap( 'edit_posts', $user_id );
+ }
break;
case 'unfiltered_upload':
if ( defined('ALLOW_UNFILTERED_UPLOADS') && ALLOW_UNFILTERED_UPLOADS && ( !is_multisite() || is_super_admin( $user_id ) ) )
@@ -1371,21 +1382,25 @@ function current_user_can( $capability ) {
* @return bool
*/
function current_user_can_for_blog( $blog_id, $capability ) {
- if ( is_multisite() )
- switch_to_blog( $blog_id );
+ $switched = is_multisite() ? switch_to_blog( $blog_id ) : false;
$current_user = wp_get_current_user();
- if ( empty( $current_user ) )
+ if ( empty( $current_user ) ) {
+ if ( $switched ) {
+ restore_current_blog();
+ }
return false;
+ }
$args = array_slice( func_get_args(), 2 );
$args = array_merge( array( $capability ), $args );
$can = call_user_func_array( array( $current_user, 'has_cap' ), $args );
- if ( is_multisite() )
+ if ( $switched ) {
restore_current_blog();
+ }
return $can;
}
diff --git a/wp-includes/class-phpass.php b/wp-includes/class-phpass.php
index 1970ae9da4..f2dadae3ff 100644
--- a/wp-includes/class-phpass.php
+++ b/wp-includes/class-phpass.php
@@ -214,6 +214,10 @@ function gensalt_blowfish($input)
function HashPassword($password)
{
+ if ( strlen( $password ) > 4096 ) {
+ return '*';
+ }
+
$random = '';
if (CRYPT_BLOWFISH == 1 && !$this->portable_hashes) {
@@ -249,6 +253,10 @@ function HashPassword($password)
function CheckPassword($password, $stored_hash)
{
+ if ( strlen( $password ) > 4096 ) {
+ return false;
+ }
+
$hash = $this->crypt_private($password, $stored_hash);
if ($hash[0] == '*')
$hash = crypt($password, $stored_hash);
diff --git a/wp-includes/class-phpmailer.php b/wp-includes/class-phpmailer.php
index c38632ab72..4e05a4340b 100644
--- a/wp-includes/class-phpmailer.php
+++ b/wp-includes/class-phpmailer.php
@@ -1,15 +1,14 @@
+ * @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
+ * @author Marcus Bointon (Synchro/coolbru)
* @author Jim Jagielski (jimjag)
* @author Andy Prevost (codeworxtech)
* @author Brent R. Matzelle (original founder)
- * @copyright 2013 Marcus Bointon
+ * @copyright 2012 - 2014 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@@ -18,98 +17,94 @@
* FITNESS FOR A PARTICULAR PURPOSE.
*/
-if (version_compare(PHP_VERSION, '5.0.0', '<')) {
- exit("Sorry, PHPMailer will only run on PHP version 5 or greater!\n");
-}
-
/**
* PHPMailer - PHP email creation and transport class.
- * PHP Version 5.0.0
* @package PHPMailer
- * @author Marcus Bointon (coolbru)
+ * @author Marcus Bointon (Synchro/coolbru)
* @author Jim Jagielski (jimjag)
* @author Andy Prevost (codeworxtech)
* @author Brent R. Matzelle (original founder)
- * @copyright 2013 Marcus Bointon
- * @copyright 2010 - 2012 Jim Jagielski
- * @copyright 2004 - 2009 Andy Prevost
*/
class PHPMailer
{
/**
* The PHPMailer Version number.
- * @type string
+ * @var string
*/
- public $Version = '5.2.7';
+ public $Version = '5.2.22';
/**
* Email priority.
- * Options: 1 = High, 3 = Normal, 5 = low.
- * @type int
+ * Options: null (default), 1 = High, 3 = Normal, 5 = low.
+ * When null, the header is not set at all.
+ * @var integer
*/
- public $Priority = 3;
+ public $Priority = null;
/**
* The character set of the message.
- * @type string
+ * @var string
*/
public $CharSet = 'iso-8859-1';
/**
* The MIME Content-type of the message.
- * @type string
+ * @var string
*/
public $ContentType = 'text/plain';
/**
* The message encoding.
* Options: "8bit", "7bit", "binary", "base64", and "quoted-printable".
- * @type string
+ * @var string
*/
public $Encoding = '8bit';
/**
* Holds the most recent mailer error message.
- * @type string
+ * @var string
*/
public $ErrorInfo = '';
/**
* The From email address for the message.
- * @type string
+ * @var string
*/
public $From = 'root@localhost';
/**
* The From name of the message.
- * @type string
+ * @var string
*/
public $FromName = 'Root User';
/**
* The Sender email (Return-Path) of the message.
* If not empty, will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
- * @type string
+ * @var string
*/
public $Sender = '';
/**
* The Return-Path of the message.
* If empty, it will be set to either From or Sender.
- * @type string
+ * @var string
+ * @deprecated Email senders should never set a return-path header;
+ * it's the receiver's job (RFC5321 section 4.4), so this no longer does anything.
+ * @link https://tools.ietf.org/html/rfc5321#section-4.4 RFC5321 reference
*/
public $ReturnPath = '';
/**
* The Subject of the message.
- * @type string
+ * @var string
*/
public $Subject = '';
/**
* An HTML or plain text message body.
* If HTML then call isHTML(true).
- * @type string
+ * @var string
*/
public $Body = '';
@@ -118,7 +113,7 @@ class PHPMailer
* This body can be read by mail clients that do not have HTML email
* capability such as mutt & Eudora.
* Clients that can read HTML will view the normal Body.
- * @type string
+ * @var string
*/
public $AltBody = '';
@@ -128,91 +123,95 @@ class PHPMailer
* To generate iCal events, use the bundled extras/EasyPeasyICS.php class or iCalcreator
* @link http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/
* @link http://kigkonsult.se/iCalcreator/
- * @type string
+ * @var string
*/
public $Ical = '';
/**
* The complete compiled MIME message body.
* @access protected
- * @type string
+ * @var string
*/
protected $MIMEBody = '';
/**
* The complete compiled MIME message headers.
- * @type string
+ * @var string
* @access protected
*/
protected $MIMEHeader = '';
/**
* Extra headers that createHeader() doesn't fold in.
- * @type string
+ * @var string
* @access protected
*/
protected $mailHeader = '';
/**
* Word-wrap the message body to this number of chars.
- * @type int
+ * Set to 0 to not wrap. A useful value here is 78, for RFC2822 section 2.1.1 compliance.
+ * @var integer
*/
public $WordWrap = 0;
/**
* Which method to use to send mail.
* Options: "mail", "sendmail", or "smtp".
- * @type string
+ * @var string
*/
public $Mailer = 'mail';
/**
* The path to the sendmail program.
- * @type string
+ * @var string
*/
public $Sendmail = '/usr/sbin/sendmail';
/**
* Whether mail() uses a fully sendmail-compatible MTA.
* One which supports sendmail's "-oi -f" options.
- * @type bool
+ * @var boolean
*/
public $UseSendmailOptions = true;
/**
* Path to PHPMailer plugins.
* Useful if the SMTP class is not in the PHP include path.
- * @type string
+ * @var string
* @deprecated Should not be needed now there is an autoloader.
*/
public $PluginDir = '';
/**
- * The email address that a reading confirmation should be sent to.
- * @type string
+ * The email address that a reading confirmation should be sent to, also known as read receipt.
+ * @var string
*/
public $ConfirmReadingTo = '';
/**
- * The hostname to use in Message-Id and Received headers
- * and as default HELO string.
- * If empty, the value returned
- * by SERVER_NAME is used or 'localhost.localdomain'.
- * @type string
+ * The hostname to use in the Message-ID header and as default HELO string.
+ * If empty, PHPMailer attempts to find one with, in order,
+ * $_SERVER['SERVER_NAME'], gethostname(), php_uname('n'), or the value
+ * 'localhost.localdomain'.
+ * @var string
*/
public $Hostname = '';
/**
- * An ID to be used in the Message-Id header.
+ * An ID to be used in the Message-ID header.
* If empty, a unique id will be generated.
- * @type string
+ * You can set your own, but it must be in the format "",
+ * as defined in RFC5322 section 3.6.4 or it will be ignored.
+ * @see https://tools.ietf.org/html/rfc5322#section-3.6.4
+ * @var string
*/
public $MessageID = '';
/**
* The message Date to be used in the Date header.
* If empty, the current date will be added.
- * @type string
+ * @var string
*/
public $MessageDate = '';
@@ -222,130 +221,164 @@ class PHPMailer
* You can also specify a different port
* for each host by using this format: [hostname:port]
* (e.g. "smtp1.example.com:25;smtp2.example.com").
+ * You can also specify encryption type, for example:
+ * (e.g. "tls://smtp1.example.com:587;ssl://smtp2.example.com:465").
* Hosts will be tried in order.
- * @type string
+ * @var string
*/
public $Host = 'localhost';
/**
* The default SMTP server port.
- * @type int
- * @Todo Why is this needed when the SMTP class takes care of it?
+ * @var integer
+ * @TODO Why is this needed when the SMTP class takes care of it?
*/
public $Port = 25;
/**
* The SMTP HELO of the message.
- * Default is $Hostname.
- * @type string
+ * Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find
+ * one with the same method described above for $Hostname.
+ * @var string
* @see PHPMailer::$Hostname
*/
public $Helo = '';
/**
- * The secure connection prefix.
- * Options: "", "ssl" or "tls"
- * @type string
+ * What kind of encryption to use on the SMTP connection.
+ * Options: '', 'ssl' or 'tls'
+ * @var string
*/
public $SMTPSecure = '';
+ /**
+ * Whether to enable TLS encryption automatically if a server supports it,
+ * even if `SMTPSecure` is not set to 'tls'.
+ * Be aware that in PHP >= 5.6 this requires that the server's certificates are valid.
+ * @var boolean
+ */
+ public $SMTPAutoTLS = true;
+
/**
* Whether to use SMTP authentication.
* Uses the Username and Password properties.
- * @type bool
+ * @var boolean
* @see PHPMailer::$Username
* @see PHPMailer::$Password
*/
public $SMTPAuth = false;
+ /**
+ * Options array passed to stream_context_create when connecting via SMTP.
+ * @var array
+ */
+ public $SMTPOptions = array();
+
/**
* SMTP username.
- * @type string
+ * @var string
*/
public $Username = '';
/**
* SMTP password.
- * @type string
+ * @var string
*/
public $Password = '';
/**
* SMTP auth type.
- * Options are LOGIN (default), PLAIN, NTLM, CRAM-MD5
- * @type string
+ * Options are CRAM-MD5, LOGIN, PLAIN, attempted in that order if not specified
+ * @var string
*/
public $AuthType = '';
/**
* SMTP realm.
* Used for NTLM auth
- * @type string
+ * @var string
*/
public $Realm = '';
/**
* SMTP workstation.
* Used for NTLM auth
- * @type string
+ * @var string
*/
public $Workstation = '';
/**
* The SMTP server timeout in seconds.
- * @type int
+ * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
+ * @var integer
*/
- public $Timeout = 10;
+ public $Timeout = 300;
/**
* SMTP class debug output mode.
- * Options: 0 = off, 1 = commands, 2 = commands and data
- * @type int
+ * Debug output level.
+ * Options:
+ * * `0` No output
+ * * `1` Commands
+ * * `2` Data and commands
+ * * `3` As 2 plus connection status
+ * * `4` Low-level data output
+ * @var integer
* @see SMTP::$do_debug
*/
public $SMTPDebug = 0;
/**
- * The function/method to use for debugging output.
- * Options: "echo" or "error_log"
- * @type string
+ * How to handle debug output.
+ * Options:
+ * * `echo` Output plain-text as-is, appropriate for CLI
+ * * `html` Output escaped, line breaks converted to ` `, appropriate for browser output
+ * * `error_log` Output to error log as configured in php.ini
+ *
+ * Alternatively, you can provide a callable expecting two params: a message string and the debug level:
+ *
+ * $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
+ *
+ * @var string|callable
* @see SMTP::$Debugoutput
*/
- public $Debugoutput = "echo";
+ public $Debugoutput = 'echo';
/**
* Whether to keep SMTP connection open after each message.
* If this is set to true then to close the connection
* requires an explicit call to smtpClose().
- * @type bool
+ * @var boolean
*/
public $SMTPKeepAlive = false;
/**
* Whether to split multiple to addresses into multiple messages
* or send them all in one message.
- * @type bool
+ * Only supported in `mail` and `sendmail` transports, not in SMTP.
+ * @var boolean
*/
public $SingleTo = false;
/**
* Storage for addresses when SingleTo is enabled.
- * @type array
- * @todo This should really not be public
+ * @var array
+ * @TODO This should really not be public
*/
public $SingleToArray = array();
/**
* Whether to generate VERP addresses on send.
* Only applicable when sending via SMTP.
- * @link http://en.wikipedia.org/wiki/Variable_envelope_return_path
- * @type bool
+ * @link https://en.wikipedia.org/wiki/Variable_envelope_return_path
+ * @link http://www.postfix.org/VERP_README.html Postfix VERP info
+ * @var boolean
*/
public $do_verp = false;
/**
* Whether to allow sending messages with an empty body.
- * @type bool
+ * @var boolean
*/
public $AllowEmpty = false;
@@ -353,223 +386,279 @@ class PHPMailer
* The default line ending.
* @note The default remains "\n". We force CRLF where we know
* it must be used via self::CRLF.
- * @type string
+ * @var string
*/
public $LE = "\n";
/**
* DKIM selector.
- * @type string
+ * @var string
*/
public $DKIM_selector = '';
/**
* DKIM Identity.
- * Usually the email address used as the source of the email
- * @type string
+ * Usually the email address used as the source of the email.
+ * @var string
*/
public $DKIM_identity = '';
/**
* DKIM passphrase.
* Used if your key is encrypted.
- * @type string
+ * @var string
*/
public $DKIM_passphrase = '';
/**
* DKIM signing domain name.
* @example 'example.com'
- * @type string
+ * @var string
*/
public $DKIM_domain = '';
/**
* DKIM private key file path.
- * @type string
+ * @var string
*/
public $DKIM_private = '';
+ /**
+ * DKIM private key string.
+ * If set, takes precedence over `$DKIM_private`.
+ * @var string
+ */
+ public $DKIM_private_string = '';
+
/**
* Callback Action function name.
*
* The function that handles the result of the send email action.
* It is called out by send() for each email sent.
*
- * Value can be:
- * - 'function_name' for function names
- * - 'Class::Method' for static method calls
- * - array($object, 'Method') for calling methods on $object
- * See http://php.net/is_callable manual page for more details.
+ * Value can be any php callable: http://www.php.net/is_callable
*
* Parameters:
- * bool $result result of the send action
+ * boolean $result result of the send action
* string $to email address of the recipient
* string $cc cc email addresses
* string $bcc bcc email addresses
* string $subject the subject
* string $body the email body
* string $from email address of sender
- *
- * @type string
+ * @var string
*/
public $action_function = '';
/**
- * What to use in the X-Mailer header.
- * Options: null for default, whitespace for none, or a string to use
- * @type string
+ * What to put in the X-Mailer header.
+ * Options: An empty string for PHPMailer default, whitespace for none, or a string to use
+ * @var string
*/
public $XMailer = '';
+ /**
+ * Which validator to use by default when validating email addresses.
+ * May be a callable to inject your own validator, but there are several built-in validators.
+ * @see PHPMailer::validateAddress()
+ * @var string|callable
+ * @static
+ */
+ public static $validator = 'auto';
+
/**
* An instance of the SMTP sender class.
- * @type SMTP
+ * @var SMTP
* @access protected
*/
protected $smtp = null;
/**
- * The array of 'to' addresses.
- * @type array
+ * The array of 'to' names and addresses.
+ * @var array
* @access protected
*/
protected $to = array();
/**
- * The array of 'cc' addresses.
- * @type array
+ * The array of 'cc' names and addresses.
+ * @var array
* @access protected
*/
protected $cc = array();
/**
- * The array of 'bcc' addresses.
- * @type array
+ * The array of 'bcc' names and addresses.
+ * @var array
* @access protected
*/
protected $bcc = array();
/**
* The array of reply-to names and addresses.
- * @type array
+ * @var array
* @access protected
*/
protected $ReplyTo = array();
/**
* An array of all kinds of addresses.
- * Includes all of $to, $cc, $bcc, $replyto
- * @type array
+ * Includes all of $to, $cc, $bcc
+ * @var array
* @access protected
+ * @see PHPMailer::$to @see PHPMailer::$cc @see PHPMailer::$bcc
*/
protected $all_recipients = array();
+ /**
+ * An array of names and addresses queued for validation.
+ * In send(), valid and non duplicate entries are moved to $all_recipients
+ * and one of $to, $cc, or $bcc.
+ * This array is used only for addresses with IDN.
+ * @var array
+ * @access protected
+ * @see PHPMailer::$to @see PHPMailer::$cc @see PHPMailer::$bcc
+ * @see PHPMailer::$all_recipients
+ */
+ protected $RecipientsQueue = array();
+
+ /**
+ * An array of reply-to names and addresses queued for validation.
+ * In send(), valid and non duplicate entries are moved to $ReplyTo.
+ * This array is used only for addresses with IDN.
+ * @var array
+ * @access protected
+ * @see PHPMailer::$ReplyTo
+ */
+ protected $ReplyToQueue = array();
+
/**
* The array of attachments.
- * @type array
+ * @var array
* @access protected
*/
protected $attachment = array();
/**
* The array of custom headers.
- * @type array
+ * @var array
* @access protected
*/
protected $CustomHeader = array();
/**
* The most recent Message-ID (including angular brackets).
- * @type string
+ * @var string
* @access protected
*/
protected $lastMessageID = '';
/**
* The message's MIME type.
- * @type string
+ * @var string
* @access protected
*/
protected $message_type = '';
/**
* The array of MIME boundary strings.
- * @type array
+ * @var array
* @access protected
*/
protected $boundary = array();
/**
* The array of available languages.
- * @type array
+ * @var array
* @access protected
*/
protected $language = array();
/**
* The number of errors encountered.
- * @type integer
+ * @var integer
* @access protected
*/
protected $error_count = 0;
/**
* The S/MIME certificate file path.
- * @type string
+ * @var string
* @access protected
*/
protected $sign_cert_file = '';
/**
* The S/MIME key file path.
- * @type string
+ * @var string
* @access protected
*/
protected $sign_key_file = '';
+ /**
+ * The optional S/MIME extra certificates ("CA Chain") file path.
+ * @var string
+ * @access protected
+ */
+ protected $sign_extracerts_file = '';
+
/**
* The S/MIME password for the key.
* Used only if the key is encrypted.
- * @type string
+ * @var string
* @access protected
*/
protected $sign_key_pass = '';
/**
* Whether to throw exceptions for errors.
- * @type bool
+ * @var boolean
* @access protected
*/
protected $exceptions = false;
/**
- * Error severity: message only, continue processing
+ * Unique ID used for message ID and boundaries.
+ * @var string
+ * @access protected
+ */
+ protected $uniqueid = '';
+
+ /**
+ * Error severity: message only, continue processing.
*/
const STOP_MESSAGE = 0;
/**
- * Error severity: message, likely ok to continue processing
+ * Error severity: message, likely ok to continue processing.
*/
const STOP_CONTINUE = 1;
/**
- * Error severity: message, plus full stop, critical error reached
+ * Error severity: message, plus full stop, critical error reached.
*/
const STOP_CRITICAL = 2;
/**
- * SMTP RFC standard line ending
+ * SMTP RFC standard line ending.
*/
const CRLF = "\r\n";
/**
- * Constructor
- * @param bool $exceptions Should we throw external exceptions?
+ * The maximum line length allowed by RFC 2822 section 2.1.1
+ * @var integer
+ */
+ const MAX_LINE_LENGTH = 998;
+
+ /**
+ * Constructor.
+ * @param boolean $exceptions Should we throw external exceptions?
*/
- public function __construct($exceptions = false)
+ public function __construct($exceptions = null)
{
- $this->exceptions = ($exceptions == true);
+ if ($exceptions !== null) {
+ $this->exceptions = (boolean)$exceptions;
+ }
}
/**
@@ -577,9 +666,8 @@ public function __construct($exceptions = false)
*/
public function __destruct()
{
- if ($this->Mailer == 'smtp') { //close any open SMTP connection nicely
- $this->smtpClose();
- }
+ //Close any open SMTP connection nicely
+ $this->smtpClose();
}
/**
@@ -593,53 +681,77 @@ public function __destruct()
* @param string $header Additional Header(s)
* @param string $params Params
* @access private
- * @return bool
+ * @return boolean
*/
private function mailPassthru($to, $subject, $body, $header, $params)
{
- if (ini_get('safe_mode') || !($this->UseSendmailOptions)) {
- $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header);
+ //Check overloading of mail function to avoid double-encoding
+ if (ini_get('mbstring.func_overload') & 1) {
+ $subject = $this->secureHeader($subject);
} else {
- $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header, $params);
+ $subject = $this->encodeHeader($this->secureHeader($subject));
}
- return $rt;
- }
+ //Can't use additional_parameters in safe_mode, calling mail() with null params breaks
+ //@link http://php.net/manual/en/function.mail.php
+ if (ini_get('safe_mode') or !$this->UseSendmailOptions or is_null($params)) {
+ $result = @mail($to, $subject, $body, $header);
+ } else {
+ $result = @mail($to, $subject, $body, $header, $params);
+ }
+ return $result;
+ }
/**
* Output debugging info via user-defined method.
- * Only if debug output is enabled.
+ * Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
* @see PHPMailer::$Debugoutput
* @see PHPMailer::$SMTPDebug
* @param string $str
*/
protected function edebug($str)
{
- if (!$this->SMTPDebug) {
+ if ($this->SMTPDebug <= 0) {
+ return;
+ }
+ //Avoid clash with built-in function names
+ if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) {
+ call_user_func($this->Debugoutput, $str, $this->SMTPDebug);
return;
}
switch ($this->Debugoutput) {
case 'error_log':
+ //Don't output, just log
error_log($str);
break;
case 'html':
- //Cleans up output a bit for a better looking display that's HTML-safe
- echo htmlentities(preg_replace('/[\r\n]+/', '', $str), ENT_QUOTES, $this->CharSet) . " \n";
+ //Cleans up output a bit for a better looking, HTML-safe output
+ echo htmlentities(
+ preg_replace('/[\r\n]+/', '', $str),
+ ENT_QUOTES,
+ 'UTF-8'
+ )
+ . " \n";
break;
case 'echo':
default:
- //Just echoes exactly what was received
- echo $str;
+ //Normalize line breaks
+ $str = preg_replace('/\r\n?/ms', "\n", $str);
+ echo gmdate('Y-m-d H:i:s') . "\t" . str_replace(
+ "\n",
+ "\n \t ",
+ trim($str)
+ ) . "\n";
}
}
/**
* Sets message type to HTML or plain.
- * @param bool $ishtml True for HTML mode.
+ * @param boolean $isHtml True for HTML mode.
* @return void
*/
- public function isHTML($ishtml = true)
+ public function isHTML($isHtml = true)
{
- if ($ishtml) {
+ if ($isHtml) {
$this->ContentType = 'text/html';
} else {
$this->ContentType = 'text/plain';
@@ -670,8 +782,12 @@ public function isMail()
*/
public function isSendmail()
{
- if (!stristr(ini_get('sendmail_path'), 'sendmail')) {
- $this->Sendmail = '/var/qmail/bin/sendmail';
+ $ini_sendmail_path = ini_get('sendmail_path');
+
+ if (!stristr($ini_sendmail_path, 'sendmail')) {
+ $this->Sendmail = '/usr/sbin/sendmail';
+ } else {
+ $this->Sendmail = $ini_sendmail_path;
}
$this->Mailer = 'sendmail';
}
@@ -682,90 +798,140 @@ public function isSendmail()
*/
public function isQmail()
{
- if (stristr(ini_get('sendmail_path'), 'qmail')) {
- $this->Sendmail = '/var/qmail/bin/sendmail';
+ $ini_sendmail_path = ini_get('sendmail_path');
+
+ if (!stristr($ini_sendmail_path, 'qmail')) {
+ $this->Sendmail = '/var/qmail/bin/qmail-inject';
+ } else {
+ $this->Sendmail = $ini_sendmail_path;
}
- $this->Mailer = 'sendmail';
+ $this->Mailer = 'qmail';
}
/**
* Add a "To" address.
- * @param string $address
+ * @param string $address The email address to send to
* @param string $name
- * @return bool true on success, false if address already used
+ * @return boolean true on success, false if address already used or invalid in some way
*/
public function addAddress($address, $name = '')
{
- return $this->addAnAddress('to', $address, $name);
+ return $this->addOrEnqueueAnAddress('to', $address, $name);
}
/**
* Add a "CC" address.
* @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
- * @param string $address
+ * @param string $address The email address to send to
* @param string $name
- * @return bool true on success, false if address already used
+ * @return boolean true on success, false if address already used or invalid in some way
*/
public function addCC($address, $name = '')
{
- return $this->addAnAddress('cc', $address, $name);
+ return $this->addOrEnqueueAnAddress('cc', $address, $name);
}
/**
* Add a "BCC" address.
* @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
- * @param string $address
+ * @param string $address The email address to send to
* @param string $name
- * @return bool true on success, false if address already used
+ * @return boolean true on success, false if address already used or invalid in some way
*/
public function addBCC($address, $name = '')
{
- return $this->addAnAddress('bcc', $address, $name);
+ return $this->addOrEnqueueAnAddress('bcc', $address, $name);
}
/**
- * Add a "Reply-to" address.
- * @param string $address
+ * Add a "Reply-To" address.
+ * @param string $address The email address to reply to
* @param string $name
- * @return bool
+ * @return boolean true on success, false if address already used or invalid in some way
*/
public function addReplyTo($address, $name = '')
{
- return $this->addAnAddress('Reply-To', $address, $name);
+ return $this->addOrEnqueueAnAddress('Reply-To', $address, $name);
}
/**
- * Add an address to one of the recipient arrays.
- * Addresses that have been added already return false, but do not throw exceptions
- * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo'
- * @param string $address The email address to send to
+ * Add an address to one of the recipient arrays or to the ReplyTo array. Because PHPMailer
+ * can't validate addresses with an IDN without knowing the PHPMailer::$CharSet (that can still
+ * be modified after calling this function), addition of such addresses is delayed until send().
+ * Addresses that have been added already return false, but do not throw exceptions.
+ * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo'
+ * @param string $address The email address to send, resp. to reply to
* @param string $name
* @throws phpmailerException
- * @return bool true on success, false if address already used or invalid in some way
+ * @return boolean true on success, false if address already used or invalid in some way
+ * @access protected
+ */
+ protected function addOrEnqueueAnAddress($kind, $address, $name)
+ {
+ $address = trim($address);
+ $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
+ if (($pos = strrpos($address, '@')) === false) {
+ // At-sign is misssing.
+ $error_message = $this->lang('invalid_address') . " (addAnAddress $kind): $address";
+ $this->setError($error_message);
+ $this->edebug($error_message);
+ if ($this->exceptions) {
+ throw new phpmailerException($error_message);
+ }
+ return false;
+ }
+ $params = array($kind, $address, $name);
+ // Enqueue addresses with IDN until we know the PHPMailer::$CharSet.
+ if ($this->has8bitChars(substr($address, ++$pos)) and $this->idnSupported()) {
+ if ($kind != 'Reply-To') {
+ if (!array_key_exists($address, $this->RecipientsQueue)) {
+ $this->RecipientsQueue[$address] = $params;
+ return true;
+ }
+ } else {
+ if (!array_key_exists($address, $this->ReplyToQueue)) {
+ $this->ReplyToQueue[$address] = $params;
+ return true;
+ }
+ }
+ return false;
+ }
+ // Immediately add standard addresses without IDN.
+ return call_user_func_array(array($this, 'addAnAddress'), $params);
+ }
+
+ /**
+ * Add an address to one of the recipient arrays or to the ReplyTo array.
+ * Addresses that have been added already return false, but do not throw exceptions.
+ * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo'
+ * @param string $address The email address to send, resp. to reply to
+ * @param string $name
+ * @throws phpmailerException
+ * @return boolean true on success, false if address already used or invalid in some way
* @access protected
*/
protected function addAnAddress($kind, $address, $name = '')
{
- if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
- $this->setError($this->lang('Invalid recipient array') . ': ' . $kind);
+ if (!in_array($kind, array('to', 'cc', 'bcc', 'Reply-To'))) {
+ $error_message = $this->lang('Invalid recipient kind: ') . $kind;
+ $this->setError($error_message);
+ $this->edebug($error_message);
if ($this->exceptions) {
- throw new phpmailerException('Invalid recipient array: ' . $kind);
+ throw new phpmailerException($error_message);
}
- $this->edebug($this->lang('Invalid recipient array') . ': ' . $kind);
return false;
}
- $address = trim($address);
- $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
if (!$this->validateAddress($address)) {
- $this->setError($this->lang('invalid_address') . ': ' . $address);
+ $error_message = $this->lang('invalid_address') . " (addAnAddress $kind): $address";
+ $this->setError($error_message);
+ $this->edebug($error_message);
if ($this->exceptions) {
- throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
+ throw new phpmailerException($error_message);
}
- $this->edebug($this->lang('invalid_address') . ': ' . $address);
return false;
}
if ($kind != 'Reply-To') {
- if (!isset($this->all_recipients[strtolower($address)])) {
+ if (!array_key_exists(strtolower($address), $this->all_recipients)) {
array_push($this->$kind, array($address, $name));
$this->all_recipients[strtolower($address)] = true;
return true;
@@ -779,24 +945,83 @@ protected function addAnAddress($kind, $address, $name = '')
return false;
}
+ /**
+ * Parse and validate a string containing one or more RFC822-style comma-separated email addresses
+ * of the form "display name " into an array of name/address pairs.
+ * Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available.
+ * Note that quotes in the name part are removed.
+ * @param string $addrstr The address list string
+ * @param bool $useimap Whether to use the IMAP extension to parse the list
+ * @return array
+ * @link http://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation
+ */
+ public function parseAddresses($addrstr, $useimap = true)
+ {
+ $addresses = array();
+ if ($useimap and function_exists('imap_rfc822_parse_adrlist')) {
+ //Use this built-in parser if it's available
+ $list = imap_rfc822_parse_adrlist($addrstr, '');
+ foreach ($list as $address) {
+ if ($address->host != '.SYNTAX-ERROR.') {
+ if ($this->validateAddress($address->mailbox . '@' . $address->host)) {
+ $addresses[] = array(
+ 'name' => (property_exists($address, 'personal') ? $address->personal : ''),
+ 'address' => $address->mailbox . '@' . $address->host
+ );
+ }
+ }
+ }
+ } else {
+ //Use this simpler parser
+ $list = explode(',', $addrstr);
+ foreach ($list as $address) {
+ $address = trim($address);
+ //Is there a separate name part?
+ if (strpos($address, '<') === false) {
+ //No separate name, just use the whole thing
+ if ($this->validateAddress($address)) {
+ $addresses[] = array(
+ 'name' => '',
+ 'address' => $address
+ );
+ }
+ } else {
+ list($name, $email) = explode('<', $address);
+ $email = trim(str_replace('>', '', $email));
+ if ($this->validateAddress($email)) {
+ $addresses[] = array(
+ 'name' => trim(str_replace(array('"', "'"), '', $name)),
+ 'address' => $email
+ );
+ }
+ }
+ }
+ }
+ return $addresses;
+ }
+
/**
* Set the From and FromName properties.
* @param string $address
* @param string $name
- * @param bool $auto Whether to also set the Sender address, defaults to true
+ * @param boolean $auto Whether to also set the Sender address, defaults to true
* @throws phpmailerException
- * @return bool
+ * @return boolean
*/
public function setFrom($address, $name = '', $auto = true)
{
$address = trim($address);
$name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
- if (!$this->validateAddress($address)) {
- $this->setError($this->lang('invalid_address') . ': ' . $address);
+ // Don't validate now addresses with IDN. Will be done in send().
+ if (($pos = strrpos($address, '@')) === false or
+ (!$this->has8bitChars(substr($address, ++$pos)) or !$this->idnSupported()) and
+ !$this->validateAddress($address)) {
+ $error_message = $this->lang('invalid_address') . " (setFrom) $address";
+ $this->setError($error_message);
+ $this->edebug($error_message);
if ($this->exceptions) {
- throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
+ throw new phpmailerException($error_message);
}
- $this->edebug($this->lang('invalid_address') . ': ' . $address);
return false;
}
$this->From = $address;
@@ -824,28 +1049,47 @@ public function getLastMessageID()
/**
* Check that a string looks like an email address.
* @param string $address The email address to check
- * @param string $patternselect A selector for the validation pattern to use :
- * 'auto' - pick best one automatically;
- * 'pcre8' - use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14;
- * 'pcre' - use old PCRE implementation;
- * 'php' - use PHP built-in FILTER_VALIDATE_EMAIL; faster, less thorough;
- * 'noregex' - super fast, really dumb.
- * @return bool
+ * @param string|callable $patternselect A selector for the validation pattern to use :
+ * * `auto` Pick best pattern automatically;
+ * * `pcre8` Use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14;
+ * * `pcre` Use old PCRE implementation;
+ * * `php` Use PHP built-in FILTER_VALIDATE_EMAIL;
+ * * `html5` Use the pattern given by the HTML5 spec for 'email' type form input elements.
+ * * `noregex` Don't use a regex: super fast, really dumb.
+ * Alternatively you may pass in a callable to inject your own validator, for example:
+ * PHPMailer::validateAddress('user@example.com', function($address) {
+ * return (strpos($address, '@') !== false);
+ * });
+ * You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator.
+ * @return boolean
* @static
* @access public
*/
- public static function validateAddress($address, $patternselect = 'auto')
+ public static function validateAddress($address, $patternselect = null)
{
- if ($patternselect == 'auto') {
- if (defined(
- 'PCRE_VERSION'
- )
- ) { //Check this instead of extension_loaded so it works when that function is disabled
- if (version_compare(PCRE_VERSION, '8.0') >= 0) {
+ if (is_null($patternselect)) {
+ $patternselect = self::$validator;
+ }
+ if (is_callable($patternselect)) {
+ return call_user_func($patternselect, $address);
+ }
+ //Reject line breaks in addresses; it's valid RFC5322, but not RFC5321
+ if (strpos($address, "\n") !== false or strpos($address, "\r") !== false) {
+ return false;
+ }
+ if (!$patternselect or $patternselect == 'auto') {
+ //Check this constant first so it works when extension_loaded() is disabled by safe mode
+ //Constant was added in PHP 5.2.4
+ if (defined('PCRE_VERSION')) {
+ //This pattern can get stuck in a recursive loop in PCRE <= 8.0.2
+ if (version_compare(PCRE_VERSION, '8.0.3') >= 0) {
$patternselect = 'pcre8';
} else {
$patternselect = 'pcre';
}
+ } elseif (function_exists('extension_loaded') and extension_loaded('pcre')) {
+ //Fall back to older PCRE
+ $patternselect = 'pcre';
} else {
//Filter_var appeared in PHP 5.2.0 and does not require the PCRE extension
if (version_compare(PHP_VERSION, '5.2.0') >= 0) {
@@ -858,14 +1102,12 @@ public static function validateAddress($address, $patternselect = 'auto')
switch ($patternselect) {
case 'pcre8':
/**
- * Conforms to RFC5322: Uses *correct* regex on which FILTER_VALIDATE_EMAIL is
- * based; So why not use FILTER_VALIDATE_EMAIL? Because it was broken to
- * not allow a@b type valid addresses :(
+ * Uses the same RFC5322 regex on which FILTER_VALIDATE_EMAIL is based, but allows dotless domains.
* @link http://squiloople.com/2009/12/20/email-address-validation/
* @copyright 2009-2010 Michael Rushton
* Feel free to use and redistribute this code. But please keep this copyright notice.
*/
- return (bool)preg_match(
+ return (boolean)preg_match(
'/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)' .
'((?>(?>(?>((?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)(\((?>(?2)' .
'(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)' .
@@ -877,10 +1119,9 @@ public static function validateAddress($address, $patternselect = 'auto')
'|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD',
$address
);
- break;
case 'pcre':
//An older regex that doesn't need a recent PCRE
- return (bool)preg_match(
+ return (boolean)preg_match(
'/^(?!(?>"?(?>\\\[ -~]|[^"])"?){255,})(?!(?>"?(?>\\\[ -~]|[^"])"?){65,}@)(?>' .
'[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*")' .
'(?>\.(?>[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*"))*' .
@@ -893,27 +1134,75 @@ public static function validateAddress($address, $patternselect = 'auto')
'|[1-9]?[0-9])(?>\.(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}))\])$/isD',
$address
);
- break;
- case 'php':
- default:
- return (bool)filter_var($address, FILTER_VALIDATE_EMAIL);
- break;
+ case 'html5':
+ /**
+ * This is the pattern used in the HTML5 spec for validation of 'email' type form input elements.
+ * @link http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state-(type=email)
+ */
+ return (boolean)preg_match(
+ '/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}' .
+ '[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/sD',
+ $address
+ );
case 'noregex':
//No PCRE! Do something _very_ approximate!
//Check the address is 3 chars or longer and contains an @ that's not the first or last char
return (strlen($address) >= 3
and strpos($address, '@') >= 1
and strpos($address, '@') != strlen($address) - 1);
- break;
+ case 'php':
+ default:
+ return (boolean)filter_var($address, FILTER_VALIDATE_EMAIL);
+ }
+ }
+
+ /**
+ * Tells whether IDNs (Internationalized Domain Names) are supported or not. This requires the
+ * "intl" and "mbstring" PHP extensions.
+ * @return bool "true" if required functions for IDN support are present
+ */
+ public function idnSupported()
+ {
+ // @TODO: Write our own "idn_to_ascii" function for PHP <= 5.2.
+ return function_exists('idn_to_ascii') and function_exists('mb_convert_encoding');
+ }
+
+ /**
+ * Converts IDN in given email address to its ASCII form, also known as punycode, if possible.
+ * Important: Address must be passed in same encoding as currently set in PHPMailer::$CharSet.
+ * This function silently returns unmodified address if:
+ * - No conversion is necessary (i.e. domain name is not an IDN, or is already in ASCII form)
+ * - Conversion to punycode is impossible (e.g. required PHP functions are not available)
+ * or fails for any reason (e.g. domain has characters not allowed in an IDN)
+ * @see PHPMailer::$CharSet
+ * @param string $address The email address to convert
+ * @return string The encoded address in ASCII form
+ */
+ public function punyencodeAddress($address)
+ {
+ // Verify we have required functions, CharSet, and at-sign.
+ if ($this->idnSupported() and
+ !empty($this->CharSet) and
+ ($pos = strrpos($address, '@')) !== false) {
+ $domain = substr($address, ++$pos);
+ // Verify CharSet string is a valid one, and domain properly encoded in this CharSet.
+ if ($this->has8bitChars($domain) and @mb_check_encoding($domain, $this->CharSet)) {
+ $domain = mb_convert_encoding($domain, 'UTF-8', $this->CharSet);
+ if (($punycode = defined('INTL_IDNA_VARIANT_UTS46') ?
+ idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46) :
+ idn_to_ascii($domain)) !== false) {
+ return substr($address, 0, $pos) . $punycode;
+ }
+ }
}
+ return $address;
}
/**
* Create a message and send it.
* Uses the sending method specified by $Mailer.
- * Returns false on error - Use the ErrorInfo variable to view description of the error.
* @throws phpmailerException
- * @return bool
+ * @return boolean false on error - See the ErrorInfo property for details of the error.
*/
public function send()
{
@@ -922,11 +1211,11 @@ public function send()
return false;
}
return $this->postSend();
- } catch (phpmailerException $e) {
+ } catch (phpmailerException $exc) {
$this->mailHeader = '';
- $this->setError($e->getMessage());
+ $this->setError($exc->getMessage());
if ($this->exceptions) {
- throw $e;
+ throw $exc;
}
return false;
}
@@ -935,38 +1224,67 @@ public function send()
/**
* Prepare a message for sending.
* @throws phpmailerException
- * @return bool
+ * @return boolean
*/
public function preSend()
{
try {
- $this->mailHeader = "";
+ $this->error_count = 0; // Reset errors
+ $this->mailHeader = '';
+
+ // Dequeue recipient and Reply-To addresses with IDN
+ foreach (array_merge($this->RecipientsQueue, $this->ReplyToQueue) as $params) {
+ $params[1] = $this->punyencodeAddress($params[1]);
+ call_user_func_array(array($this, 'addAnAddress'), $params);
+ }
if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
throw new phpmailerException($this->lang('provide_address'), self::STOP_CRITICAL);
}
+ // Validate From, Sender, and ConfirmReadingTo addresses
+ foreach (array('From', 'Sender', 'ConfirmReadingTo') as $address_kind) {
+ $this->$address_kind = trim($this->$address_kind);
+ if (empty($this->$address_kind)) {
+ continue;
+ }
+ $this->$address_kind = $this->punyencodeAddress($this->$address_kind);
+ if (!$this->validateAddress($this->$address_kind)) {
+ $error_message = $this->lang('invalid_address') . ' (punyEncode) ' . $this->$address_kind;
+ $this->setError($error_message);
+ $this->edebug($error_message);
+ if ($this->exceptions) {
+ throw new phpmailerException($error_message);
+ }
+ return false;
+ }
+ }
+
// Set whether the message is multipart/alternative
- if (!empty($this->AltBody)) {
+ if ($this->alternativeExists()) {
$this->ContentType = 'multipart/alternative';
}
- $this->error_count = 0; // reset errors
$this->setMessageType();
// Refuse to send an empty message unless we are specifically allowing it
if (!$this->AllowEmpty and empty($this->Body)) {
throw new phpmailerException($this->lang('empty_message'), self::STOP_CRITICAL);
}
- $this->MIMEHeader = $this->createHeader();
+ // Create body before headers in case body makes changes to headers (e.g. altering transfer encoding)
+ $this->MIMEHeader = '';
$this->MIMEBody = $this->createBody();
+ // createBody may have added some headers, so retain them
+ $tempheaders = $this->MIMEHeader;
+ $this->MIMEHeader = $this->createHeader();
+ $this->MIMEHeader .= $tempheaders;
// To capture the complete message when using mail(), create
// an extra header list which createHeader() doesn't fold in
if ($this->Mailer == 'mail') {
if (count($this->to) > 0) {
- $this->mailHeader .= $this->addrAppend("To", $this->to);
+ $this->mailHeader .= $this->addrAppend('To', $this->to);
} else {
- $this->mailHeader .= $this->headerLine("To", "undisclosed-recipients:;");
+ $this->mailHeader .= $this->headerLine('To', 'undisclosed-recipients:;');
}
$this->mailHeader .= $this->headerLine(
'Subject',
@@ -976,10 +1294,14 @@ public function preSend()
// Sign with DKIM if enabled
if (!empty($this->DKIM_domain)
- && !empty($this->DKIM_private)
- && !empty($this->DKIM_selector)
- && !empty($this->DKIM_domain)
- && file_exists($this->DKIM_private)) {
+ and !empty($this->DKIM_selector)
+ and (!empty($this->DKIM_private_string)
+ or (!empty($this->DKIM_private)
+ and self::isPermittedPath($this->DKIM_private)
+ and file_exists($this->DKIM_private)
+ )
+ )
+ ) {
$header_dkim = $this->DKIM_Add(
$this->MIMEHeader . $this->mailHeader,
$this->encodeHeader($this->secureHeader($this->Subject)),
@@ -989,11 +1311,10 @@ public function preSend()
str_replace("\r\n", "\n", $header_dkim) . self::CRLF;
}
return true;
-
- } catch (phpmailerException $e) {
- $this->setError($e->getMessage());
+ } catch (phpmailerException $exc) {
+ $this->setError($exc->getMessage());
if ($this->exceptions) {
- throw $e;
+ throw $exc;
}
return false;
}
@@ -1003,7 +1324,7 @@ public function preSend()
* Actually send a message.
* Send the email via the selected mechanism
* @throws phpmailerException
- * @return bool
+ * @return boolean
*/
public function postSend()
{
@@ -1011,20 +1332,26 @@ public function postSend()
// Choose the mailer and send through it
switch ($this->Mailer) {
case 'sendmail':
+ case 'qmail':
return $this->sendmailSend($this->MIMEHeader, $this->MIMEBody);
case 'smtp':
return $this->smtpSend($this->MIMEHeader, $this->MIMEBody);
case 'mail':
return $this->mailSend($this->MIMEHeader, $this->MIMEBody);
default:
+ $sendMethod = $this->Mailer.'Send';
+ if (method_exists($this, $sendMethod)) {
+ return $this->$sendMethod($this->MIMEHeader, $this->MIMEBody);
+ }
+
return $this->mailSend($this->MIMEHeader, $this->MIMEBody);
}
- } catch (phpmailerException $e) {
- $this->setError($e->getMessage());
+ } catch (phpmailerException $exc) {
+ $this->setError($exc->getMessage());
+ $this->edebug($exc->getMessage());
if ($this->exceptions) {
- throw $e;
+ throw $exc;
}
- $this->edebug($e->getMessage() . "\n");
}
return false;
}
@@ -1036,27 +1363,46 @@ public function postSend()
* @see PHPMailer::$Sendmail
* @throws phpmailerException
* @access protected
- * @return bool
+ * @return boolean
*/
protected function sendmailSend($header, $body)
{
- if ($this->Sender != '') {
- $sendmail = sprintf("%s -oi -f%s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+ // CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
+ if (!empty($this->Sender) and self::isShellSafe($this->Sender)) {
+ if ($this->Mailer == 'qmail') {
+ $sendmailFmt = '%s -f%s';
+ } else {
+ $sendmailFmt = '%s -oi -f%s -t';
+ }
} else {
- $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
+ if ($this->Mailer == 'qmail') {
+ $sendmailFmt = '%s';
+ } else {
+ $sendmailFmt = '%s -oi -t';
+ }
}
- if ($this->SingleTo === true) {
- foreach ($this->SingleToArray as $val) {
+
+ // TODO: If possible, this should be changed to escapeshellarg. Needs thorough testing.
+ $sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender);
+
+ if ($this->SingleTo) {
+ foreach ($this->SingleToArray as $toAddr) {
if (!@$mail = popen($sendmail, 'w')) {
throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
}
- fputs($mail, "To: " . $val . "\n");
+ fputs($mail, 'To: ' . $toAddr . "\n");
fputs($mail, $header);
fputs($mail, $body);
$result = pclose($mail);
- // implement call back function if it exists
- $isSent = ($result == 0) ? 1 : 0;
- $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
+ $this->doCallback(
+ ($result == 0),
+ array($toAddr),
+ $this->cc,
+ $this->bcc,
+ $this->Subject,
+ $body,
+ $this->From
+ );
if ($result != 0) {
throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
}
@@ -1068,9 +1414,15 @@ protected function sendmailSend($header, $body)
fputs($mail, $header);
fputs($mail, $body);
$result = pclose($mail);
- // implement call back function if it exists
- $isSent = ($result == 0) ? 1 : 0;
- $this->doCallback($isSent, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
+ $this->doCallback(
+ ($result == 0),
+ $this->to,
+ $this->cc,
+ $this->bcc,
+ $this->Subject,
+ $body,
+ $this->From
+ );
if ($result != 0) {
throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
}
@@ -1078,6 +1430,73 @@ protected function sendmailSend($header, $body)
return true;
}
+ /**
+ * Fix CVE-2016-10033 and CVE-2016-10045 by disallowing potentially unsafe shell characters.
+ *
+ * Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows.
+ * @param string $string The string to be validated
+ * @see https://github.com/PHPMailer/PHPMailer/issues/924 CVE-2016-10045 bug report
+ * @access protected
+ * @return boolean
+ */
+ protected static function isShellSafe($string)
+ {
+ // Future-proof
+ if (escapeshellcmd($string) !== $string
+ or !in_array(escapeshellarg($string), array("'$string'", "\"$string\""))
+ ) {
+ return false;
+ }
+
+ $length = strlen($string);
+
+ for ($i = 0; $i < $length; $i++) {
+ $c = $string[$i];
+
+ // All other characters have a special meaning in at least one common shell, including = and +.
+ // Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here.
+ // Note that this does permit non-Latin alphanumeric characters based on the current locale.
+ if (!ctype_alnum($c) && strpos('@_-.', $c) === false) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Check whether a file path is of a permitted type.
+ * Used to reject URLs and phar files from functions that access local file paths,
+ * such as addAttachment.
+ * @param string $path A relative or absolute path to a file.
+ * @return bool
+ */
+ protected static function isPermittedPath($path)
+ {
+ //Matches scheme definition from https://tools.ietf.org/html/rfc3986#section-3.1
+ return !preg_match('#^[a-z][a-z\d+.-]*://#i', $path);
+ }
+
+ /**
+ * Check whether a file path is safe, accessible, and readable.
+ *
+ * @param string $path A relative or absolute path to a file
+ *
+ * @return bool
+ */
+ protected static function fileIsAccessible($path)
+ {
+ if (!self::isPermittedPath($path)) {
+ return false;
+ }
+ $readable = file_exists($path);
+ //If not a UNC path (expected to start with \\), check read permission, see #2069
+ if (strpos($path, '\\\\') !== 0) {
+ $readable = $readable && is_readable($path);
+ }
+ return $readable;
+ }
+
/**
* Send mail using the PHP mail() function.
* @param string $header The message headers
@@ -1085,43 +1504,42 @@ protected function sendmailSend($header, $body)
* @link http://www.php.net/manual/en/book.mail.php
* @throws phpmailerException
* @access protected
- * @return bool
+ * @return boolean
*/
protected function mailSend($header, $body)
{
$toArr = array();
- foreach ($this->to as $t) {
- $toArr[] = $this->addrFormat($t);
+ foreach ($this->to as $toaddr) {
+ $toArr[] = $this->addrFormat($toaddr);
}
$to = implode(', ', $toArr);
- if (empty($this->Sender)) {
- $params = " ";
- } else {
- $params = sprintf("-f%s", $this->Sender);
+ $params = null;
+ //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
+ if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
+ // CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
+ if (self::isShellSafe($this->Sender)) {
+ $params = sprintf('-f%s', $this->Sender);
+ }
}
- if ($this->Sender != '' and !ini_get('safe_mode')) {
+ if (!empty($this->Sender) and !ini_get('safe_mode') and $this->validateAddress($this->Sender)) {
$old_from = ini_get('sendmail_from');
ini_set('sendmail_from', $this->Sender);
}
- $rt = false;
- if ($this->SingleTo === true && count($toArr) > 1) {
- foreach ($toArr as $val) {
- $rt = $this->mailPassthru($val, $this->Subject, $body, $header, $params);
- // implement call back function if it exists
- $isSent = ($rt == 1) ? 1 : 0;
- $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
+ $result = false;
+ if ($this->SingleTo and count($toArr) > 1) {
+ foreach ($toArr as $toAddr) {
+ $result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params);
+ $this->doCallback($result, array($toAddr), $this->cc, $this->bcc, $this->Subject, $body, $this->From);
}
} else {
- $rt = $this->mailPassthru($to, $this->Subject, $body, $header, $params);
- // implement call back function if it exists
- $isSent = ($rt == 1) ? 1 : 0;
- $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
+ $result = $this->mailPassthru($to, $this->Subject, $body, $header, $params);
+ $this->doCallback($result, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
}
if (isset($old_from)) {
ini_set('sendmail_from', $old_from);
}
- if (!$rt) {
+ if (!$result) {
throw new phpmailerException($this->lang('instantiate'), self::STOP_CRITICAL);
}
return true;
@@ -1135,7 +1553,7 @@ protected function mailSend($header, $body)
public function getSMTPInstance()
{
if (!is_object($this->smtp)) {
- require_once 'class-smtp.php';
+ require_once( 'class-smtp.php' );
$this->smtp = new SMTP;
}
return $this->smtp;
@@ -1151,62 +1569,59 @@ public function getSMTPInstance()
* @throws phpmailerException
* @uses SMTP
* @access protected
- * @return bool
+ * @return boolean
*/
protected function smtpSend($header, $body)
{
$bad_rcpt = array();
-
- if (!$this->smtpConnect()) {
+ if (!$this->smtpConnect($this->SMTPOptions)) {
throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
}
- $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender;
+ if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
+ $smtp_from = $this->Sender;
+ } else {
+ $smtp_from = $this->From;
+ }
if (!$this->smtp->mail($smtp_from)) {
$this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError()));
throw new phpmailerException($this->ErrorInfo, self::STOP_CRITICAL);
}
- // Attempt to send attach all recipients
- foreach ($this->to as $to) {
- if (!$this->smtp->recipient($to[0])) {
- $bad_rcpt[] = $to[0];
- $isSent = 0;
- } else {
- $isSent = 1;
- }
- $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body, $this->From);
- }
- foreach ($this->cc as $cc) {
- if (!$this->smtp->recipient($cc[0])) {
- $bad_rcpt[] = $cc[0];
- $isSent = 0;
- } else {
- $isSent = 1;
- }
- $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body, $this->From);
- }
- foreach ($this->bcc as $bcc) {
- if (!$this->smtp->recipient($bcc[0])) {
- $bad_rcpt[] = $bcc[0];
- $isSent = 0;
- } else {
- $isSent = 1;
+ // Attempt to send to all recipients
+ foreach (array($this->to, $this->cc, $this->bcc) as $togroup) {
+ foreach ($togroup as $to) {
+ if (!$this->smtp->recipient($to[0])) {
+ $error = $this->smtp->getError();
+ $bad_rcpt[] = array('to' => $to[0], 'error' => $error['detail']);
+ $isSent = false;
+ } else {
+ $isSent = true;
+ }
+ $this->doCallback($isSent, array($to[0]), array(), array(), $this->Subject, $body, $this->From);
}
- $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body, $this->From);
}
- if (count($bad_rcpt) > 0) { //Create error message for any bad addresses
- throw new phpmailerException($this->lang('recipients_failed') . implode(', ', $bad_rcpt));
- }
- if (!$this->smtp->data($header . $body)) {
+ // Only send the DATA command if we have viable recipients
+ if ((count($this->all_recipients) > count($bad_rcpt)) and !$this->smtp->data($header . $body)) {
throw new phpmailerException($this->lang('data_not_accepted'), self::STOP_CRITICAL);
}
- if ($this->SMTPKeepAlive == true) {
+ if ($this->SMTPKeepAlive) {
$this->smtp->reset();
} else {
$this->smtp->quit();
$this->smtp->close();
}
+ //Create error message for any bad addresses
+ if (count($bad_rcpt) > 0) {
+ $errstr = '';
+ foreach ($bad_rcpt as $bad) {
+ $errstr .= $bad['to'] . ': ' . $bad['error'];
+ }
+ throw new phpmailerException(
+ $this->lang('recipients_failed') . $errstr,
+ self::STOP_CONTINUE
+ );
+ }
return true;
}
@@ -1217,15 +1632,20 @@ protected function smtpSend($header, $body)
* @uses SMTP
* @access public
* @throws phpmailerException
- * @return bool
+ * @return boolean
*/
- public function smtpConnect($options = array())
+ public function smtpConnect($options = null)
{
if (is_null($this->smtp)) {
$this->smtp = $this->getSMTPInstance();
}
- //Already connected?
+ //If no options are provided, use whatever is set in the instance
+ if (is_null($options)) {
+ $options = $this->SMTPOptions;
+ }
+
+ // Already connected?
if ($this->smtp->connected()) {
return true;
}
@@ -1234,25 +1654,47 @@ public function smtpConnect($options = array())
$this->smtp->setDebugLevel($this->SMTPDebug);
$this->smtp->setDebugOutput($this->Debugoutput);
$this->smtp->setVerp($this->do_verp);
- $tls = ($this->SMTPSecure == 'tls');
- $ssl = ($this->SMTPSecure == 'ssl');
$hosts = explode(';', $this->Host);
$lastexception = null;
foreach ($hosts as $hostentry) {
$hostinfo = array();
- $host = $hostentry;
+ if (!preg_match('/^((ssl|tls):\/\/)*([a-zA-Z0-9\.-]*):?([0-9]*)$/', trim($hostentry), $hostinfo)) {
+ // Not a valid host entry
+ continue;
+ }
+ // $hostinfo[2]: optional ssl or tls prefix
+ // $hostinfo[3]: the hostname
+ // $hostinfo[4]: optional port number
+ // The host string prefix can temporarily override the current setting for SMTPSecure
+ // If it's not specified, the default value is used
+ $prefix = '';
+ $secure = $this->SMTPSecure;
+ $tls = ($this->SMTPSecure == 'tls');
+ if ('ssl' == $hostinfo[2] or ('' == $hostinfo[2] and 'ssl' == $this->SMTPSecure)) {
+ $prefix = 'ssl://';
+ $tls = false; // Can't have SSL and TLS at the same time
+ $secure = 'ssl';
+ } elseif ($hostinfo[2] == 'tls') {
+ $tls = true;
+ // tls doesn't use a prefix
+ $secure = 'tls';
+ }
+ //Do we need the OpenSSL extension?
+ $sslext = defined('OPENSSL_ALGO_SHA1');
+ if ('tls' === $secure or 'ssl' === $secure) {
+ //Check for an OpenSSL constant rather than using extension_loaded, which is sometimes disabled
+ if (!$sslext) {
+ throw new phpmailerException($this->lang('extension_missing').'openssl', self::STOP_CRITICAL);
+ }
+ }
+ $host = $hostinfo[3];
$port = $this->Port;
- if (preg_match(
- '/^(.+):([0-9]+)$/',
- $hostentry,
- $hostinfo
- )
- ) { //If $hostentry contains 'address:port', override default
- $host = $hostinfo[1];
- $port = $hostinfo[2];
+ $tport = (integer)$hostinfo[4];
+ if ($tport > 0 and $tport < 65536) {
+ $port = $tport;
}
- if ($this->smtp->connect(($ssl ? 'ssl://' : '') . $host, $port, $this->Timeout, $options)) {
+ if ($this->smtp->connect($prefix . $host, $port, $this->Timeout, $options)) {
try {
if ($this->Helo) {
$hello = $this->Helo;
@@ -1260,12 +1702,19 @@ public function smtpConnect($options = array())
$hello = $this->serverHostname();
}
$this->smtp->hello($hello);
-
+ //Automatically enable TLS encryption if:
+ // * it's not disabled
+ // * we have openssl extension
+ // * we are not already using SSL
+ // * the server offers STARTTLS
+ if ($this->SMTPAutoTLS and $sslext and $secure != 'ssl' and $this->smtp->getServerExt('STARTTLS')) {
+ $tls = true;
+ }
if ($tls) {
if (!$this->smtp->startTLS()) {
throw new phpmailerException($this->lang('connect_host'));
}
- //We must resend HELO after tls negotiation
+ // We must resend EHLO after TLS negotiation
$this->smtp->hello($hello);
}
if ($this->SMTPAuth) {
@@ -1281,16 +1730,17 @@ public function smtpConnect($options = array())
}
}
return true;
- } catch (phpmailerException $e) {
- $lastexception = $e;
- //We must have connected, but then failed TLS or Auth, so close connection nicely
+ } catch (phpmailerException $exc) {
+ $lastexception = $exc;
+ $this->edebug($exc->getMessage());
+ // We must have connected, but then failed TLS or Auth, so close connection nicely
$this->smtp->quit();
}
}
}
- //If we get here, all connection attempts have failed, so close connection hard
+ // If we get here, all connection attempts have failed, so close connection hard
$this->smtp->close();
- //As we've caught all exceptions, just report whatever the last one was
+ // As we've caught all exceptions, just report whatever the last one was
if ($this->exceptions and !is_null($lastexception)) {
throw $lastexception;
}
@@ -1303,7 +1753,7 @@ public function smtpConnect($options = array())
*/
public function smtpClose()
{
- if ($this->smtp !== null) {
+ if (is_a($this->smtp, 'SMTP')) {
if ($this->smtp->connected()) {
$this->smtp->quit();
$this->smtp->close();
@@ -1317,12 +1767,25 @@ public function smtpClose()
* The default language is English.
* @param string $langcode ISO 639-1 2-character language code (e.g. French is "fr")
* @param string $lang_path Path to the language file directory, with trailing separator (slash)
- * @return bool
+ * @return boolean
* @access public
*/
- public function setLanguage($langcode = 'en', $lang_path = 'language/')
+ public function setLanguage($langcode = 'en', $lang_path = '')
{
- //Define full set of translatable strings
+ // Backwards compatibility for renamed language codes
+ $renamed_langcodes = array(
+ 'br' => 'pt_br',
+ 'cz' => 'cs',
+ 'dk' => 'da',
+ 'no' => 'nb',
+ 'se' => 'sv',
+ );
+
+ if (isset($renamed_langcodes[$langcode])) {
+ $langcode = $renamed_langcodes[$langcode];
+ }
+
+ // Define full set of translatable strings in English
$PHPMAILER_LANG = array(
'authenticate' => 'SMTP Error: Could not authenticate.',
'connect_host' => 'SMTP Error: Could not connect to SMTP host.',
@@ -1334,23 +1797,39 @@ public function setLanguage($langcode = 'en', $lang_path = 'language/')
'file_open' => 'File Error: Could not open file: ',
'from_failed' => 'The following From address failed: ',
'instantiate' => 'Could not instantiate mail function.',
- 'invalid_address' => 'Invalid address',
+ 'invalid_address' => 'Invalid address: ',
'mailer_not_supported' => ' mailer is not supported.',
'provide_address' => 'You must provide at least one recipient email address.',
'recipients_failed' => 'SMTP Error: The following recipients failed: ',
'signing' => 'Signing Error: ',
'smtp_connect_failed' => 'SMTP connect() failed.',
'smtp_error' => 'SMTP server error: ',
- 'variable_set' => 'Cannot set or reset variable: '
+ 'variable_set' => 'Cannot set or reset variable: ',
+ 'extension_missing' => 'Extension missing: '
);
- //Overwrite language-specific strings.
- //This way we'll never have missing translations - no more "language string failed to load"!
- $l = true;
- if ($langcode != 'en') { //There is no English translation file
- $l = @include $lang_path . 'phpmailer.lang-' . $langcode . '.php';
+ if (empty($lang_path)) {
+ // Calculate an absolute path so it can work if CWD is not here
+ $lang_path = dirname(__FILE__). DIRECTORY_SEPARATOR . 'language'. DIRECTORY_SEPARATOR;
+ }
+ //Validate $langcode
+ if (!preg_match('/^[a-z]{2}(?:_[a-zA-Z]{2})?$/', $langcode)) {
+ $langcode = 'en';
+ }
+ $foundlang = true;
+ $lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
+ // There is no English translation file
+ if ($langcode != 'en') {
+ // Make sure language file path is readable
+ if (!self::fileIsAccessible($lang_file)) {
+ $foundlang = false;
+ } else {
+ // Overwrite language-specific strings.
+ // This way we'll never have missing translation keys.
+ $foundlang = include $lang_file;
+ }
}
$this->language = $PHPMAILER_LANG;
- return ($l == true); //Returns false if language not found
+ return (boolean)$foundlang; // Returns false if language not found
}
/**
@@ -1375,8 +1854,8 @@ public function getTranslations()
public function addrAppend($type, $addr)
{
$addresses = array();
- foreach ($addr as $a) {
- $addresses[] = $this->addrFormat($a);
+ foreach ($addr as $address) {
+ $addresses[] = $this->addrFormat($address);
}
return $type . ': ' . implode(', ', $addresses) . $this->LE;
}
@@ -1393,9 +1872,9 @@ public function addrFormat($addr)
if (empty($addr[1])) { // No name provided
return $this->secureHeader($addr[0]);
} else {
- return $this->encodeHeader($this->secureHeader($addr[1]), 'phrase') . " <" . $this->secureHeader(
+ return $this->encodeHeader($this->secureHeader($addr[1]), 'phrase') . ' <' . $this->secureHeader(
$addr[0]
- ) . ">";
+ ) . '>';
}
}
@@ -1406,47 +1885,54 @@ public function addrFormat($addr)
* Original written by philippe.
* @param string $message The message to wrap
* @param integer $length The line length to wrap to
- * @param bool $qp_mode Whether to run in Quoted-Printable mode
+ * @param boolean $qp_mode Whether to run in Quoted-Printable mode
* @access public
* @return string
*/
public function wrapText($message, $length, $qp_mode = false)
{
- $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE;
+ if ($qp_mode) {
+ $soft_break = sprintf(' =%s', $this->LE);
+ } else {
+ $soft_break = $this->LE;
+ }
// If utf-8 encoding is used, we will need to make sure we don't
// split multibyte characters when we wrap
- $is_utf8 = (strtolower($this->CharSet) == "utf-8");
+ $is_utf8 = (strtolower($this->CharSet) == 'utf-8');
$lelen = strlen($this->LE);
$crlflen = strlen(self::CRLF);
$message = $this->fixEOL($message);
+ //Remove a trailing line break
if (substr($message, -$lelen) == $this->LE) {
$message = substr($message, 0, -$lelen);
}
- $line = explode($this->LE, $message); // Magic. We know fixEOL uses $LE
+ //Split message into lines
+ $lines = explode($this->LE, $message);
+ //Message will be rebuilt in here
$message = '';
- for ($i = 0; $i < count($line); $i++) {
- $line_part = explode(' ', $line[$i]);
+ foreach ($lines as $line) {
+ $words = explode(' ', $line);
$buf = '';
- for ($e = 0; $e < count($line_part); $e++) {
- $word = $line_part[$e];
+ $firstword = true;
+ foreach ($words as $word) {
if ($qp_mode and (strlen($word) > $length)) {
$space_left = $length - strlen($buf) - $crlflen;
- if ($e != 0) {
+ if (!$firstword) {
if ($space_left > 20) {
$len = $space_left;
if ($is_utf8) {
$len = $this->utf8CharBoundary($word, $len);
- } elseif (substr($word, $len - 1, 1) == "=") {
+ } elseif (substr($word, $len - 1, 1) == '=') {
$len--;
- } elseif (substr($word, $len - 2, 1) == "=") {
+ } elseif (substr($word, $len - 2, 1) == '=') {
$len -= 2;
}
$part = substr($word, 0, $len);
$word = substr($word, $len);
$buf .= ' ' . $part;
- $message .= $buf . sprintf("=%s", self::CRLF);
+ $message .= $buf . sprintf('=%s', self::CRLF);
} else {
$message .= $buf . $soft_break;
}
@@ -1459,29 +1945,33 @@ public function wrapText($message, $length, $qp_mode = false)
$len = $length;
if ($is_utf8) {
$len = $this->utf8CharBoundary($word, $len);
- } elseif (substr($word, $len - 1, 1) == "=") {
+ } elseif (substr($word, $len - 1, 1) == '=') {
$len--;
- } elseif (substr($word, $len - 2, 1) == "=") {
+ } elseif (substr($word, $len - 2, 1) == '=') {
$len -= 2;
}
$part = substr($word, 0, $len);
$word = substr($word, $len);
if (strlen($word) > 0) {
- $message .= $part . sprintf("=%s", self::CRLF);
+ $message .= $part . sprintf('=%s', self::CRLF);
} else {
$buf = $part;
}
}
} else {
$buf_o = $buf;
- $buf .= ($e == 0) ? $word : (' ' . $word);
+ if (!$firstword) {
+ $buf .= ' ';
+ }
+ $buf .= $word;
if (strlen($buf) > $length and $buf_o != '') {
$message .= $buf_o . $soft_break;
$buf = $word;
}
}
+ $firstword = false;
}
$message .= $buf . self::CRLF;
}
@@ -1491,12 +1981,12 @@ public function wrapText($message, $length, $qp_mode = false)
/**
* Find the last character boundary prior to $maxLength in a utf-8
- * quoted (printable) encoded string.
+ * quoted-printable encoded string.
* Original written by Colin Brown.
* @access public
* @param string $encodedText utf-8 QP text
- * @param int $maxLength find last character boundary prior to this length
- * @return int
+ * @param integer $maxLength Find the last character boundary prior to this length
+ * @return integer
*/
public function utf8CharBoundary($encodedText, $maxLength)
{
@@ -1504,23 +1994,27 @@ public function utf8CharBoundary($encodedText, $maxLength)
$lookBack = 3;
while (!$foundSplitPos) {
$lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
- $encodedCharPos = strpos($lastChunk, "=");
- if ($encodedCharPos !== false) {
+ $encodedCharPos = strpos($lastChunk, '=');
+ if (false !== $encodedCharPos) {
// Found start of encoded character byte within $lookBack block.
// Check the encoded byte value (the 2 chars after the '=')
$hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2);
$dec = hexdec($hex);
- if ($dec < 128) { // Single byte character.
+ if ($dec < 128) {
+ // Single byte character.
// If the encoded char was found at pos 0, it will fit
// otherwise reduce maxLength to start of the encoded char
- $maxLength = ($encodedCharPos == 0) ? $maxLength :
- $maxLength - ($lookBack - $encodedCharPos);
+ if ($encodedCharPos > 0) {
+ $maxLength = $maxLength - ($lookBack - $encodedCharPos);
+ }
$foundSplitPos = true;
- } elseif ($dec >= 192) { // First byte of a multi byte character
+ } elseif ($dec >= 192) {
+ // First byte of a multi byte character
// Reduce maxLength to split at start of character
$maxLength = $maxLength - ($lookBack - $encodedCharPos);
$foundSplitPos = true;
- } elseif ($dec < 192) { // Middle byte of a multi byte character, look further back
+ } elseif ($dec < 192) {
+ // Middle byte of a multi byte character, look further back
$lookBack += 3;
}
} else {
@@ -1531,9 +2025,11 @@ public function utf8CharBoundary($encodedText, $maxLength)
return $maxLength;
}
-
/**
- * Set the body wrapping.
+ * Apply word wrapping to the message body.
+ * Wraps the message body to the number of chars set in the WordWrap property.
+ * You should only do this to plain-text bodies as wrapping HTML tags may break them.
+ * This is called automatically by createBody(), so you don't need to call it yourself.
* @access public
* @return void
*/
@@ -1565,38 +2061,25 @@ public function createHeader()
{
$result = '';
- // Set the boundaries
- $uniq_id = md5(uniqid(time()));
- $this->boundary[1] = 'b1_' . $uniq_id;
- $this->boundary[2] = 'b2_' . $uniq_id;
- $this->boundary[3] = 'b3_' . $uniq_id;
-
if ($this->MessageDate == '') {
- $result .= $this->headerLine('Date', self::rfcDate());
- } else {
- $result .= $this->headerLine('Date', $this->MessageDate);
- }
-
- if ($this->ReturnPath) {
- $result .= $this->headerLine('Return-Path', '<' . trim($this->ReturnPath) . '>');
- } elseif ($this->Sender == '') {
- $result .= $this->headerLine('Return-Path', '<' . trim($this->From) . '>');
- } else {
- $result .= $this->headerLine('Return-Path', '<' . trim($this->Sender) . '>');
+ $this->MessageDate = self::rfcDate();
}
+ $result .= $this->headerLine('Date', $this->MessageDate);
// To be created automatically by mail()
- if ($this->Mailer != 'mail') {
- if ($this->SingleTo === true) {
- foreach ($this->to as $t) {
- $this->SingleToArray[] = $this->addrFormat($t);
+ if ($this->SingleTo) {
+ if ($this->Mailer != 'mail') {
+ foreach ($this->to as $toaddr) {
+ $this->SingleToArray[] = $this->addrFormat($toaddr);
}
- } else {
- if (count($this->to) > 0) {
+ }
+ } else {
+ if (count($this->to) > 0) {
+ if ($this->Mailer != 'mail') {
$result .= $this->addrAppend('To', $this->to);
- } elseif (count($this->cc) == 0) {
- $result .= $this->headerLine('To', 'undisclosed-recipients:;');
}
+ } elseif (count($this->cc) == 0) {
+ $result .= $this->headerLine('To', 'undisclosed-recipients:;');
}
}
@@ -1608,7 +2091,11 @@ public function createHeader()
}
// sendmail and mail() extract Bcc from the header before sending
- if ((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) {
+ if ((
+ $this->Mailer == 'sendmail' or $this->Mailer == 'qmail' or $this->Mailer == 'mail'
+ )
+ and count($this->bcc) > 0
+ ) {
$result .= $this->addrAppend('Bcc', $this->bcc);
}
@@ -1621,17 +2108,21 @@ public function createHeader()
$result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
}
- if ($this->MessageID != '') {
+ // Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
+ // https://tools.ietf.org/html/rfc5322#section-3.6.4
+ if ('' != $this->MessageID and preg_match('/^<.*@.*>$/', $this->MessageID)) {
$this->lastMessageID = $this->MessageID;
} else {
- $this->lastMessageID = sprintf("<%s@%s>", $uniq_id, $this->ServerHostname());
+ $this->lastMessageID = sprintf('<%s@%s>', $this->uniqueid, $this->serverHostname());
+ }
+ $result .= $this->headerLine('Message-ID', $this->lastMessageID);
+ if (!is_null($this->Priority)) {
+ $result .= $this->headerLine('X-Priority', $this->Priority);
}
- $result .= $this->HeaderLine('Message-ID', $this->lastMessageID);
- $result .= $this->headerLine('X-Priority', $this->Priority);
if ($this->XMailer == '') {
$result .= $this->headerLine(
'X-Mailer',
- 'PHPMailer ' . $this->Version . ' (https://github.com/PHPMailer/PHPMailer/)'
+ 'PHPMailer ' . $this->Version . ' (https://github.com/PHPMailer/PHPMailer)'
);
} else {
$myXmailer = trim($this->XMailer);
@@ -1641,14 +2132,14 @@ public function createHeader()
}
if ($this->ConfirmReadingTo != '') {
- $result .= $this->headerLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
+ $result .= $this->headerLine('Disposition-Notification-To', '<' . $this->ConfirmReadingTo . '>');
}
// Add custom headers
- for ($index = 0; $index < count($this->CustomHeader); $index++) {
+ foreach ($this->CustomHeader as $header) {
$result .= $this->headerLine(
- trim($this->CustomHeader[$index][0]),
- $this->encodeHeader(trim($this->CustomHeader[$index][1]))
+ trim($header[0]),
+ $this->encodeHeader(trim($header[1]))
);
}
if (!$this->sign_key_file) {
@@ -1667,6 +2158,7 @@ public function createHeader()
public function getMailMIME()
{
$result = '';
+ $ismultipart = true;
switch ($this->message_type) {
case 'inline':
$result .= $this->headerLine('Content-Type', 'multipart/related;');
@@ -1687,11 +2179,20 @@ public function getMailMIME()
default:
// Catches case 'plain': and case '':
$result .= $this->textLine('Content-Type: ' . $this->ContentType . '; charset=' . $this->CharSet);
+ $ismultipart = false;
break;
}
- //RFC1341 part 5 says 7bit is assumed if not specified
+ // RFC1341 part 5 says 7bit is assumed if not specified
if ($this->Encoding != '7bit') {
- $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
+ // RFC 2045 section 6.4 says multipart MIME parts may only use 7bit, 8bit or binary CTE
+ if ($ismultipart) {
+ if ($this->Encoding == '8bit') {
+ $result .= $this->headerLine('Content-Transfer-Encoding', '8bit');
+ }
+ // The only remaining alternatives are quoted-printable and base64, which are both 7bit compatible
+ } else {
+ $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
+ }
}
if ($this->Mailer != 'mail') {
@@ -1704,16 +2205,23 @@ public function getMailMIME()
/**
* Returns the whole MIME message.
* Includes complete headers and body.
- * Only valid post PreSend().
- * @see PHPMailer::PreSend()
+ * Only valid post preSend().
+ * @see PHPMailer::preSend()
* @access public
* @return string
*/
public function getSentMIMEMessage()
{
- return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody;
+ return rtrim($this->MIMEHeader . $this->mailHeader, "\n\r") . self::CRLF . self::CRLF . $this->MIMEBody;
}
+ /**
+ * Create unique ID
+ * @return string
+ */
+ protected function generateId() {
+ return md5(uniqid(time()));
+ }
/**
* Assemble the message body.
@@ -1725,6 +2233,11 @@ public function getSentMIMEMessage()
public function createBody()
{
$body = '';
+ //Create unique IDs and preset boundaries
+ $this->uniqueid = $this->generateId();
+ $this->boundary[1] = 'b1_' . $this->uniqueid;
+ $this->boundary[2] = 'b2_' . $this->uniqueid;
+ $this->boundary[3] = 'b3_' . $this->uniqueid;
if ($this->sign_key_file) {
$body .= $this->getMailMIME() . $this->LE;
@@ -1732,37 +2245,70 @@ public function createBody()
$this->setWordWrap();
+ $bodyEncoding = $this->Encoding;
+ $bodyCharSet = $this->CharSet;
+ //Can we do a 7-bit downgrade?
+ if ($bodyEncoding == '8bit' and !$this->has8bitChars($this->Body)) {
+ $bodyEncoding = '7bit';
+ //All ISO 8859, Windows codepage and UTF-8 charsets are ascii compatible up to 7-bit
+ $bodyCharSet = 'us-ascii';
+ }
+ //If lines are too long, and we're not already using an encoding that will shorten them,
+ //change to quoted-printable transfer encoding for the body part only
+ if ('base64' != $this->Encoding and self::hasLineLongerThanMax($this->Body)) {
+ $bodyEncoding = 'quoted-printable';
+ }
+
+ $altBodyEncoding = $this->Encoding;
+ $altBodyCharSet = $this->CharSet;
+ //Can we do a 7-bit downgrade?
+ if ($altBodyEncoding == '8bit' and !$this->has8bitChars($this->AltBody)) {
+ $altBodyEncoding = '7bit';
+ //All ISO 8859, Windows codepage and UTF-8 charsets are ascii compatible up to 7-bit
+ $altBodyCharSet = 'us-ascii';
+ }
+ //If lines are too long, and we're not already using an encoding that will shorten them,
+ //change to quoted-printable transfer encoding for the alt body part only
+ if ('base64' != $altBodyEncoding and self::hasLineLongerThanMax($this->AltBody)) {
+ $altBodyEncoding = 'quoted-printable';
+ }
+ //Use this as a preamble in all multipart message types
+ $mimepre = "This is a multi-part message in MIME format." . $this->LE . $this->LE;
switch ($this->message_type) {
case 'inline':
- $body .= $this->getBoundary($this->boundary[1], '', '', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $mimepre;
+ $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->attachAll('inline', $this->boundary[1]);
break;
case 'attach':
- $body .= $this->getBoundary($this->boundary[1], '', '', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $mimepre;
+ $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->attachAll('attachment', $this->boundary[1]);
break;
case 'inline_attach':
+ $body .= $mimepre;
$body .= $this->textLine('--' . $this->boundary[1]);
$body .= $this->headerLine('Content-Type', 'multipart/related;');
$body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"');
$body .= $this->LE;
- $body .= $this->getBoundary($this->boundary[2], '', '', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, '', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->attachAll('inline', $this->boundary[2]);
$body .= $this->LE;
$body .= $this->attachAll('attachment', $this->boundary[1]);
break;
case 'alt':
- $body .= $this->getBoundary($this->boundary[1], '', 'text/plain', '');
- $body .= $this->encodeString($this->AltBody, $this->Encoding);
+ $body .= $mimepre;
+ $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, 'text/plain', $altBodyEncoding);
+ $body .= $this->encodeString($this->AltBody, $altBodyEncoding);
$body .= $this->LE . $this->LE;
- $body .= $this->getBoundary($this->boundary[1], '', 'text/html', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, 'text/html', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
if (!empty($this->Ical)) {
$body .= $this->getBoundary($this->boundary[1], '', 'text/calendar; method=REQUEST', '');
@@ -1772,49 +2318,52 @@ public function createBody()
$body .= $this->endBoundary($this->boundary[1]);
break;
case 'alt_inline':
- $body .= $this->getBoundary($this->boundary[1], '', 'text/plain', '');
- $body .= $this->encodeString($this->AltBody, $this->Encoding);
+ $body .= $mimepre;
+ $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, 'text/plain', $altBodyEncoding);
+ $body .= $this->encodeString($this->AltBody, $altBodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->textLine('--' . $this->boundary[1]);
$body .= $this->headerLine('Content-Type', 'multipart/related;');
$body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"');
$body .= $this->LE;
- $body .= $this->getBoundary($this->boundary[2], '', 'text/html', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, 'text/html', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->attachAll('inline', $this->boundary[2]);
$body .= $this->LE;
$body .= $this->endBoundary($this->boundary[1]);
break;
case 'alt_attach':
+ $body .= $mimepre;
$body .= $this->textLine('--' . $this->boundary[1]);
$body .= $this->headerLine('Content-Type', 'multipart/alternative;');
$body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"');
$body .= $this->LE;
- $body .= $this->getBoundary($this->boundary[2], '', 'text/plain', '');
- $body .= $this->encodeString($this->AltBody, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, 'text/plain', $altBodyEncoding);
+ $body .= $this->encodeString($this->AltBody, $altBodyEncoding);
$body .= $this->LE . $this->LE;
- $body .= $this->getBoundary($this->boundary[2], '', 'text/html', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, 'text/html', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->endBoundary($this->boundary[2]);
$body .= $this->LE;
$body .= $this->attachAll('attachment', $this->boundary[1]);
break;
case 'alt_inline_attach':
+ $body .= $mimepre;
$body .= $this->textLine('--' . $this->boundary[1]);
$body .= $this->headerLine('Content-Type', 'multipart/alternative;');
$body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"');
$body .= $this->LE;
- $body .= $this->getBoundary($this->boundary[2], '', 'text/plain', '');
- $body .= $this->encodeString($this->AltBody, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, 'text/plain', $altBodyEncoding);
+ $body .= $this->encodeString($this->AltBody, $altBodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->textLine('--' . $this->boundary[2]);
$body .= $this->headerLine('Content-Type', 'multipart/related;');
$body .= $this->textLine("\tboundary=\"" . $this->boundary[3] . '"');
$body .= $this->LE;
- $body .= $this->getBoundary($this->boundary[3], '', 'text/html', '');
- $body .= $this->encodeString($this->Body, $this->Encoding);
+ $body .= $this->getBoundary($this->boundary[3], $bodyCharSet, 'text/html', $bodyEncoding);
+ $body .= $this->encodeString($this->Body, $bodyEncoding);
$body .= $this->LE . $this->LE;
$body .= $this->attachAll('inline', $this->boundary[3]);
$body .= $this->LE;
@@ -1823,7 +2372,9 @@ public function createBody()
$body .= $this->attachAll('attachment', $this->boundary[1]);
break;
default:
- // catch case 'plain' and case ''
+ // Catch case 'plain' and case '', applies to simple `text/plain` and `text/html` body content types
+ //Reset the `Encoding` property in case we changed it for line length reasons
+ $this->Encoding = $bodyEncoding;
$body .= $this->encodeString($this->Body, $this->Encoding);
break;
}
@@ -1833,31 +2384,51 @@ public function createBody()
} elseif ($this->sign_key_file) {
try {
if (!defined('PKCS7_TEXT')) {
- throw new phpmailerException($this->lang('signing') . ' OpenSSL extension missing.');
+ throw new phpmailerException($this->lang('extension_missing') . 'openssl');
}
+ // @TODO would be nice to use php://temp streams here, but need to wrap for PHP < 5.1
$file = tempnam(sys_get_temp_dir(), 'mail');
- file_put_contents($file, $body); //TODO check this worked
+ if (false === file_put_contents($file, $body)) {
+ throw new phpmailerException($this->lang('signing') . ' Could not write temp file');
+ }
$signed = tempnam(sys_get_temp_dir(), 'signed');
- if (@openssl_pkcs7_sign(
- $file,
- $signed,
- 'file://' . realpath($this->sign_cert_file),
- array('file://' . realpath($this->sign_key_file), $this->sign_key_pass),
- null
- )
- ) {
+ //Workaround for PHP bug https://bugs.php.net/bug.php?id=69197
+ if (empty($this->sign_extracerts_file)) {
+ $sign = @openssl_pkcs7_sign(
+ $file,
+ $signed,
+ 'file://' . realpath($this->sign_cert_file),
+ array('file://' . realpath($this->sign_key_file), $this->sign_key_pass),
+ null
+ );
+ } else {
+ $sign = @openssl_pkcs7_sign(
+ $file,
+ $signed,
+ 'file://' . realpath($this->sign_cert_file),
+ array('file://' . realpath($this->sign_key_file), $this->sign_key_pass),
+ null,
+ PKCS7_DETACHED,
+ $this->sign_extracerts_file
+ );
+ }
+ if ($sign) {
@unlink($file);
$body = file_get_contents($signed);
@unlink($signed);
+ //The message returned by openssl contains both headers and body, so need to split them up
+ $parts = explode("\n\n", $body, 2);
+ $this->MIMEHeader .= $parts[0] . $this->LE . $this->LE;
+ $body = $parts[1];
} else {
@unlink($file);
@unlink($signed);
throw new phpmailerException($this->lang('signing') . openssl_error_string());
}
- } catch (phpmailerException $e) {
+ } catch (phpmailerException $exc) {
$body = '';
if ($this->exceptions) {
- throw $e;
+ throw $exc;
}
}
}
@@ -1886,9 +2457,12 @@ protected function getBoundary($boundary, $charSet, $contentType, $encoding)
$encoding = $this->Encoding;
}
$result .= $this->textLine('--' . $boundary);
- $result .= sprintf("Content-Type: %s; charset=%s", $contentType, $charSet);
+ $result .= sprintf('Content-Type: %s; charset=%s', $contentType, $charSet);
$result .= $this->LE;
- $result .= $this->headerLine('Content-Transfer-Encoding', $encoding);
+ // RFC1341 part 5 says 7bit is assumed if not specified
+ if ($encoding != '7bit') {
+ $result .= $this->headerLine('Content-Transfer-Encoding', $encoding);
+ }
$result .= $this->LE;
return $result;
@@ -1907,26 +2481,26 @@ protected function endBoundary($boundary)
/**
* Set the message type.
- * PHPMailer only supports some preset message types,
- * not arbitrary MIME structures.
+ * PHPMailer only supports some preset message types, not arbitrary MIME structures.
* @access protected
* @return void
*/
protected function setMessageType()
{
- $this->message_type = array();
+ $type = array();
if ($this->alternativeExists()) {
- $this->message_type[] = "alt";
+ $type[] = 'alt';
}
if ($this->inlineImageExists()) {
- $this->message_type[] = "inline";
+ $type[] = 'inline';
}
if ($this->attachmentExists()) {
- $this->message_type[] = "attach";
+ $type[] = 'attach';
}
- $this->message_type = implode("_", $this->message_type);
- if ($this->message_type == "") {
- $this->message_type = "plain";
+ $this->message_type = implode('_', $type);
+ if ($this->message_type == '') {
+ //The 'plain' message_type refers to the message having a single body element, not that it is plain-text
+ $this->message_type = 'plain';
}
}
@@ -1955,23 +2529,26 @@ public function textLine($value)
/**
* Add an attachment from a path on the filesystem.
+ * Never use a user-supplied path to a file!
* Returns false if the file could not be found or read.
+ * Explicitly *does not* support passing URLs; PHPMailer is not an HTTP client.
+ * If you need to do that, fetch the resource yourself and pass it in via a local file or string.
* @param string $path Path to the attachment.
* @param string $name Overrides the attachment name.
* @param string $encoding File encoding (see $Encoding).
* @param string $type File extension (MIME) type.
* @param string $disposition Disposition to use
* @throws phpmailerException
- * @return bool
+ * @return boolean
*/
public function addAttachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment')
{
try {
- if (!@is_file($path)) {
+ if (!self::fileIsAccessible($path)) {
throw new phpmailerException($this->lang('file_access') . $path, self::STOP_CONTINUE);
}
- //If a MIME type is not specified, try to work it out from the file name
+ // If a MIME type is not specified, try to work it out from the file name
if ($type == '') {
$type = self::filenameToType($path);
}
@@ -1992,12 +2569,12 @@ public function addAttachment($path, $name = '', $encoding = 'base64', $type = '
7 => 0
);
- } catch (phpmailerException $e) {
- $this->setError($e->getMessage());
+ } catch (phpmailerException $exc) {
+ $this->setError($exc->getMessage());
+ $this->edebug($exc->getMessage());
if ($this->exceptions) {
- throw $e;
+ throw $exc;
}
- $this->edebug($e->getMessage() . "\n");
return false;
}
return true;
@@ -2051,22 +2628,34 @@ protected function attachAll($disposition_type, $boundary)
$type = $attachment[4];
$disposition = $attachment[6];
$cid = $attachment[7];
- if ($disposition == 'inline' && isset($cidUniq[$cid])) {
+ if ($disposition == 'inline' && array_key_exists($cid, $cidUniq)) {
continue;
}
$cidUniq[$cid] = true;
- $mime[] = sprintf("--%s%s", $boundary, $this->LE);
- $mime[] = sprintf(
- "Content-Type: %s; name=\"%s\"%s",
- $type,
- $this->encodeHeader($this->secureHeader($name)),
- $this->LE
- );
- $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
+ $mime[] = sprintf('--%s%s', $boundary, $this->LE);
+ //Only include a filename property if we have one
+ if (!empty($name)) {
+ $mime[] = sprintf(
+ 'Content-Type: %s; name="%s"%s',
+ $type,
+ $this->encodeHeader($this->secureHeader($name)),
+ $this->LE
+ );
+ } else {
+ $mime[] = sprintf(
+ 'Content-Type: %s%s',
+ $type,
+ $this->LE
+ );
+ }
+ // RFC1341 part 5 says 7bit is assumed if not specified
+ if ($encoding != '7bit') {
+ $mime[] = sprintf('Content-Transfer-Encoding: %s%s', $encoding, $this->LE);
+ }
if ($disposition == 'inline') {
- $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
+ $mime[] = sprintf('Content-ID: <%s>%s', $cid, $this->LE);
}
// If a filename contains any of these chars, it should be quoted,
@@ -2074,20 +2663,29 @@ protected function attachAll($disposition_type, $boundary)
// Fixes a warning in IETF's msglint MIME checker
// Allow for bypassing the Content-Disposition header totally
if (!(empty($disposition))) {
- if (preg_match('/[ \(\)<>@,;:\\"\/\[\]\?=]/', $name)) {
+ $encoded_name = $this->encodeHeader($this->secureHeader($name));
+ if (preg_match('/[ \(\)<>@,;:\\"\/\[\]\?=]/', $encoded_name)) {
$mime[] = sprintf(
- "Content-Disposition: %s; filename=\"%s\"%s",
+ 'Content-Disposition: %s; filename="%s"%s',
$disposition,
- $this->encodeHeader($this->secureHeader($name)),
+ $encoded_name,
$this->LE . $this->LE
);
} else {
- $mime[] = sprintf(
- "Content-Disposition: %s; filename=%s%s",
- $disposition,
- $this->encodeHeader($this->secureHeader($name)),
- $this->LE . $this->LE
- );
+ if (!empty($encoded_name)) {
+ $mime[] = sprintf(
+ 'Content-Disposition: %s; filename=%s%s',
+ $disposition,
+ $encoded_name,
+ $this->LE . $this->LE
+ );
+ } else {
+ $mime[] = sprintf(
+ 'Content-Disposition: %s%s',
+ $disposition,
+ $this->LE . $this->LE
+ );
+ }
}
} else {
$mime[] = $this->LE;
@@ -2110,9 +2708,9 @@ protected function attachAll($disposition_type, $boundary)
}
}
- $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
+ $mime[] = sprintf('--%s--%s', $boundary, $this->LE);
- return implode("", $mime);
+ return implode('', $mime);
}
/**
@@ -2121,22 +2719,24 @@ protected function attachAll($disposition_type, $boundary)
* @param string $path The full path to the file
* @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
* @throws phpmailerException
- * @see EncodeFile(encodeFile
* @access protected
* @return string
*/
protected function encodeFile($path, $encoding = 'base64')
{
try {
- if (!is_readable($path)) {
+ if (!self::fileIsAccessible($path)) {
throw new phpmailerException($this->lang('file_open') . $path, self::STOP_CONTINUE);
}
$magic_quotes = get_magic_quotes_runtime();
if ($magic_quotes) {
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
- set_magic_quotes_runtime(0);
+ set_magic_quotes_runtime(false);
} else {
- ini_set('magic_quotes_runtime', 0);
+ //Doesn't exist in PHP 5.4, but we don't need to check because
+ //get_magic_quotes_runtime always returns false in 5.4+
+ //so it will never get here
+ ini_set('magic_quotes_runtime', false);
}
}
$file_buffer = file_get_contents($path);
@@ -2149,8 +2749,8 @@ protected function encodeFile($path, $encoding = 'base64')
}
}
return $file_buffer;
- } catch (Exception $e) {
- $this->setError($e->getMessage());
+ } catch (Exception $exc) {
+ $this->setError($exc->getMessage());
return '';
}
}
@@ -2173,7 +2773,7 @@ public function encodeString($str, $encoding = 'base64')
case '7bit':
case '8bit':
$encoded = $this->fixEOL($str);
- //Make sure it ends with a line break
+ // Make sure it ends with a line break
if (substr($encoded, -(strlen($this->LE))) != $this->LE) {
$encoded .= $this->LE;
}
@@ -2201,11 +2801,11 @@ public function encodeString($str, $encoding = 'base64')
*/
public function encodeHeader($str, $position = 'text')
{
- $x = 0;
+ $matchcount = 0;
switch (strtolower($position)) {
case 'phrase':
if (!preg_match('/[\200-\377]/', $str)) {
- // Can't use addslashes as we don't know what value has magic_quotes_sybase
+ // Can't use addslashes as we don't know the value of magic_quotes_sybase
$encoded = addcslashes($str, "\0..\37\177\\\"");
if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
return ($encoded);
@@ -2213,26 +2813,27 @@ public function encodeHeader($str, $position = 'text')
return ("\"$encoded\"");
}
}
- $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
+ $matchcount = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
break;
/** @noinspection PhpMissingBreakStatementInspection */
case 'comment':
- $x = preg_match_all('/[()"]/', $str, $matches);
+ $matchcount = preg_match_all('/[()"]/', $str, $matches);
// Intentional fall-through
case 'text':
default:
- $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
+ $matchcount += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
break;
}
- if ($x == 0) { //There are no chars that need encoding
+ //There are no chars that need encoding
+ if ($matchcount == 0) {
return ($str);
}
$maxlen = 75 - 7 - strlen($this->CharSet);
// Try to select the encoding which should produce the shortest output
- if ($x > strlen($str) / 3) {
- //More than a third of the content will need encoding, so B encoding will be most efficient
+ if ($matchcount > strlen($str) / 3) {
+ // More than a third of the content will need encoding, so B encoding will be most efficient
$encoding = 'B';
if (function_exists('mb_strlen') && $this->hasMultiBytes($str)) {
// Use a custom function which correctly encodes and wraps long
@@ -2250,7 +2851,7 @@ public function encodeHeader($str, $position = 'text')
$encoded = str_replace('=' . self::CRLF, "\n", trim($encoded));
}
- $encoded = preg_replace('/^(.*)$/m', " =?" . $this->CharSet . "?$encoding?\\1?=", $encoded);
+ $encoded = preg_replace('/^(.*)$/m', ' =?' . $this->CharSet . "?$encoding?\\1?=", $encoded);
$encoded = trim(str_replace("\n", $this->LE, $encoded));
return $encoded;
@@ -2260,7 +2861,7 @@ public function encodeHeader($str, $position = 'text')
* Check if a string contains multi-byte characters.
* @access public
* @param string $str multi-byte text to wrap encode
- * @return bool
+ * @return boolean
*/
public function hasMultiBytes($str)
{
@@ -2271,22 +2872,33 @@ public function hasMultiBytes($str)
}
}
+ /**
+ * Does a string contain any 8-bit chars (in any charset)?
+ * @param string $text
+ * @return boolean
+ */
+ public function has8bitChars($text)
+ {
+ return (boolean)preg_match('/[\x80-\xFF]/', $text);
+ }
+
/**
* Encode and wrap long multibyte strings for mail headers
* without breaking lines within a character.
- * Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php
+ * Adapted from a function by paravoid
+ * @link http://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283
* @access public
* @param string $str multi-byte text to wrap encode
- * @param string $lf string to use as linefeed/end-of-line
+ * @param string $linebreak string to use as linefeed/end-of-line
* @return string
*/
- public function base64EncodeWrapMB($str, $lf = null)
+ public function base64EncodeWrapMB($str, $linebreak = null)
{
- $start = "=?" . $this->CharSet . "?B?";
- $end = "?=";
- $encoded = "";
- if ($lf === null) {
- $lf = $this->LE;
+ $start = '=?' . $this->CharSet . '?B?';
+ $end = '?=';
+ $encoded = '';
+ if ($linebreak === null) {
+ $linebreak = $this->LE;
}
$mb_length = mb_strlen($str, $this->CharSet);
@@ -2305,11 +2917,11 @@ public function base64EncodeWrapMB($str, $lf = null)
$chunk = base64_encode($chunk);
$lookBack++;
} while (strlen($chunk) > $length);
- $encoded .= $chunk . $lf;
+ $encoded .= $chunk . $linebreak;
}
// Chomp the last linefeed
- $encoded = substr($encoded, 0, -strlen($lf));
+ $encoded = substr($encoded, 0, -strlen($linebreak));
return $encoded;
}
@@ -2320,21 +2932,21 @@ public function base64EncodeWrapMB($str, $lf = null)
* @param string $string The text to encode
* @param integer $line_max Number of chars allowed on a line before wrapping
* @return string
- * @link PHP version adapted from http://www.php.net/manual/en/function.quoted-printable-decode.php#89417
+ * @link http://www.php.net/manual/en/function.quoted-printable-decode.php#89417 Adapted from this comment
*/
public function encodeQP($string, $line_max = 76)
{
- if (function_exists('quoted_printable_encode')) { //Use native function if it's available (>= PHP5.3)
+ // Use native function if it's available (>= PHP5.3)
+ if (function_exists('quoted_printable_encode')) {
return quoted_printable_encode($string);
}
- //Fall back to a pure PHP implementation
+ // Fall back to a pure PHP implementation
$string = str_replace(
array('%20', '%0D%0A.', '%0D%0A', '%'),
array(' ', "\r\n=2E", "\r\n", '='),
rawurlencode($string)
);
- $string = preg_replace('/[^\r\n]{' . ($line_max - 3) . '}[^=\r\n]{2}/', "$0=\r\n", $string);
- return $string;
+ return preg_replace('/[^\r\n]{' . ($line_max - 3) . '}[^=\r\n]{2}/', "$0=\r\n", $string);
}
/**
@@ -2343,7 +2955,7 @@ public function encodeQP($string, $line_max = 76)
* @access public
* @param string $string
* @param integer $line_max
- * @param bool $space_conv
+ * @param boolean $space_conv
* @return string
* @deprecated Use encodeQP instead.
*/
@@ -2365,45 +2977,44 @@ public function encodeQPphp(
*/
public function encodeQ($str, $position = 'text')
{
- //There should not be any EOL in the string
+ // There should not be any EOL in the string
$pattern = '';
$encoded = str_replace(array("\r", "\n"), '', $str);
switch (strtolower($position)) {
case 'phrase':
- //RFC 2047 section 5.3
+ // RFC 2047 section 5.3
$pattern = '^A-Za-z0-9!*+\/ -';
break;
/** @noinspection PhpMissingBreakStatementInspection */
case 'comment':
- //RFC 2047 section 5.2
+ // RFC 2047 section 5.2
$pattern = '\(\)"';
- //intentional fall-through
- //for this reason we build the $pattern without including delimiters and []
+ // intentional fall-through
+ // for this reason we build the $pattern without including delimiters and []
case 'text':
default:
- //RFC 2047 section 5.1
- //Replace every high ascii, control, =, ? and _ characters
+ // RFC 2047 section 5.1
+ // Replace every high ascii, control, =, ? and _ characters
$pattern = '\000-\011\013\014\016-\037\075\077\137\177-\377' . $pattern;
break;
}
$matches = array();
if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) {
- //If the string contains an '=', make sure it's the first thing we replace
- //so as to avoid double-encoding
- $s = array_search('=', $matches[0]);
- if ($s !== false) {
- unset($matches[0][$s]);
+ // If the string contains an '=', make sure it's the first thing we replace
+ // so as to avoid double-encoding
+ $eqkey = array_search('=', $matches[0]);
+ if (false !== $eqkey) {
+ unset($matches[0][$eqkey]);
array_unshift($matches[0], '=');
}
foreach (array_unique($matches[0]) as $char) {
$encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded);
}
}
- //Replace every spaces to _ (more readable than =20)
+ // Replace every spaces to _ (more readable than =20)
return str_replace(' ', '_', $encoded);
}
-
/**
* Add a string or binary attachment (non-filesystem).
* This method can be used to attach ascii or binary data,
@@ -2422,7 +3033,7 @@ public function addStringAttachment(
$type = '',
$disposition = 'attachment'
) {
- //If a MIME type is not specified, try to work it out from the file name
+ // If a MIME type is not specified, try to work it out from the file name
if ($type == '') {
$type = self::filenameToType($filename);
}
@@ -2442,10 +3053,11 @@ public function addStringAttachment(
/**
* Add an embedded (inline) attachment from a file.
* This can include images, sounds, and just about any other document type.
- * These differ from 'regular' attachmants in that they are intended to be
+ * These differ from 'regular' attachments in that they are intended to be
* displayed inline with the message, not just attached for download.
* This is used in HTML messages that embed the images
* the HTML refers to using the $cid value.
+ * Never use a user-supplied path to a file!
* @param string $path Path to the attachment.
* @param string $cid Content ID of the attachment; Use this to reference
* the content when using an embedded image in HTML.
@@ -2453,16 +3065,16 @@ public function addStringAttachment(
* @param string $encoding File encoding (see $Encoding).
* @param string $type File MIME type.
* @param string $disposition Disposition to use
- * @return bool True on successfully adding an attachment
+ * @return boolean True on successfully adding an attachment
*/
public function addEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = '', $disposition = 'inline')
{
- if (!@is_file($path)) {
+ if (!self::fileIsAccessible($path)) {
$this->setError($this->lang('file_access') . $path);
return false;
}
- //If a MIME type is not specified, try to work it out from the file name
+ // If a MIME type is not specified, try to work it out from the file name
if ($type == '') {
$type = self::filenameToType($path);
}
@@ -2498,7 +3110,7 @@ public function addEmbeddedImage($path, $cid, $name = '', $encoding = 'base64',
* @param string $encoding File encoding (see $Encoding).
* @param string $type MIME type.
* @param string $disposition Disposition to use
- * @return bool True on successfully adding an attachment
+ * @return boolean True on successfully adding an attachment
*/
public function addStringEmbeddedImage(
$string,
@@ -2508,8 +3120,8 @@ public function addStringEmbeddedImage(
$type = '',
$disposition = 'inline'
) {
- //If a MIME type is not specified, try to work it out from the name
- if ($type == '') {
+ // If a MIME type is not specified, try to work it out from the name
+ if ($type == '' and !empty($name)) {
$type = self::filenameToType($name);
}
@@ -2530,7 +3142,7 @@ public function addStringEmbeddedImage(
/**
* Check if an inline attachment is present.
* @access public
- * @return bool
+ * @return boolean
*/
public function inlineImageExists()
{
@@ -2544,7 +3156,7 @@ public function inlineImageExists()
/**
* Check if an attachment (non-inline) is present.
- * @return bool
+ * @return boolean
*/
public function attachmentExists()
{
@@ -2558,13 +3170,29 @@ public function attachmentExists()
/**
* Check if this message has an alternative body set.
- * @return bool
+ * @return boolean
*/
public function alternativeExists()
{
return !empty($this->AltBody);
}
+ /**
+ * Clear queued addresses of given kind.
+ * @access protected
+ * @param string $kind 'to', 'cc', or 'bcc'
+ * @return void
+ */
+ public function clearQueuedAddresses($kind)
+ {
+ $RecipientsQueue = $this->RecipientsQueue;
+ foreach ($RecipientsQueue as $address => $params) {
+ if ($params[0] == $kind) {
+ unset($this->RecipientsQueue[$address]);
+ }
+ }
+ }
+
/**
* Clear all To recipients.
* @return void
@@ -2575,6 +3203,7 @@ public function clearAddresses()
unset($this->all_recipients[strtolower($to[0])]);
}
$this->to = array();
+ $this->clearQueuedAddresses('to');
}
/**
@@ -2587,6 +3216,7 @@ public function clearCCs()
unset($this->all_recipients[strtolower($cc[0])]);
}
$this->cc = array();
+ $this->clearQueuedAddresses('cc');
}
/**
@@ -2599,6 +3229,7 @@ public function clearBCCs()
unset($this->all_recipients[strtolower($bcc[0])]);
}
$this->bcc = array();
+ $this->clearQueuedAddresses('bcc');
}
/**
@@ -2608,6 +3239,7 @@ public function clearBCCs()
public function clearReplyTos()
{
$this->ReplyTo = array();
+ $this->ReplyToQueue = array();
}
/**
@@ -2620,6 +3252,7 @@ public function clearAllRecipients()
$this->cc = array();
$this->bcc = array();
$this->all_recipients = array();
+ $this->RecipientsQueue = array();
}
/**
@@ -2651,8 +3284,17 @@ protected function setError($msg)
$this->error_count++;
if ($this->Mailer == 'smtp' and !is_null($this->smtp)) {
$lasterror = $this->smtp->getError();
- if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) {
- $msg .= '' . $this->lang('smtp_error') . $lasterror['smtp_msg'] . "
\n";
+ if (!empty($lasterror['error'])) {
+ $msg .= $this->lang('smtp_error') . $lasterror['error'];
+ if (!empty($lasterror['detail'])) {
+ $msg .= ' Detail: '. $lasterror['detail'];
+ }
+ if (!empty($lasterror['smtp_code'])) {
+ $msg .= ' SMTP code: ' . $lasterror['smtp_code'];
+ }
+ if (!empty($lasterror['smtp_code_ex'])) {
+ $msg .= ' Additional SMTP info: ' . $lasterror['smtp_code_ex'];
+ }
}
}
$this->ErrorInfo = $msg;
@@ -2666,8 +3308,8 @@ protected function setError($msg)
*/
public static function rfcDate()
{
- //Set the time zone to whatever the default is to avoid 500 errors
- //Will default to UTC if it's not set properly in php.ini
+ // Set the time zone to whatever the default is to avoid 500 errors
+ // Will default to UTC if it's not set properly in php.ini
date_default_timezone_set(@date_default_timezone_get());
return date('D, j M Y H:i:s O');
}
@@ -2680,14 +3322,16 @@ public static function rfcDate()
*/
protected function serverHostname()
{
+ $result = 'localhost.localdomain';
if (!empty($this->Hostname)) {
$result = $this->Hostname;
- } elseif (isset($_SERVER['SERVER_NAME'])) {
+ } elseif (isset($_SERVER) and array_key_exists('SERVER_NAME', $_SERVER) and !empty($_SERVER['SERVER_NAME'])) {
$result = $_SERVER['SERVER_NAME'];
- } else {
- $result = 'localhost.localdomain';
+ } elseif (function_exists('gethostname') && gethostname() !== false) {
+ $result = gethostname();
+ } elseif (php_uname('n') !== false) {
+ $result = php_uname('n');
}
-
return $result;
}
@@ -2703,17 +3347,24 @@ protected function lang($key)
$this->setLanguage('en'); // set the default language
}
- if (isset($this->language[$key])) {
+ if (array_key_exists($key, $this->language)) {
+ if ($key == 'smtp_connect_failed') {
+ //Include a link to troubleshooting docs on SMTP connection failure
+ //this is by far the biggest cause of support questions
+ //but it's usually not PHPMailer's fault.
+ return $this->language[$key] . ' https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting';
+ }
return $this->language[$key];
} else {
- return 'Language string failed to load: ' . $key;
+ //Return the key as a fallback
+ return $key;
}
}
/**
* Check if an error occurred.
* @access public
- * @return bool True if an error did occur.
+ * @return boolean True if an error did occur.
*/
public function isError()
{
@@ -2758,32 +3409,73 @@ public function addCustomHeader($name, $value = null)
}
/**
- * Create a message from an HTML string.
- * Automatically makes modifications for inline images and backgrounds
- * and creates a plain-text version by converting the HTML.
- * Overwrites any existing values in $this->Body and $this->AltBody
+ * Returns all custom headers.
+ * @return array
+ */
+ public function getCustomHeaders()
+ {
+ return $this->CustomHeader;
+ }
+
+ /**
+ * Create a message body from an HTML string.
+ * Automatically inlines images and creates a plain-text version by converting the HTML,
+ * overwriting any existing values in Body and AltBody.
+ * Do not source $message content from user input!
+ * $basedir is prepended when handling relative URLs, e.g. and must not be empty
+ * will look for an image file in $basedir/images/a.png and convert it to inline.
+ * If you don't provide a $basedir, relative paths will be left untouched (and thus probably break in email)
+ * If you don't want to apply these transformations to your HTML, just set Body and AltBody directly.
* @access public
* @param string $message HTML message string
- * @param string $basedir baseline directory for path
- * @param bool $advanced Whether to use the advanced HTML to text converter
- * @return string $message
+ * @param string $basedir Absolute path to a base directory to prepend to relative paths to images
+ * @param boolean|callable $advanced Whether to use the internal HTML to text converter
+ * or your own custom converter @see PHPMailer::html2text()
+ * @return string $message The transformed message Body
*/
public function msgHTML($message, $basedir = '', $advanced = false)
{
- preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
- if (isset($images[2])) {
- foreach ($images[2] as $i => $url) {
- // do not change urls for absolute images (thanks to corvuscorax)
- if (!preg_match('#^[A-z]+://#', $url)) {
+ preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images);
+ if (array_key_exists(2, $images)) {
+ if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
+ // Ensure $basedir has a trailing /
+ $basedir .= '/';
+ }
+ foreach ($images[2] as $imgindex => $url) {
+ // Convert data URIs into embedded images
+ if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) {
+ $data = substr($url, strpos($url, ','));
+ if ($match[2]) {
+ $data = base64_decode($data);
+ } else {
+ $data = rawurldecode($data);
+ }
+ $cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
+ if ($this->addStringEmbeddedImage($data, $cid, 'embed' . $imgindex, 'base64', $match[1])) {
+ $message = str_replace(
+ $images[0][$imgindex],
+ $images[1][$imgindex] . '="cid:' . $cid . '"',
+ $message
+ );
+ }
+ continue;
+ }
+ if (
+ // Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
+ !empty($basedir)
+ // Ignore URLs containing parent dir traversal (..)
+ && (strpos($url, '..') === false)
+ // Do not change urls that are already inline images
+ && substr($url, 0, 4) !== 'cid:'
+ // Do not change absolute URLs, including anonymous protocol
+ && !preg_match('#^[a-z][a-z0-9+.-]*:?//#i', $url)
+ ) {
$filename = basename($url);
$directory = dirname($url);
if ($directory == '.') {
$directory = '';
}
- $cid = md5($url) . '@phpmailer.0'; //RFC2392 S 2
- if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
- $basedir .= '/';
- }
+ $cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
if (strlen($directory) > 1 && substr($directory, -1) != '/') {
$directory .= '/';
}
@@ -2792,12 +3484,12 @@ public function msgHTML($message, $basedir = '', $advanced = false)
$cid,
$filename,
'base64',
- self::_mime_types(self::mb_pathinfo($filename, PATHINFO_EXTENSION))
+ self::_mime_types((string)self::mb_pathinfo($filename, PATHINFO_EXTENSION))
)
) {
$message = preg_replace(
- "/" . $images[1][$i] . "=[\"']" . preg_quote($url, '/') . "[\"']/Ui",
- $images[1][$i] . "=\"cid:" . $cid . "\"",
+ '/' . $images[1][$imgindex] . '=["\']' . preg_quote($url, '/') . '["\']/Ui',
+ $images[1][$imgindex] . '="cid:' . $cid . '"',
$message
);
}
@@ -2805,27 +3497,40 @@ public function msgHTML($message, $basedir = '', $advanced = false)
}
}
$this->isHTML(true);
- if (empty($this->AltBody)) {
- $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
- }
- //Convert all message body line breaks to CRLF, makes quoted-printable encoding work much better
+ // Convert all message body line breaks to CRLF, makes quoted-printable encoding work much better
$this->Body = $this->normalizeBreaks($message);
$this->AltBody = $this->normalizeBreaks($this->html2text($message, $advanced));
+ if (!$this->alternativeExists()) {
+ $this->AltBody = 'To view this email message, open it in a program that understands HTML!' .
+ self::CRLF . self::CRLF;
+ }
return $this->Body;
}
/**
* Convert an HTML string into plain text.
+ * This is used by msgHTML().
+ * Note - older versions of this function used a bundled advanced converter
+ * which was been removed for license reasons in #232.
+ * Example usage:
+ *
+ * // Use default conversion
+ * $plain = $mail->html2text($html);
+ * // Use your own custom converter
+ * $plain = $mail->html2text($html, function($html) {
+ * $converter = new MyHtml2text($html);
+ * return $converter->get_text();
+ * });
+ *
* @param string $html The HTML text to convert
- * @param bool $advanced Should this use the more complex html2text converter or just a simple one?
+ * @param boolean|callable $advanced Any boolean value to use the internal converter,
+ * or provide your own callable for custom conversion.
* @return string
*/
public function html2text($html, $advanced = false)
{
- if ($advanced) {
- require_once 'extras/class.html2text.php';
- $h = new html2text($html);
- return $h->get_text();
+ if (is_callable($advanced)) {
+ return call_user_func($advanced, $html);
}
return html_entity_decode(
trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/si', '', $html))),
@@ -2844,94 +3549,109 @@ public function html2text($html, $advanced = false)
public static function _mime_types($ext = '')
{
$mimes = array(
- 'xl' => 'application/excel',
- 'hqx' => 'application/mac-binhex40',
- 'cpt' => 'application/mac-compactpro',
- 'bin' => 'application/macbinary',
- 'doc' => 'application/msword',
- 'word' => 'application/msword',
+ 'xl' => 'application/excel',
+ 'js' => 'application/javascript',
+ 'hqx' => 'application/mac-binhex40',
+ 'cpt' => 'application/mac-compactpro',
+ 'bin' => 'application/macbinary',
+ 'doc' => 'application/msword',
+ 'word' => 'application/msword',
+ 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
+ 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
+ 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
+ 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+ 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
+ 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
+ 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
+ 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
'class' => 'application/octet-stream',
- 'dll' => 'application/octet-stream',
- 'dms' => 'application/octet-stream',
- 'exe' => 'application/octet-stream',
- 'lha' => 'application/octet-stream',
- 'lzh' => 'application/octet-stream',
- 'psd' => 'application/octet-stream',
- 'sea' => 'application/octet-stream',
- 'so' => 'application/octet-stream',
- 'oda' => 'application/oda',
- 'pdf' => 'application/pdf',
- 'ai' => 'application/postscript',
- 'eps' => 'application/postscript',
- 'ps' => 'application/postscript',
- 'smi' => 'application/smil',
- 'smil' => 'application/smil',
- 'mif' => 'application/vnd.mif',
- 'xls' => 'application/vnd.ms-excel',
- 'ppt' => 'application/vnd.ms-powerpoint',
+ 'dll' => 'application/octet-stream',
+ 'dms' => 'application/octet-stream',
+ 'exe' => 'application/octet-stream',
+ 'lha' => 'application/octet-stream',
+ 'lzh' => 'application/octet-stream',
+ 'psd' => 'application/octet-stream',
+ 'sea' => 'application/octet-stream',
+ 'so' => 'application/octet-stream',
+ 'oda' => 'application/oda',
+ 'pdf' => 'application/pdf',
+ 'ai' => 'application/postscript',
+ 'eps' => 'application/postscript',
+ 'ps' => 'application/postscript',
+ 'smi' => 'application/smil',
+ 'smil' => 'application/smil',
+ 'mif' => 'application/vnd.mif',
+ 'xls' => 'application/vnd.ms-excel',
+ 'ppt' => 'application/vnd.ms-powerpoint',
'wbxml' => 'application/vnd.wap.wbxml',
- 'wmlc' => 'application/vnd.wap.wmlc',
- 'dcr' => 'application/x-director',
- 'dir' => 'application/x-director',
- 'dxr' => 'application/x-director',
- 'dvi' => 'application/x-dvi',
- 'gtar' => 'application/x-gtar',
- 'php3' => 'application/x-httpd-php',
- 'php4' => 'application/x-httpd-php',
- 'php' => 'application/x-httpd-php',
+ 'wmlc' => 'application/vnd.wap.wmlc',
+ 'dcr' => 'application/x-director',
+ 'dir' => 'application/x-director',
+ 'dxr' => 'application/x-director',
+ 'dvi' => 'application/x-dvi',
+ 'gtar' => 'application/x-gtar',
+ 'php3' => 'application/x-httpd-php',
+ 'php4' => 'application/x-httpd-php',
+ 'php' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php',
- 'phps' => 'application/x-httpd-php-source',
- 'js' => 'application/x-javascript',
- 'swf' => 'application/x-shockwave-flash',
- 'sit' => 'application/x-stuffit',
- 'tar' => 'application/x-tar',
- 'tgz' => 'application/x-tar',
- 'xht' => 'application/xhtml+xml',
+ 'phps' => 'application/x-httpd-php-source',
+ 'swf' => 'application/x-shockwave-flash',
+ 'sit' => 'application/x-stuffit',
+ 'tar' => 'application/x-tar',
+ 'tgz' => 'application/x-tar',
+ 'xht' => 'application/xhtml+xml',
'xhtml' => 'application/xhtml+xml',
- 'zip' => 'application/zip',
- 'mid' => 'audio/midi',
- 'midi' => 'audio/midi',
- 'mp2' => 'audio/mpeg',
- 'mp3' => 'audio/mpeg',
- 'mpga' => 'audio/mpeg',
- 'aif' => 'audio/x-aiff',
- 'aifc' => 'audio/x-aiff',
- 'aiff' => 'audio/x-aiff',
- 'ram' => 'audio/x-pn-realaudio',
- 'rm' => 'audio/x-pn-realaudio',
- 'rpm' => 'audio/x-pn-realaudio-plugin',
- 'ra' => 'audio/x-realaudio',
- 'wav' => 'audio/x-wav',
- 'bmp' => 'image/bmp',
- 'gif' => 'image/gif',
- 'jpeg' => 'image/jpeg',
- 'jpe' => 'image/jpeg',
- 'jpg' => 'image/jpeg',
- 'png' => 'image/png',
- 'tiff' => 'image/tiff',
- 'tif' => 'image/tiff',
- 'eml' => 'message/rfc822',
- 'css' => 'text/css',
- 'html' => 'text/html',
- 'htm' => 'text/html',
+ 'zip' => 'application/zip',
+ 'mid' => 'audio/midi',
+ 'midi' => 'audio/midi',
+ 'mp2' => 'audio/mpeg',
+ 'mp3' => 'audio/mpeg',
+ 'mpga' => 'audio/mpeg',
+ 'aif' => 'audio/x-aiff',
+ 'aifc' => 'audio/x-aiff',
+ 'aiff' => 'audio/x-aiff',
+ 'ram' => 'audio/x-pn-realaudio',
+ 'rm' => 'audio/x-pn-realaudio',
+ 'rpm' => 'audio/x-pn-realaudio-plugin',
+ 'ra' => 'audio/x-realaudio',
+ 'wav' => 'audio/x-wav',
+ 'bmp' => 'image/bmp',
+ 'gif' => 'image/gif',
+ 'jpeg' => 'image/jpeg',
+ 'jpe' => 'image/jpeg',
+ 'jpg' => 'image/jpeg',
+ 'png' => 'image/png',
+ 'tiff' => 'image/tiff',
+ 'tif' => 'image/tiff',
+ 'eml' => 'message/rfc822',
+ 'css' => 'text/css',
+ 'html' => 'text/html',
+ 'htm' => 'text/html',
'shtml' => 'text/html',
- 'log' => 'text/plain',
- 'text' => 'text/plain',
- 'txt' => 'text/plain',
- 'rtx' => 'text/richtext',
- 'rtf' => 'text/rtf',
- 'xml' => 'text/xml',
- 'xsl' => 'text/xml',
- 'mpeg' => 'video/mpeg',
- 'mpe' => 'video/mpeg',
- 'mpg' => 'video/mpeg',
- 'mov' => 'video/quicktime',
- 'qt' => 'video/quicktime',
- 'rv' => 'video/vnd.rn-realvideo',
- 'avi' => 'video/x-msvideo',
+ 'log' => 'text/plain',
+ 'text' => 'text/plain',
+ 'txt' => 'text/plain',
+ 'rtx' => 'text/richtext',
+ 'rtf' => 'text/rtf',
+ 'vcf' => 'text/vcard',
+ 'vcard' => 'text/vcard',
+ 'xml' => 'text/xml',
+ 'xsl' => 'text/xml',
+ 'mpeg' => 'video/mpeg',
+ 'mpe' => 'video/mpeg',
+ 'mpg' => 'video/mpeg',
+ 'mov' => 'video/quicktime',
+ 'qt' => 'video/quicktime',
+ 'rv' => 'video/vnd.rn-realvideo',
+ 'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie'
);
- return (array_key_exists(strtolower($ext), $mimes) ? $mimes[strtolower($ext)]: 'application/octet-stream');
+ if (array_key_exists(strtolower($ext), $mimes)) {
+ return $mimes[strtolower($ext)];
+ }
+ return 'application/octet-stream';
}
/**
@@ -2943,9 +3663,9 @@ public static function _mime_types($ext = '')
*/
public static function filenameToType($filename)
{
- //In case the path is a URL, strip any query string before getting extension
+ // In case the path is a URL, strip any query string before getting extension
$qpos = strpos($filename, '?');
- if ($qpos !== false) {
+ if (false !== $qpos) {
$filename = substr($filename, 0, $qpos);
}
$pathinfo = self::mb_pathinfo($filename);
@@ -2966,37 +3686,34 @@ public static function filenameToType($filename)
public static function mb_pathinfo($path, $options = null)
{
$ret = array('dirname' => '', 'basename' => '', 'extension' => '', 'filename' => '');
- $m = array();
- preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $m);
- if (array_key_exists(1, $m)) {
- $ret['dirname'] = $m[1];
- }
- if (array_key_exists(2, $m)) {
- $ret['basename'] = $m[2];
- }
- if (array_key_exists(5, $m)) {
- $ret['extension'] = $m[5];
- }
- if (array_key_exists(3, $m)) {
- $ret['filename'] = $m[3];
+ $pathinfo = array();
+ if (preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $pathinfo)) {
+ if (array_key_exists(1, $pathinfo)) {
+ $ret['dirname'] = $pathinfo[1];
+ }
+ if (array_key_exists(2, $pathinfo)) {
+ $ret['basename'] = $pathinfo[2];
+ }
+ if (array_key_exists(5, $pathinfo)) {
+ $ret['extension'] = $pathinfo[5];
+ }
+ if (array_key_exists(3, $pathinfo)) {
+ $ret['filename'] = $pathinfo[3];
+ }
}
switch ($options) {
case PATHINFO_DIRNAME:
case 'dirname':
return $ret['dirname'];
- break;
case PATHINFO_BASENAME:
case 'basename':
return $ret['basename'];
- break;
case PATHINFO_EXTENSION:
case 'extension':
return $ret['extension'];
- break;
case PATHINFO_FILENAME:
case 'filename':
return $ret['filename'];
- break;
default:
return $ret;
}
@@ -3004,33 +3721,27 @@ public static function mb_pathinfo($path, $options = null)
/**
* Set or reset instance properties.
- *
+ * You should avoid this function - it's more verbose, less efficient, more error-prone and
+ * harder to debug than setting properties directly.
* Usage Example:
- * $page->set('X-Priority', '3');
- *
+ * `$mail->set('SMTPSecure', 'tls');`
+ * is the same as:
+ * `$mail->SMTPSecure = 'tls';`
* @access public
- * @param string $name
- * @param mixed $value
- * NOTE: will not work with arrays, there are no arrays to set/reset
- * @throws phpmailerException
- * @return bool
- * @todo Should this not be using __set() magic function?
+ * @param string $name The property name to set
+ * @param mixed $value The value to set the property to
+ * @return boolean
+ * @TODO Should this not be using the __set() magic function?
*/
public function set($name, $value = '')
{
- try {
- if (isset($this->$name)) {
- $this->$name = $value;
- } else {
- throw new phpmailerException($this->lang('variable_set') . $name, self::STOP_CRITICAL);
- }
- } catch (Exception $e) {
- $this->setError($e->getMessage());
- if ($e->getCode() == self::STOP_CRITICAL) {
- return false;
- }
+ if (property_exists($this, $name)) {
+ $this->$name = $value;
+ return true;
+ } else {
+ $this->setError($this->lang('variable_set') . $name);
+ return false;
}
- return true;
}
/**
@@ -3059,19 +3770,20 @@ public static function normalizeBreaks($text, $breaktype = "\r\n")
return preg_replace('/(\r\n|\r|\n)/ms', $breaktype, $text);
}
-
/**
- * Set the private key file and password for S/MIME signing.
+ * Set the public and private key files and password for S/MIME signing.
* @access public
* @param string $cert_filename
* @param string $key_filename
* @param string $key_pass Password for private key
+ * @param string $extracerts_filename Optional path to chain certificate
*/
- public function sign($cert_filename, $key_filename, $key_pass)
+ public function sign($cert_filename, $key_filename, $key_pass, $extracerts_filename = '')
{
$this->sign_cert_file = $cert_filename;
$this->sign_key_file = $key_filename;
$this->sign_key_pass = $key_pass;
+ $this->sign_extracerts_file = $extracerts_filename;
}
/**
@@ -3088,7 +3800,7 @@ public function DKIM_QP($txt)
if (((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E))) {
$line .= $txt[$i];
} else {
- $line .= "=" . sprintf("%02X", $ord);
+ $line .= '=' . sprintf('%02X', $ord);
}
}
return $line;
@@ -3097,48 +3809,68 @@ public function DKIM_QP($txt)
/**
* Generate a DKIM signature.
* @access public
- * @param string $s Header
+ * @param string $signHeader
* @throws phpmailerException
- * @return string
+ * @return string The DKIM signature value
*/
- public function DKIM_Sign($s)
+ public function DKIM_Sign($signHeader)
{
if (!defined('PKCS7_TEXT')) {
if ($this->exceptions) {
- throw new phpmailerException($this->lang("signing") . ' OpenSSL extension missing.');
+ throw new phpmailerException($this->lang('extension_missing') . 'openssl');
}
return '';
}
- $privKeyStr = file_get_contents($this->DKIM_private);
- if ($this->DKIM_passphrase != '') {
+ $privKeyStr = !empty($this->DKIM_private_string) ? $this->DKIM_private_string : file_get_contents($this->DKIM_private);
+ if ('' != $this->DKIM_passphrase) {
$privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
} else {
- $privKey = $privKeyStr;
- }
- if (openssl_sign($s, $signature, $privKey)) {
- return base64_encode($signature);
+ $privKey = openssl_pkey_get_private($privKeyStr);
+ }
+ //Workaround for missing digest algorithms in old PHP & OpenSSL versions
+ //@link http://stackoverflow.com/a/11117338/333340
+ if (version_compare(PHP_VERSION, '5.3.0') >= 0 and
+ in_array('sha256WithRSAEncryption', openssl_get_md_methods(true))) {
+ if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) {
+ openssl_pkey_free($privKey);
+ return base64_encode($signature);
+ }
+ } else {
+ $pinfo = openssl_pkey_get_details($privKey);
+ $hash = hash('sha256', $signHeader);
+ //'Magic' constant for SHA256 from RFC3447
+ //@link https://tools.ietf.org/html/rfc3447#page-43
+ $t = '3031300d060960864801650304020105000420' . $hash;
+ $pslen = $pinfo['bits'] / 8 - (strlen($t) / 2 + 3);
+ $eb = pack('H*', '0001' . str_repeat('FF', $pslen) . '00' . $t);
+
+ if (openssl_private_encrypt($eb, $signature, $privKey, OPENSSL_NO_PADDING)) {
+ openssl_pkey_free($privKey);
+ return base64_encode($signature);
+ }
}
+ openssl_pkey_free($privKey);
return '';
}
/**
* Generate a DKIM canonicalization header.
* @access public
- * @param string $s Header
+ * @param string $signHeader Header
* @return string
*/
- public function DKIM_HeaderC($s)
+ public function DKIM_HeaderC($signHeader)
{
- $s = preg_replace("/\r\n\s+/", " ", $s);
- $lines = explode("\r\n", $s);
+ $signHeader = preg_replace('/\r\n\s+/', ' ', $signHeader);
+ $lines = explode("\r\n", $signHeader);
foreach ($lines as $key => $line) {
- list($heading, $value) = explode(":", $line, 2);
+ list($heading, $value) = explode(':', $line, 2);
$heading = strtolower($heading);
- $value = preg_replace("/\s+/", " ", $value); // Compress useless spaces
- $lines[$key] = $heading . ":" . trim($value); // Don't forget to remove WSP around the value
+ $value = preg_replace('/\s{2,}/', ' ', $value); // Compress useless spaces
+ $lines[$key] = $heading . ':' . trim($value); // Don't forget to remove WSP around the value
}
- $s = implode("\r\n", $lines);
- return $s;
+ $signHeader = implode("\r\n", $lines);
+ return $signHeader;
}
/**
@@ -3172,7 +3904,7 @@ public function DKIM_BodyC($body)
*/
public function DKIM_Add($headers_line, $subject, $body)
{
- $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms
+ $DKIMsignatureType = 'rsa-sha256'; // Signature & hash algorithms
$DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
$DKIMquery = 'dns/txt'; // Query method
$DKIMtime = time(); // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
@@ -3180,6 +3912,7 @@ public function DKIM_Add($headers_line, $subject, $body)
$headers = explode($this->LE, $headers_line);
$from_header = '';
$to_header = '';
+ $date_header = '';
$current = '';
foreach ($headers as $header) {
if (strpos($header, 'From:') === 0) {
@@ -3188,9 +3921,12 @@ public function DKIM_Add($headers_line, $subject, $body)
} elseif (strpos($header, 'To:') === 0) {
$to_header = $header;
$current = 'to_header';
+ } elseif (strpos($header, 'Date:') === 0) {
+ $date_header = $header;
+ $current = 'date_header';
} else {
- if ($current && strpos($header, ' =?') === 0) {
- $current .= $header;
+ if (!empty($$current) && strpos($header, ' =?') === 0) {
+ $$current .= $header;
} else {
$current = '';
}
@@ -3198,6 +3934,7 @@ public function DKIM_Add($headers_line, $subject, $body)
}
$from = str_replace('|', '=7C', $this->DKIM_QP($from_header));
$to = str_replace('|', '=7C', $this->DKIM_QP($to_header));
+ $date = str_replace('|', '=7C', $this->DKIM_QP($date_header));
$subject = str_replace(
'|',
'=7C',
@@ -3205,40 +3942,116 @@ public function DKIM_Add($headers_line, $subject, $body)
); // Copied header fields (dkim-quoted-printable)
$body = $this->DKIM_BodyC($body);
$DKIMlen = strlen($body); // Length of body
- $DKIMb64 = base64_encode(pack("H*", sha1($body))); // Base64 of packed binary SHA-1 hash of body
- $ident = ($this->DKIM_identity == '') ? '' : " i=" . $this->DKIM_identity . ";";
- $dkimhdrs = "DKIM-Signature: v=1; a=" .
- $DKIMsignatureType . "; q=" .
- $DKIMquery . "; l=" .
- $DKIMlen . "; s=" .
+ $DKIMb64 = base64_encode(pack('H*', hash('sha256', $body))); // Base64 of packed binary SHA-256 hash of body
+ if ('' == $this->DKIM_identity) {
+ $ident = '';
+ } else {
+ $ident = ' i=' . $this->DKIM_identity . ';';
+ }
+ $dkimhdrs = 'DKIM-Signature: v=1; a=' .
+ $DKIMsignatureType . '; q=' .
+ $DKIMquery . '; l=' .
+ $DKIMlen . '; s=' .
$this->DKIM_selector .
";\r\n" .
- "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n" .
- "\th=From:To:Subject;\r\n" .
- "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n" .
+ "\tt=" . $DKIMtime . '; c=' . $DKIMcanonicalization . ";\r\n" .
+ "\th=From:To:Date:Subject;\r\n" .
+ "\td=" . $this->DKIM_domain . ';' . $ident . "\r\n" .
"\tz=$from\r\n" .
"\t|$to\r\n" .
+ "\t|$date\r\n" .
"\t|$subject;\r\n" .
"\tbh=" . $DKIMb64 . ";\r\n" .
"\tb=";
$toSign = $this->DKIM_HeaderC(
- $from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs
+ $from_header . "\r\n" .
+ $to_header . "\r\n" .
+ $date_header . "\r\n" .
+ $subject_header . "\r\n" .
+ $dkimhdrs
);
$signed = $this->DKIM_Sign($toSign);
return $dkimhdrs . $signed . "\r\n";
}
+ /**
+ * Detect if a string contains a line longer than the maximum line length allowed.
+ * @param string $str
+ * @return boolean
+ * @static
+ */
+ public static function hasLineLongerThanMax($str)
+ {
+ //+2 to include CRLF line break for a 1000 total
+ return (boolean)preg_match('/^(.{'.(self::MAX_LINE_LENGTH + 2).',})/m', $str);
+ }
+
+ /**
+ * Allows for public read access to 'to' property.
+ * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included.
+ * @access public
+ * @return array
+ */
+ public function getToAddresses()
+ {
+ return $this->to;
+ }
+
+ /**
+ * Allows for public read access to 'cc' property.
+ * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included.
+ * @access public
+ * @return array
+ */
+ public function getCcAddresses()
+ {
+ return $this->cc;
+ }
+
+ /**
+ * Allows for public read access to 'bcc' property.
+ * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included.
+ * @access public
+ * @return array
+ */
+ public function getBccAddresses()
+ {
+ return $this->bcc;
+ }
+
+ /**
+ * Allows for public read access to 'ReplyTo' property.
+ * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included.
+ * @access public
+ * @return array
+ */
+ public function getReplyToAddresses()
+ {
+ return $this->ReplyTo;
+ }
+
+ /**
+ * Allows for public read access to 'all_recipients' property.
+ * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included.
+ * @access public
+ * @return array
+ */
+ public function getAllRecipientAddresses()
+ {
+ return $this->all_recipients;
+ }
+
/**
* Perform a callback.
- * @param bool $isSent
- * @param string $to
- * @param string $cc
- * @param string $bcc
+ * @param boolean $isSent
+ * @param array $to
+ * @param array $cc
+ * @param array $bcc
* @param string $subject
* @param string $body
* @param string $from
*/
- protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from = null)
+ protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from)
{
if (!empty($this->action_function) && is_callable($this->action_function)) {
$params = array($isSent, $to, $cc, $bcc, $subject, $body, $from);
diff --git a/wp-includes/class-smtp.php b/wp-includes/class-smtp.php
index e6b45222d8..3ad081926a 100644
--- a/wp-includes/class-smtp.php
+++ b/wp-includes/class-smtp.php
@@ -1,153 +1,225 @@
+ * PHP Version 5
+ * @package PHPMailer
+ * @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
+ * @author Marcus Bointon (Synchro/coolbru)
* @author Jim Jagielski (jimjag)
* @author Andy Prevost (codeworxtech)
- * @copyright 2013 Marcus Bointon
- * @copyright 2004 - 2008 Andy Prevost
+ * @author Brent R. Matzelle (original founder)
+ * @copyright 2014 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
- * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
+ * @copyright 2004 - 2009 Andy Prevost
+ * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
+ * @note This program is distributed in the hope that it will be useful - WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* PHPMailer RFC821 SMTP email transport class.
- *
- * Implements RFC 821 SMTP commands
- * and provides some utility methods for sending mail to an SMTP server.
- *
- * PHP Version 5.0.0
- *
- * @category PHP
- * @package PHPMailer
- * @link https://github.com/PHPMailer/PHPMailer/blob/master/class.smtp.php
- * @author Chris Ryan
- * @author Marcus Bointon
- * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
+ * Implements RFC 821 SMTP commands and provides some utility methods for sending mail to an SMTP server.
+ * @package PHPMailer
+ * @author Chris Ryan
+ * @author Marcus Bointon
*/
-
class SMTP
{
/**
- * The PHPMailer SMTP Version number.
+ * The PHPMailer SMTP version number.
+ * @var string
*/
- const VERSION = '5.2.7';
+ const VERSION = '5.2.22';
/**
* SMTP line break constant.
+ * @var string
*/
const CRLF = "\r\n";
/**
* The SMTP port to use if one is not specified.
+ * @var integer
*/
const DEFAULT_SMTP_PORT = 25;
+ /**
+ * The maximum line length allowed by RFC 2822 section 2.1.1
+ * @var integer
+ */
+ const MAX_LINE_LENGTH = 998;
+
+ /**
+ * Debug level for no output
+ */
+ const DEBUG_OFF = 0;
+
+ /**
+ * Debug level to show client -> server messages
+ */
+ const DEBUG_CLIENT = 1;
+
+ /**
+ * Debug level to show client -> server and server -> client messages
+ */
+ const DEBUG_SERVER = 2;
+
+ /**
+ * Debug level to show connection status, client -> server and server -> client messages
+ */
+ const DEBUG_CONNECTION = 3;
+
+ /**
+ * Debug level to show all messages
+ */
+ const DEBUG_LOWLEVEL = 4;
+
/**
* The PHPMailer SMTP Version number.
- * @type string
- * @deprecated This should be a constant
+ * @var string
+ * @deprecated Use the `VERSION` constant instead
* @see SMTP::VERSION
*/
- public $Version = '5.2.7';
+ public $Version = '5.2.22';
/**
* SMTP server port number.
- * @type int
- * @deprecated This is only ever ued as default value, so should be a constant
+ * @var integer
+ * @deprecated This is only ever used as a default value, so use the `DEFAULT_SMTP_PORT` constant instead
* @see SMTP::DEFAULT_SMTP_PORT
*/
public $SMTP_PORT = 25;
/**
- * SMTP reply line ending
- * @type string
- * @deprecated Use the class constant instead
+ * SMTP reply line ending.
+ * @var string
+ * @deprecated Use the `CRLF` constant instead
* @see SMTP::CRLF
*/
public $CRLF = "\r\n";
/**
* Debug output level.
- * Options: 0 for no output, 1 for commands, 2 for data and commands
- * @type int
+ * Options:
+ * * self::DEBUG_OFF (`0`) No debug output, default
+ * * self::DEBUG_CLIENT (`1`) Client commands
+ * * self::DEBUG_SERVER (`2`) Client commands and server responses
+ * * self::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
+ * * self::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages
+ * @var integer
*/
- public $do_debug = 0;
+ public $do_debug = self::DEBUG_OFF;
/**
- * The function/method to use for debugging output.
- * Options: 'echo', 'html' or 'error_log'
- * @type string
+ * How to handle debug output.
+ * Options:
+ * * `echo` Output plain-text as-is, appropriate for CLI
+ * * `html` Output escaped, line breaks converted to ` `, appropriate for browser output
+ * * `error_log` Output to error log as configured in php.ini
+ *
+ * Alternatively, you can provide a callable expecting two params: a message string and the debug level:
+ *
+ * $smtp->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
+ *
+ * @var string|callable
*/
public $Debugoutput = 'echo';
/**
* Whether to use VERP.
- * @type bool
+ * @link http://en.wikipedia.org/wiki/Variable_envelope_return_path
+ * @link http://www.postfix.org/VERP_README.html Info on VERP
+ * @var boolean
*/
public $do_verp = false;
/**
- * The SMTP timeout value for reads, in seconds.
- * @type int
+ * The timeout value for connection, in seconds.
+ * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
+ * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure.
+ * @link http://tools.ietf.org/html/rfc2821#section-4.5.3.2
+ * @var integer
*/
- public $Timeout = 15;
+ public $Timeout = 300;
/**
- * The SMTP timelimit value for reads, in seconds.
- * @type int
+ * How long to wait for commands to complete, in seconds.
+ * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
+ * @var integer
*/
- public $Timelimit = 30;
+ public $Timelimit = 300;
+
+ /**
+ * @var array patterns to extract smtp transaction id from smtp reply
+ * Only first capture group will be use, use non-capturing group to deal with it
+ * Extend this class to override this property to fulfil your needs.
+ */
+ protected $smtp_transaction_id_patterns = array(
+ 'exim' => '/[0-9]{3} OK id=(.*)/',
+ 'sendmail' => '/[0-9]{3} 2.0.0 (.*) Message/',
+ 'postfix' => '/[0-9]{3} 2.0.0 Ok: queued as (.*)/'
+ );
/**
* The socket for the server connection.
- * @type resource
+ * @var resource
*/
protected $smtp_conn;
/**
- * Error message, if any, for the last call.
- * @type string
+ * Error information, if any, for the last SMTP command.
+ * @var array
*/
- protected $error = '';
+ protected $error = array(
+ 'error' => '',
+ 'detail' => '',
+ 'smtp_code' => '',
+ 'smtp_code_ex' => ''
+ );
/**
* The reply the server sent to us for HELO.
- * @type string
+ * If null, no HELO string has yet been received.
+ * @var string|null
*/
- protected $helo_rply = '';
+ protected $helo_rply = null;
/**
- * The most recent reply received from the server.
- * @type string
+ * The set of SMTP extensions sent in reply to EHLO command.
+ * Indexes of the array are extension names.
+ * Value at index 'HELO' or 'EHLO' (according to command that was sent)
+ * represents the server name. In case of HELO it is the only element of the array.
+ * Other values can be boolean TRUE or an array containing extension options.
+ * If null, no HELO/EHLO string has yet been received.
+ * @var array|null
*/
- protected $last_reply = '';
+ protected $server_caps = null;
/**
- * Constructor.
- * @access public
+ * The most recent reply received from the server.
+ * @var string
*/
- public function __construct()
- {
- $this->smtp_conn = 0;
- $this->error = null;
- $this->helo_rply = null;
-
- $this->do_debug = 0;
- }
+ protected $last_reply = '';
/**
* Output debugging info via a user-selected method.
+ * @see SMTP::$Debugoutput
+ * @see SMTP::$do_debug
* @param string $str Debug string to output
+ * @param integer $level The debug level of this message; see DEBUG_* constants
* @return void
*/
- protected function edebug($str)
+ protected function edebug($str, $level = 0)
{
+ if ($level > $this->do_debug) {
+ return;
+ }
+ //Avoid clash with built-in function names
+ if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) {
+ call_user_func($this->Debugoutput, $str, $level);
+ return;
+ }
switch ($this->Debugoutput) {
case 'error_log':
//Don't output, just log
@@ -164,103 +236,137 @@ protected function edebug($str)
break;
case 'echo':
default:
- //Just echoes whatever was received
- echo $str;
+ //Normalize line breaks
+ $str = preg_replace('/(\r\n|\r|\n)/ms', "\n", $str);
+ echo gmdate('Y-m-d H:i:s') . "\t" . str_replace(
+ "\n",
+ "\n \t ",
+ trim($str)
+ )."\n";
}
}
/**
* Connect to an SMTP server.
- * @param string $host SMTP server IP or host name
- * @param int $port The port number to connect to
- * @param int $timeout How long to wait for the connection to open
+ * @param string $host SMTP server IP or host name
+ * @param integer $port The port number to connect to
+ * @param integer $timeout How long to wait for the connection to open
* @param array $options An array of options for stream_context_create()
* @access public
- * @return bool
+ * @return boolean
*/
public function connect($host, $port = null, $timeout = 30, $options = array())
{
+ static $streamok;
+ //This is enabled by default since 5.0.0 but some providers disable it
+ //Check this once and cache the result
+ if (is_null($streamok)) {
+ $streamok = function_exists('stream_socket_client');
+ }
// Clear errors to avoid confusion
- $this->error = null;
-
+ $this->setError('');
// Make sure we are __not__ connected
if ($this->connected()) {
// Already connected, generate error
- $this->error = array('error' => 'Already connected to a server');
+ $this->setError('Already connected to a server');
return false;
}
-
if (empty($port)) {
$port = self::DEFAULT_SMTP_PORT;
}
-
// Connect to the SMTP server
+ $this->edebug(
+ "Connection: opening to $host:$port, timeout=$timeout, options=".var_export($options, true),
+ self::DEBUG_CONNECTION
+ );
$errno = 0;
$errstr = '';
- $socket_context = stream_context_create($options);
- //Suppress errors; connection failures are handled at a higher level
- $this->smtp_conn = @stream_socket_client(
- $host . ":" . $port,
- $errno,
- $errstr,
- $timeout,
- STREAM_CLIENT_CONNECT,
- $socket_context
- );
-
+ if ($streamok) {
+ $socket_context = stream_context_create($options);
+ set_error_handler(array($this, 'errorHandler'));
+ $this->smtp_conn = stream_socket_client(
+ $host . ":" . $port,
+ $errno,
+ $errstr,
+ $timeout,
+ STREAM_CLIENT_CONNECT,
+ $socket_context
+ );
+ restore_error_handler();
+ } else {
+ //Fall back to fsockopen which should work in more places, but is missing some features
+ $this->edebug(
+ "Connection: stream_socket_client not available, falling back to fsockopen",
+ self::DEBUG_CONNECTION
+ );
+ set_error_handler(array($this, 'errorHandler'));
+ $this->smtp_conn = fsockopen(
+ $host,
+ $port,
+ $errno,
+ $errstr,
+ $timeout
+ );
+ restore_error_handler();
+ }
// Verify we connected properly
- if (empty($this->smtp_conn)) {
- $this->error = array(
- 'error' => 'Failed to connect to server',
- 'errno' => $errno,
- 'errstr' => $errstr
+ if (!is_resource($this->smtp_conn)) {
+ $this->setError(
+ 'Failed to connect to server',
+ $errno,
+ $errstr
+ );
+ $this->edebug(
+ 'SMTP ERROR: ' . $this->error['error']
+ . ": $errstr ($errno)",
+ self::DEBUG_CLIENT
);
- if ($this->do_debug >= 1) {
- $this->edebug(
- 'SMTP -> ERROR: ' . $this->error['error']
- . ": $errstr ($errno)"
- );
- }
return false;
}
-
+ $this->edebug('Connection: opened', self::DEBUG_CONNECTION);
// SMTP server can take longer to respond, give longer timeout for first read
// Windows does not have support for this timeout function
if (substr(PHP_OS, 0, 3) != 'WIN') {
$max = ini_get('max_execution_time');
- if ($max != 0 && $timeout > $max) { // Don't bother if unlimited
+ // Don't bother if unlimited
+ if ($max != 0 && $timeout > $max) {
@set_time_limit($timeout);
}
stream_set_timeout($this->smtp_conn, $timeout, 0);
}
-
// Get any announcement
$announce = $this->get_lines();
-
- if ($this->do_debug >= 2) {
- $this->edebug('SMTP -> FROM SERVER:' . $announce);
- }
-
+ $this->edebug('SERVER -> CLIENT: ' . $announce, self::DEBUG_SERVER);
return true;
}
/**
* Initiate a TLS (encrypted) session.
* @access public
- * @return bool
+ * @return boolean
*/
public function startTLS()
{
- if (!$this->sendCommand("STARTTLS", "STARTTLS", 220)) {
+ if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
return false;
}
+
+ //Allow the best TLS version(s) we can
+ $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT;
+
+ //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT
+ //so add them back in manually if we can
+ if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) {
+ $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;
+ $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
+ }
+
// Begin encrypted connection
if (!stream_socket_enable_crypto(
$this->smtp_conn,
true,
- STREAM_CRYPTO_METHOD_TLS_CLIENT
- )
- ) {
+ $crypto_method
+ )) {
return false;
}
return true;
@@ -270,25 +376,64 @@ public function startTLS()
* Perform SMTP authentication.
* Must be run after hello().
* @see hello()
- * @param string $username The user name
- * @param string $password The password
- * @param string $authtype The auth type (PLAIN, LOGIN, NTLM, CRAM-MD5)
- * @param string $realm The auth realm for NTLM
+ * @param string $username The user name
+ * @param string $password The password
+ * @param string $authtype The auth type (PLAIN, LOGIN, CRAM-MD5)
+ * @param string $realm The auth realm for NTLM
* @param string $workstation The auth workstation for NTLM
- * @access public
- * @return bool True if successfully authenticated.
+ * @param null|OAuth $OAuth An optional OAuth instance (@see PHPMailerOAuth)
+ * @return bool True if successfully authenticated.* @access public
*/
public function authenticate(
$username,
$password,
- $authtype = 'LOGIN',
+ $authtype = null,
$realm = '',
- $workstation = ''
+ $workstation = '',
+ $OAuth = null
) {
- if (empty($authtype)) {
- $authtype = 'LOGIN';
+ if (!$this->server_caps) {
+ $this->setError('Authentication is not allowed before HELO/EHLO');
+ return false;
}
+ if (array_key_exists('EHLO', $this->server_caps)) {
+ // SMTP extensions are available. Let's try to find a proper authentication method
+
+ if (!array_key_exists('AUTH', $this->server_caps)) {
+ $this->setError('Authentication is not allowed at this stage');
+ // 'at this stage' means that auth may be allowed after the stage changes
+ // e.g. after STARTTLS
+ return false;
+ }
+
+ self::edebug('Auth method requested: ' . ($authtype ? $authtype : 'UNKNOWN'), self::DEBUG_LOWLEVEL);
+ self::edebug(
+ 'Auth methods available on the server: ' . implode(',', $this->server_caps['AUTH']),
+ self::DEBUG_LOWLEVEL
+ );
+
+ if (empty($authtype)) {
+ foreach (array('CRAM-MD5', 'LOGIN', 'PLAIN') as $method) {
+ if (in_array($method, $this->server_caps['AUTH'])) {
+ $authtype = $method;
+ break;
+ }
+ }
+ if (empty($authtype)) {
+ $this->setError('No supported authentication methods found');
+ return false;
+ }
+ self::edebug('Auth method selected: '.$authtype, self::DEBUG_LOWLEVEL);
+ }
+
+ if (!in_array($authtype, $this->server_caps['AUTH'])) {
+ $this->setError("The requested authentication method \"$authtype\" is not supported by the server");
+ return false;
+ }
+ } elseif (empty($authtype)) {
+ $authtype = 'LOGIN';
+ }
switch ($authtype) {
case 'PLAIN':
// Start authentication
@@ -317,59 +462,6 @@ public function authenticate(
return false;
}
break;
- case 'NTLM':
- /*
- * ntlm_sasl_client.php
- * Bundled with Permission
- *
- * How to telnet in windows:
- * http://technet.microsoft.com/en-us/library/aa995718%28EXCHG.65%29.aspx
- * PROTOCOL Docs http://curl.haxx.se/rfc/ntlm.html#ntlmSmtpAuthentication
- */
- require_once 'extras/ntlm_sasl_client.php';
- $temp = new stdClass();
- $ntlm_client = new ntlm_sasl_client_class;
- //Check that functions are available
- if (!$ntlm_client->Initialize($temp)) {
- $this->error = array('error' => $temp->error);
- if ($this->do_debug >= 1) {
- $this->edebug(
- 'You need to enable some modules in your php.ini file: '
- . $this->error['error']
- );
- }
- return false;
- }
- //msg1
- $msg1 = $ntlm_client->TypeMsg1($realm, $workstation); //msg1
-
- if (!$this->sendCommand(
- 'AUTH NTLM',
- 'AUTH NTLM ' . base64_encode($msg1),
- 334
- )
- ) {
- return false;
- }
-
- //Though 0 based, there is a white space after the 3 digit number
- //msg2
- $challenge = substr($this->last_reply, 3);
- $challenge = base64_decode($challenge);
- $ntlm_res = $ntlm_client->NTLMResponse(
- substr($challenge, 24, 8),
- $password
- );
- //msg3
- $msg3 = $ntlm_client->TypeMsg3(
- $ntlm_res,
- $username,
- $realm,
- $workstation
- );
- // send encoded username
- return $this->sendCommand('Username', base64_encode($msg3), 235);
- break;
case 'CRAM-MD5':
// Start authentication
if (!$this->sendCommand('AUTH CRAM-MD5', 'AUTH CRAM-MD5', 334)) {
@@ -383,7 +475,9 @@ public function authenticate(
// send encoded credentials
return $this->sendCommand('Username', base64_encode($response), 235);
- break;
+ default:
+ $this->setError("Authentication method \"$authtype\" is not supported");
+ return false;
}
return true;
}
@@ -409,15 +503,15 @@ protected function hmac($data, $key)
// RFC 2104 HMAC implementation for php.
// Creates an md5 HMAC.
// Eliminates the need to install mhash to compute a HMAC
- // Hacked by Lance Rushing
+ // by Lance Rushing
- $b = 64; // byte length for md5
- if (strlen($key) > $b) {
+ $bytelen = 64; // byte length for md5
+ if (strlen($key) > $bytelen) {
$key = pack('H*', md5($key));
}
- $key = str_pad($key, $b, chr(0x00));
- $ipad = str_pad('', $b, chr(0x36));
- $opad = str_pad('', $b, chr(0x5c));
+ $key = str_pad($key, $bytelen, chr(0x00));
+ $ipad = str_pad('', $bytelen, chr(0x36));
+ $opad = str_pad('', $bytelen, chr(0x5c));
$k_ipad = $key ^ $ipad;
$k_opad = $key ^ $opad;
@@ -427,19 +521,18 @@ protected function hmac($data, $key)
/**
* Check connection state.
* @access public
- * @return bool True if connected.
+ * @return boolean True if connected.
*/
public function connected()
{
- if (!empty($this->smtp_conn)) {
+ if (is_resource($this->smtp_conn)) {
$sock_status = stream_get_meta_data($this->smtp_conn);
if ($sock_status['eof']) {
- // the socket is valid but we are not connected
- if ($this->do_debug >= 1) {
- $this->edebug(
- 'SMTP -> NOTICE: EOF caught while checking if connected'
- );
- }
+ // The socket is valid but we are not connected
+ $this->edebug(
+ 'SMTP NOTICE: EOF caught while checking if connected',
+ self::DEBUG_CLIENT
+ );
$this->close();
return false;
}
@@ -457,12 +550,14 @@ public function connected()
*/
public function close()
{
- $this->error = null; // so there is no confusion
+ $this->setError('');
+ $this->server_caps = null;
$this->helo_rply = null;
- if (!empty($this->smtp_conn)) {
+ if (is_resource($this->smtp_conn)) {
// close the connection and cleanup
fclose($this->smtp_conn);
- $this->smtp_conn = 0;
+ $this->smtp_conn = null; //Makes for cleaner serialization
+ $this->edebug('Connection: closed', self::DEBUG_CONNECTION);
}
}
@@ -476,111 +571,101 @@ public function close()
* Implements rfc 821: DATA
* @param string $msg_data Message data to send
* @access public
- * @return bool
+ * @return boolean
*/
public function data($msg_data)
{
+ //This will use the standard timelimit
if (!$this->sendCommand('DATA', 'DATA', 354)) {
return false;
}
/* The server is ready to accept data!
- * according to rfc821 we should not send more than 1000
- * including the CRLF
- * characters on a single line so we will break the data up
- * into lines by \r and/or \n then if needed we will break
- * each of those into smaller lines to fit within the limit.
- * in addition we will be looking for lines that start with
- * a period '.' and append and additional period '.' to that
- * line. NOTE: this does not count towards limit.
+ * According to rfc821 we should not send more than 1000 characters on a single line (including the CRLF)
+ * so we will break the data up into lines by \r and/or \n then if needed we will break each of those into
+ * smaller lines to fit within the limit.
+ * We will also look for lines that start with a '.' and prepend an additional '.'.
+ * NOTE: this does not count towards line-length limit.
*/
- // Normalize the line breaks before exploding
- $msg_data = str_replace("\r\n", "\n", $msg_data);
- $msg_data = str_replace("\r", "\n", $msg_data);
- $lines = explode("\n", $msg_data);
-
- /* We need to find a good way to determine if headers are
- * in the msg_data or if it is a straight msg body
- * currently I am assuming rfc822 definitions of msg headers
- * and if the first field of the first line (':' separated)
- * does not contain a space then it _should_ be a header
- * and we can process all lines before a blank "" line as
- * headers.
+ // Normalize line breaks before exploding
+ $lines = explode("\n", str_replace(array("\r\n", "\r"), "\n", $msg_data));
+
+ /* To distinguish between a complete RFC822 message and a plain message body, we check if the first field
+ * of the first line (':' separated) does not contain a space then it _should_ be a header and we will
+ * process all lines before a blank line as headers.
*/
$field = substr($lines[0], 0, strpos($lines[0], ':'));
$in_headers = false;
- if (!empty($field) && !strstr($field, ' ')) {
+ if (!empty($field) && strpos($field, ' ') === false) {
$in_headers = true;
}
- //RFC 2822 section 2.1.1 limit
- $max_line_length = 998;
-
foreach ($lines as $line) {
- $lines_out = null;
- if ($line == '' && $in_headers) {
+ $lines_out = array();
+ if ($in_headers and $line == '') {
$in_headers = false;
}
- // ok we need to break this line up into several smaller lines
- while (strlen($line) > $max_line_length) {
- $pos = strrpos(substr($line, 0, $max_line_length), ' ');
-
- // Patch to fix DOS attack
+ //Break this line up into several smaller lines if it's too long
+ //Micro-optimisation: isset($str[$len]) is faster than (strlen($str) > $len),
+ while (isset($line[self::MAX_LINE_LENGTH])) {
+ //Working backwards, try to find a space within the last MAX_LINE_LENGTH chars of the line to break on
+ //so as to avoid breaking in the middle of a word
+ $pos = strrpos(substr($line, 0, self::MAX_LINE_LENGTH), ' ');
+ //Deliberately matches both false and 0
if (!$pos) {
- $pos = $max_line_length - 1;
+ //No nice break found, add a hard break
+ $pos = self::MAX_LINE_LENGTH - 1;
$lines_out[] = substr($line, 0, $pos);
$line = substr($line, $pos);
} else {
+ //Break at the found point
$lines_out[] = substr($line, 0, $pos);
+ //Move along by the amount we dealt with
$line = substr($line, $pos + 1);
}
-
- /* If processing headers add a LWSP-char to the front of new line
- * rfc822 on long msg headers
- */
+ //If processing headers add a LWSP-char to the front of new line RFC822 section 3.1.1
if ($in_headers) {
$line = "\t" . $line;
}
}
$lines_out[] = $line;
- // send the lines to the server
- while (list(, $line_out) = @each($lines_out)) {
- if (strlen($line_out) > 0) {
- if (substr($line_out, 0, 1) == '.') {
- $line_out = '.' . $line_out;
- }
+ //Send the lines to the server
+ foreach ($lines_out as $line_out) {
+ //RFC2821 section 4.5.2
+ if (!empty($line_out) and $line_out[0] == '.') {
+ $line_out = '.' . $line_out;
}
$this->client_send($line_out . self::CRLF);
}
}
- // Message data has been sent, complete the command
- return $this->sendCommand('DATA END', '.', 250);
+ //Message data has been sent, complete the command
+ //Increase timelimit for end of DATA command
+ $savetimelimit = $this->Timelimit;
+ $this->Timelimit = $this->Timelimit * 2;
+ $result = $this->sendCommand('DATA END', '.', 250);
+ //Restore timelimit
+ $this->Timelimit = $savetimelimit;
+ return $result;
}
/**
* Send an SMTP HELO or EHLO command.
* Used to identify the sending server to the receiving server.
* This makes sure that client and server are in a known state.
- * Implements from RFC 821: HELO
+ * Implements RFC 821: HELO
* and RFC 2821 EHLO.
* @param string $host The host name or IP to connect to
* @access public
- * @return bool
+ * @return boolean
*/
public function hello($host = '')
{
- // Try extended hello first (RFC 2821)
- if (!$this->sendHello('EHLO', $host)) {
- if (!$this->sendHello('HELO', $host)) {
- return false;
- }
- }
-
- return true;
+ //Try extended hello first (RFC 2821)
+ return (boolean)($this->sendHello('EHLO', $host) or $this->sendHello('HELO', $host));
}
/**
@@ -588,17 +673,64 @@ public function hello($host = '')
* Low-level implementation used by hello()
* @see hello()
* @param string $hello The HELO string
- * @param string $host The hostname to say we are
+ * @param string $host The hostname to say we are
* @access protected
- * @return bool
+ * @return boolean
*/
protected function sendHello($hello, $host)
{
$noerror = $this->sendCommand($hello, $hello . ' ' . $host, 250);
$this->helo_rply = $this->last_reply;
+ if ($noerror) {
+ $this->parseHelloFields($hello);
+ } else {
+ $this->server_caps = null;
+ }
return $noerror;
}
+ /**
+ * Parse a reply to HELO/EHLO command to discover server extensions.
+ * In case of HELO, the only parameter that can be discovered is a server name.
+ * @access protected
+ * @param string $type - 'HELO' or 'EHLO'
+ */
+ protected function parseHelloFields($type)
+ {
+ $this->server_caps = array();
+ $lines = explode("\n", $this->helo_rply);
+
+ foreach ($lines as $n => $s) {
+ //First 4 chars contain response code followed by - or space
+ $s = trim(substr($s, 4));
+ if (empty($s)) {
+ continue;
+ }
+ $fields = explode(' ', $s);
+ if (!empty($fields)) {
+ if (!$n) {
+ $name = $type;
+ $fields = $fields[0];
+ } else {
+ $name = array_shift($fields);
+ switch ($name) {
+ case 'SIZE':
+ $fields = ($fields ? $fields[0] : 0);
+ break;
+ case 'AUTH':
+ if (!is_array($fields)) {
+ $fields = array();
+ }
+ break;
+ default:
+ $fields = true;
+ }
+ }
+ $this->server_caps[$name] = $fields;
+ }
+ }
+ }
+
/**
* Send an SMTP MAIL command.
* Starts a mail transaction from the email address specified in
@@ -608,7 +740,7 @@ protected function sendHello($hello, $host)
* Implements rfc 821: MAIL FROM:
* @param string $from Source address of this message
* @access public
- * @return bool
+ * @return boolean
*/
public function mail($from)
{
@@ -624,35 +756,35 @@ public function mail($from)
* Send an SMTP QUIT command.
* Closes the socket if there is no error or the $close_on_error argument is true.
* Implements from rfc 821: QUIT
- * @param bool $close_on_error Should the connection close if an error occurs?
+ * @param boolean $close_on_error Should the connection close if an error occurs?
* @access public
- * @return bool
+ * @return boolean
*/
public function quit($close_on_error = true)
{
$noerror = $this->sendCommand('QUIT', 'QUIT', 221);
- $e = $this->error; //Save any error
+ $err = $this->error; //Save any error
if ($noerror or $close_on_error) {
$this->close();
- $this->error = $e; //Restore any error from the quit command
+ $this->error = $err; //Restore any error from the quit command
}
return $noerror;
}
/**
* Send an SMTP RCPT command.
- * Sets the TO argument to $to.
+ * Sets the TO argument to $toaddr.
* Returns true if the recipient was accepted false if it was rejected.
* Implements from rfc 821: RCPT TO:
- * @param string $to The address the message is being sent to
+ * @param string $address The address the message is being sent to
* @access public
- * @return bool
+ * @return boolean
*/
- public function recipient($to)
+ public function recipient($address)
{
return $this->sendCommand(
- 'RCPT TO ',
- 'RCPT TO:<' . $to . '>',
+ 'RCPT TO',
+ 'RCPT TO:<' . $address . '>',
array(250, 251)
);
}
@@ -662,7 +794,7 @@ public function recipient($to)
* Abort any transaction that is currently in progress.
* Implements rfc 821: RSET
* @access public
- * @return bool True on success.
+ * @return boolean True on success.
*/
public function reset()
{
@@ -671,46 +803,61 @@ public function reset()
/**
* Send a command to an SMTP server and check its return code.
- * @param string $command The command name - not sent to the server
+ * @param string $command The command name - not sent to the server
* @param string $commandstring The actual command to send
- * @param int|array $expect One or more expected integer success codes
+ * @param integer|array $expect One or more expected integer success codes
* @access protected
- * @return bool True on success.
+ * @return boolean True on success.
*/
protected function sendCommand($command, $commandstring, $expect)
{
if (!$this->connected()) {
- $this->error = array(
- "error" => "Called $command without being connected"
- );
+ $this->setError("Called $command without being connected");
+ return false;
+ }
+ //Reject line breaks in all commands
+ if (strpos($commandstring, "\n") !== false or strpos($commandstring, "\r") !== false) {
+ $this->setError("Command '$command' contained line breaks");
return false;
}
$this->client_send($commandstring . self::CRLF);
- $reply = $this->get_lines();
- $code = substr($reply, 0, 3);
-
- if ($this->do_debug >= 2) {
- $this->edebug('SMTP -> FROM SERVER:' . $reply);
+ $this->last_reply = $this->get_lines();
+ // Fetch SMTP code and possible error code explanation
+ $matches = array();
+ if (preg_match("/^([0-9]{3})[ -](?:([0-9]\\.[0-9]\\.[0-9]) )?/", $this->last_reply, $matches)) {
+ $code = $matches[1];
+ $code_ex = (count($matches) > 2 ? $matches[2] : null);
+ // Cut off error code from each response line
+ $detail = preg_replace(
+ "/{$code}[ -]".($code_ex ? str_replace('.', '\\.', $code_ex).' ' : '')."/m",
+ '',
+ $this->last_reply
+ );
+ } else {
+ // Fall back to simple parsing if regex fails
+ $code = substr($this->last_reply, 0, 3);
+ $code_ex = null;
+ $detail = substr($this->last_reply, 4);
}
+ $this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER);
+
if (!in_array($code, (array)$expect)) {
- $this->last_reply = null;
- $this->error = array(
- "error" => "$command command failed",
- "smtp_code" => $code,
- "detail" => substr($reply, 4)
+ $this->setError(
+ "$command command failed",
+ $detail,
+ $code,
+ $code_ex
+ );
+ $this->edebug(
+ 'SMTP ERROR: ' . $this->error['error'] . ': ' . $this->last_reply,
+ self::DEBUG_CLIENT
);
- if ($this->do_debug >= 1) {
- $this->edebug(
- 'SMTP -> ERROR: ' . $this->error['error'] . ': ' . $reply
- );
- }
return false;
}
- $this->last_reply = $reply;
- $this->error = null;
+ $this->setError('');
return true;
}
@@ -725,52 +872,48 @@ protected function sendCommand($command, $commandstring, $expect)
* Implements rfc 821: SAML FROM:
* @param string $from The address the message is from
* @access public
- * @return bool
+ * @return boolean
*/
public function sendAndMail($from)
{
- return $this->sendCommand("SAML", "SAML FROM:$from", 250);
+ return $this->sendCommand('SAML', "SAML FROM:$from", 250);
}
/**
* Send an SMTP VRFY command.
* @param string $name The name to verify
* @access public
- * @return bool
+ * @return boolean
*/
public function verify($name)
{
- return $this->sendCommand("VRFY", "VRFY $name", array(250, 251));
+ return $this->sendCommand('VRFY', "VRFY $name", array(250, 251));
}
/**
* Send an SMTP NOOP command.
* Used to keep keep-alives alive, doesn't actually do anything
* @access public
- * @return bool
+ * @return boolean
*/
public function noop()
{
- return $this->sendCommand("NOOP", "NOOP", 250);
+ return $this->sendCommand('NOOP', 'NOOP', 250);
}
/**
* Send an SMTP TURN command.
* This is an optional command for SMTP that this class does not support.
- * This method is here to make the RFC821 Definition
- * complete for this class and __may__ be implemented in future
+ * This method is here to make the RFC821 Definition complete for this class
+ * and _may_ be implemented in future
* Implements from rfc 821: TURN
* @access public
- * @return bool
+ * @return boolean
*/
public function turn()
{
- $this->error = array(
- 'error' => 'The SMTP TURN command is not implemented'
- );
- if ($this->do_debug >= 1) {
- $this->edebug('SMTP -> NOTICE: ' . $this->error['error']);
- }
+ $this->setError('The SMTP TURN command is not implemented');
+ $this->edebug('SMTP NOTICE: ' . $this->error['error'], self::DEBUG_CLIENT);
return false;
}
@@ -778,13 +921,11 @@ public function turn()
* Send raw data to the server.
* @param string $data The data to send
* @access public
- * @return int|bool The number of bytes sent to the server or FALSE on error
+ * @return integer|boolean The number of bytes sent to the server or false on error
*/
public function client_send($data)
{
- if ($this->do_debug >= 1) {
- $this->edebug("CLIENT -> SMTP: $data");
- }
+ $this->edebug("CLIENT -> SERVER: $data", self::DEBUG_CLIENT);
return fwrite($this->smtp_conn, $data);
}
@@ -798,6 +939,57 @@ public function getError()
return $this->error;
}
+ /**
+ * Get SMTP extensions available on the server
+ * @access public
+ * @return array|null
+ */
+ public function getServerExtList()
+ {
+ return $this->server_caps;
+ }
+
+ /**
+ * A multipurpose method
+ * The method works in three ways, dependent on argument value and current state
+ * 1. HELO/EHLO was not sent - returns null and set up $this->error
+ * 2. HELO was sent
+ * $name = 'HELO': returns server name
+ * $name = 'EHLO': returns boolean false
+ * $name = any string: returns null and set up $this->error
+ * 3. EHLO was sent
+ * $name = 'HELO'|'EHLO': returns server name
+ * $name = any string: if extension $name exists, returns boolean True
+ * or its options. Otherwise returns boolean False
+ * In other words, one can use this method to detect 3 conditions:
+ * - null returned: handshake was not or we don't know about ext (refer to $this->error)
+ * - false returned: the requested feature exactly not exists
+ * - positive value returned: the requested feature exists
+ * @param string $name Name of SMTP extension or 'HELO'|'EHLO'
+ * @return mixed
+ */
+ public function getServerExt($name)
+ {
+ if (!$this->server_caps) {
+ $this->setError('No HELO/EHLO was sent');
+ return null;
+ }
+
+ // the tight logic knot ;)
+ if (!array_key_exists($name, $this->server_caps)) {
+ if ($name == 'HELO') {
+ return $this->server_caps['EHLO'];
+ }
+ if ($name == 'EHLO' || array_key_exists('EHLO', $this->server_caps)) {
+ return false;
+ }
+ $this->setError('HELO handshake was used. Client knows nothing about server extensions');
+ return null;
+ }
+
+ return $this->server_caps[$name];
+ }
+
/**
* Get the last reply from the server.
* @access public
@@ -819,51 +1011,42 @@ public function getLastReply()
*/
protected function get_lines()
{
- $data = '';
- $endtime = 0;
- // If the connection is bad, give up now
+ // If the connection is bad, give up straight away
if (!is_resource($this->smtp_conn)) {
- return $data;
+ return '';
}
+ $data = '';
+ $endtime = 0;
stream_set_timeout($this->smtp_conn, $this->Timeout);
if ($this->Timelimit > 0) {
$endtime = time() + $this->Timelimit;
}
while (is_resource($this->smtp_conn) && !feof($this->smtp_conn)) {
$str = @fgets($this->smtp_conn, 515);
- if ($this->do_debug >= 4) {
- $this->edebug("SMTP -> get_lines(): \$data was \"$data\"");
- $this->edebug("SMTP -> get_lines(): \$str is \"$str\"");
- }
+ $this->edebug("SMTP -> get_lines(): \$data is \"$data\"", self::DEBUG_LOWLEVEL);
+ $this->edebug("SMTP -> get_lines(): \$str is \"$str\"", self::DEBUG_LOWLEVEL);
$data .= $str;
- if ($this->do_debug >= 4) {
- $this->edebug("SMTP -> get_lines(): \$data is \"$data\"");
- }
- // if 4th character is a space, we are done reading, break the loop
- if (substr($str, 3, 1) == ' ') {
+ // If 4th character is a space, we are done reading, break the loop, micro-optimisation over strlen
+ if ((isset($str[3]) and $str[3] == ' ')) {
break;
}
// Timed-out? Log and break
$info = stream_get_meta_data($this->smtp_conn);
if ($info['timed_out']) {
- if ($this->do_debug >= 4) {
- $this->edebug(
- 'SMTP -> get_lines(): timed-out (' . $this->Timeout . ' sec)'
- );
- }
+ $this->edebug(
+ 'SMTP -> get_lines(): timed-out (' . $this->Timeout . ' sec)',
+ self::DEBUG_LOWLEVEL
+ );
break;
}
// Now check if reads took too long
- if ($endtime) {
- if (time() > $endtime) {
- if ($this->do_debug >= 4) {
- $this->edebug(
- 'SMTP -> get_lines(): timelimit reached ('
- . $this->Timelimit . ' sec)'
- );
- }
- break;
- }
+ if ($endtime and time() > $endtime) {
+ $this->edebug(
+ 'SMTP -> get_lines(): timelimit reached ('.
+ $this->Timelimit . ' sec)',
+ self::DEBUG_LOWLEVEL
+ );
+ break;
}
}
return $data;
@@ -871,7 +1054,7 @@ protected function get_lines()
/**
* Enable or disable VERP address generation.
- * @param bool $enabled
+ * @param boolean $enabled
*/
public function setVerp($enabled = false)
{
@@ -880,16 +1063,33 @@ public function setVerp($enabled = false)
/**
* Get VERP address generation mode.
- * @return bool
+ * @return boolean
*/
public function getVerp()
{
return $this->do_verp;
}
+ /**
+ * Set error messages and codes.
+ * @param string $message The error message
+ * @param string $detail Further detail on the error
+ * @param string $smtp_code An associated SMTP error code
+ * @param string $smtp_code_ex Extended SMTP code
+ */
+ protected function setError($message, $detail = '', $smtp_code = '', $smtp_code_ex = '')
+ {
+ $this->error = array(
+ 'error' => $message,
+ 'detail' => $detail,
+ 'smtp_code' => $smtp_code,
+ 'smtp_code_ex' => $smtp_code_ex
+ );
+ }
+
/**
* Set debug output method.
- * @param string $method The function/method to use for debugging output.
+ * @param string|callable $method The name of the mechanism to use for debugging output, or a callable to handle it.
*/
public function setDebugOutput($method = 'echo')
{
@@ -907,7 +1107,7 @@ public function getDebugOutput()
/**
* Set debug output level.
- * @param int $level
+ * @param integer $level
*/
public function setDebugLevel($level = 0)
{
@@ -916,7 +1116,7 @@ public function setDebugLevel($level = 0)
/**
* Get debug output level.
- * @return int
+ * @return integer
*/
public function getDebugLevel()
{
@@ -925,7 +1125,7 @@ public function getDebugLevel()
/**
* Set SMTP timeout.
- * @param int $timeout
+ * @param integer $timeout
*/
public function setTimeout($timeout = 0)
{
@@ -934,10 +1134,53 @@ public function setTimeout($timeout = 0)
/**
* Get SMTP timeout.
- * @return int
+ * @return integer
*/
public function getTimeout()
{
return $this->Timeout;
}
+
+ /**
+ * Reports an error number and string.
+ * @param integer $errno The error number returned by PHP.
+ * @param string $errmsg The error message returned by PHP.
+ */
+ protected function errorHandler($errno, $errmsg)
+ {
+ $notice = 'Connection: Failed to connect to server.';
+ $this->setError(
+ $notice,
+ $errno,
+ $errmsg
+ );
+ $this->edebug(
+ $notice . ' Error number ' . $errno . '. "Error notice: ' . $errmsg,
+ self::DEBUG_CONNECTION
+ );
+ }
+
+ /**
+ * Will return the ID of the last smtp transaction based on a list of patterns provided
+ * in SMTP::$smtp_transaction_id_patterns.
+ * If no reply has been received yet, it will return null.
+ * If no pattern has been matched, it will return false.
+ * @return bool|null|string
+ */
+ public function getLastTransactionID()
+ {
+ $reply = $this->getLastReply();
+
+ if (empty($reply)) {
+ return null;
+ }
+
+ foreach($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) {
+ if(preg_match($smtp_transaction_id_pattern, $reply, $matches)) {
+ return $matches[1];
+ }
+ }
+
+ return false;
+ }
}
diff --git a/wp-includes/class-snoopy.php b/wp-includes/class-snoopy.php
index 2c59c48112..5c3034f69e 100644
--- a/wp-includes/class-snoopy.php
+++ b/wp-includes/class-snoopy.php
@@ -999,20 +999,23 @@ function _httpsrequest($url,$URI,$http_method,$content_type="",$body="")
if(!empty($this->user) || !empty($this->pass))
$headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass);
- for($curr_header = 0; $curr_header < count($headers); $curr_header++) {
- $safer_header = strtr( $headers[$curr_header], "\"", " " );
- $cmdline_params .= " -H \"".$safer_header."\"";
+ $headerfile = tempnam( $this->temp_dir, "sno" );
+ $cmdline_params = '-k -D ' . escapeshellarg( $headerfile );
+
+ foreach ( $headers as $header ) {
+ $cmdline_params .= ' -H ' . escapeshellarg( $header );
}
- if(!empty($body))
- $cmdline_params .= " -d \"$body\"";
+ if ( ! empty( $body ) ) {
+ $cmdline_params .= ' -d ' . escapeshellarg( $body );
+ }
- if($this->read_timeout > 0)
- $cmdline_params .= " -m ".$this->read_timeout;
+ if ( $this->read_timeout > 0 ) {
+ $cmdline_params .= ' -m ' . escapeshellarg( $this->read_timeout );
+ }
- $headerfile = tempnam($this->temp_dir, "sno");
- exec($this->curl_path." -k -D \"$headerfile\"".$cmdline_params." \"".escapeshellcmd($URI)."\"",$results,$return);
+ exec( $this->curl_path . ' ' . $cmdline_params . ' ' . escapeshellarg( $URI ), $results, $return );
if($return)
{
diff --git a/wp-includes/class-wp-customize-manager.php b/wp-includes/class-wp-customize-manager.php
index 4465a80545..df0c4d2a98 100644
--- a/wp-includes/class-wp-customize-manager.php
+++ b/wp-includes/class-wp-customize-manager.php
@@ -166,6 +166,24 @@ public function setup_theme() {
$this->theme = wp_get_theme( isset( $_REQUEST['theme'] ) ? $_REQUEST['theme'] : null );
+ /*
+ * Clear incoming post data if the user lacks a CSRF token (nonce). Note that the customizer
+ * application will inject the customize_preview_nonce query parameter into all Ajax requests.
+ * For similar behavior elsewhere in WordPress, see rest_cookie_check_errors() which logs out
+ * a user when a valid nonce isn't present.
+ */
+ $has_post_data_nonce = (
+ check_ajax_referer( 'preview-customize_' . $this->get_stylesheet(), 'nonce', false )
+ ||
+ check_ajax_referer( 'save-customize_' . $this->get_stylesheet(), 'nonce', false )
+ ||
+ check_ajax_referer( 'preview-customize_' . $this->get_stylesheet(), 'customize_preview_nonce', false )
+ );
+ if ( ! $has_post_data_nonce ) {
+ unset( $_POST['customized'] );
+ unset( $_REQUEST['customized'] );
+ }
+
if ( $this->is_theme_active() ) {
// Once the theme is loaded, we'll validate it.
add_action( 'after_setup_theme', array( $this, 'after_setup_theme' ) );
diff --git a/wp-includes/class-wp-customize-widgets.php b/wp-includes/class-wp-customize-widgets.php
index 4413ee6b9d..0bf79c4ae4 100644
--- a/wp-includes/class-wp-customize-widgets.php
+++ b/wp-includes/class-wp-customize-widgets.php
@@ -1195,7 +1195,7 @@ public function sanitize_widget_instance( $value ) {
return null;
}
- if ( $this->get_instance_hash_key( $decoded ) !== $value['instance_hash_key'] ) {
+ if ( ! hash_equals( $this->get_instance_hash_key( $decoded ), $value['instance_hash_key'] ) ) {
return null;
}
diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php
index 200031bbdc..a46043a5c9 100644
--- a/wp-includes/class-wp-editor.php
+++ b/wp-includes/class-wp-editor.php
@@ -116,12 +116,6 @@ public static function parse_settings( $editor_id, $settings ) {
// A cookie (set when a user resizes the editor) overrides the height.
$cookie = (int) get_user_setting( 'ed_size' );
- // Upgrade an old TinyMCE cookie if it is still around, and the new one isn't.
- if ( ! $cookie && isset( $_COOKIE['TinyMCE_content_size'] ) ) {
- parse_str( $_COOKIE['TinyMCE_content_size'], $cookie );
- $cookie = $cookie['ch'];
- }
-
if ( $cookie )
$set['editor_height'] = $cookie;
}
diff --git a/wp-includes/class-wp-embed.php b/wp-includes/class-wp-embed.php
index 6b5a51a715..83ede69d1c 100644
--- a/wp-includes/class-wp-embed.php
+++ b/wp-includes/class-wp-embed.php
@@ -60,7 +60,7 @@ public function run_shortcode( $content ) {
add_shortcode( 'embed', array( $this, 'shortcode' ) );
// Do the shortcode (only the [embed] one is registered)
- $content = do_shortcode( $content );
+ $content = do_shortcode( $content, true );
// Put the original shortcodes back
$shortcode_tags = $orig_shortcode_tags;
@@ -326,7 +326,14 @@ public function cache_oembed( $post_ID ) {
* @return string Potentially modified $content.
*/
public function autoembed( $content ) {
- return preg_replace_callback( '|^\s*(https?://[^\s"]+)\s*$|im', array( $this, 'autoembed_callback' ), $content );
+ // Replace line breaks from all HTML elements with placeholders.
+ $content = wp_replace_in_html_tags( $content, array( "\n" => '' ) );
+
+ // Find URLs that are on their own line.
+ $content = preg_replace_callback( '|^\s*(https?://[^\s"]+)\s*$|im', array( $this, 'autoembed_callback' ), $content );
+
+ // Put the line breaks back.
+ return str_replace( '', "\n", $content );
}
/**
diff --git a/wp-includes/class-wp-theme.php b/wp-includes/class-wp-theme.php
index eaf244b78e..bf7a8337c7 100644
--- a/wp-includes/class-wp-theme.php
+++ b/wp-includes/class-wp-theme.php
@@ -216,7 +216,7 @@ public function __construct( $theme_dir, $theme_root, $_child = null ) {
} elseif ( ! file_exists( $this->theme_root . '/' . $theme_file ) ) {
$this->headers['Name'] = $this->stylesheet;
if ( ! file_exists( $this->theme_root . '/' . $this->stylesheet ) )
- $this->errors = new WP_Error( 'theme_not_found', sprintf( __( 'The theme directory "%s" does not exist.' ), $this->stylesheet ) );
+ $this->errors = new WP_Error( 'theme_not_found', sprintf( __( 'The theme directory "%s" does not exist.' ), esc_html( $this->stylesheet ) ) );
else
$this->errors = new WP_Error( 'theme_no_stylesheet', __( 'Stylesheet is missing.' ) );
$this->template = $this->stylesheet;
@@ -263,7 +263,7 @@ public function __construct( $theme_dir, $theme_root, $_child = null ) {
$theme_root_template = $directories[ $this->template ]['theme_root'];
} else {
// Parent theme is missing.
- $this->errors = new WP_Error( 'theme_no_parent', sprintf( __( 'The parent theme is missing. Please install the "%s" parent theme.' ), $this->template ) );
+ $this->errors = new WP_Error( 'theme_no_parent', sprintf( __( 'The parent theme is missing. Please install the "%s" parent theme.' ), esc_html( $this->template ) ) );
$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
$this->parent = new WP_Theme( $this->template, $this->theme_root, $this );
return;
@@ -275,11 +275,11 @@ public function __construct( $theme_dir, $theme_root, $_child = null ) {
// If we are a parent, then there is a problem. Only two generations allowed! Cancel things out.
if ( is_a( $_child, 'WP_Theme' ) && $_child->template == $this->stylesheet ) {
$_child->parent = null;
- $_child->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), $_child->template ) );
+ $_child->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), esc_html( $_child->template ) ) );
$_child->cache_add( 'theme', array( 'headers' => $_child->headers, 'errors' => $_child->errors, 'stylesheet' => $_child->stylesheet, 'template' => $_child->template ) );
// The two themes actually reference each other with the Template header.
if ( $_child->stylesheet == $this->template ) {
- $this->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), $this->template ) );
+ $this->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), esc_html( $this->template ) ) );
$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
}
return;
@@ -654,8 +654,9 @@ private function sanitize_header( $header, $value ) {
private function markup_header( $header, $value, $translate ) {
switch ( $header ) {
case 'Name' :
- if ( empty( $value ) )
- $value = $this->get_stylesheet();
+ if ( empty( $value ) ) {
+ $value = esc_html( $this->get_stylesheet() );
+ }
break;
case 'Description' :
$value = wptexturize( $value );
diff --git a/wp-includes/class-wp-xmlrpc-server.php b/wp-includes/class-wp-xmlrpc-server.php
index 4ea5df60f8..72ffe5fec9 100644
--- a/wp-includes/class-wp-xmlrpc-server.php
+++ b/wp-includes/class-wp-xmlrpc-server.php
@@ -320,6 +320,11 @@ public function set_custom_fields($post_id, $fields) {
if ( isset($meta['id']) ) {
$meta['id'] = (int) $meta['id'];
$pmeta = get_metadata_by_mid( 'post', $meta['id'] );
+
+ if ( ! $pmeta || $pmeta->post_id != $post_id ) {
+ continue;
+ }
+
if ( isset($meta['key']) ) {
$meta['key'] = wp_unslash( $meta['key'] );
if ( $meta['key'] !== $pmeta->meta_key )
@@ -1138,6 +1143,56 @@ private function _is_greater_than_one( $count ) {
return $count > 1;
}
+ private function _validate_boolean( $var ) {
+ if ( is_bool( $var ) ) {
+ return $var;
+ }
+
+ if ( is_string( $var ) && 'false' === strtolower( $var ) ) {
+ return false;
+ }
+
+ return (bool) $var;
+ }
+
+ /**
+ * Encapsulate the logic for sticking a post
+ * and determining if the user has permission to do so
+ *
+ * @since 4.3.0
+ * @access private
+ *
+ * @param array $post_data
+ * @param bool $update
+ * @return void|IXR_Error
+ */
+ private function _toggle_sticky( $post_data, $update = false ) {
+ $post_type = get_post_type_object( $post_data['post_type'] );
+
+ // Private and password-protected posts cannot be stickied.
+ if ( 'private' === $post_data['post_status'] || ! empty( $post_data['post_password'] ) ) {
+ // Error if the client tried to stick the post, otherwise, silently unstick.
+ if ( ! empty( $post_data['sticky'] ) ) {
+ return new IXR_Error( 401, __( 'Sorry, you cannot stick a private post.' ) );
+ }
+
+ if ( $update ) {
+ unstick_post( $post_data['ID'] );
+ }
+ } elseif ( isset( $post_data['sticky'] ) ) {
+ if ( ! current_user_can( $post_type->cap->edit_others_posts ) ) {
+ return new IXR_Error( 401, __( 'Sorry, you are not allowed to stick this post.' ) );
+ }
+
+ $sticky = $this->_validate_boolean( $post_data['sticky'] );
+ if ( $sticky ) {
+ stick_post( $post_data['ID'] );
+ } else {
+ unstick_post( $post_data['ID'] );
+ }
+ }
+ }
+
/**
* Helper method for wp_newPost and wp_editPost, containing shared logic.
*
@@ -1148,10 +1203,31 @@ private function _is_greater_than_one( $count ) {
* @param array $content_struct Post data to insert.
*/
protected function _insert_post( $user, $content_struct ) {
- $defaults = array( 'post_status' => 'draft', 'post_type' => 'post', 'post_author' => 0,
- 'post_password' => '', 'post_excerpt' => '', 'post_content' => '', 'post_title' => '' );
+ $defaults = array(
+ 'post_status' => 'draft',
+ 'post_type' => 'post',
+ 'post_author' => null,
+ 'post_password' => null,
+ 'post_excerpt' => null,
+ 'post_content' => null,
+ 'post_title' => null,
+ 'post_date' => null,
+ 'post_date_gmt' => null,
+ 'post_format' => null,
+ 'post_name' => null,
+ 'post_thumbnail' => null,
+ 'post_parent' => null,
+ 'ping_status' => null,
+ 'comment_status' => null,
+ 'custom_fields' => null,
+ 'terms_names' => null,
+ 'terms' => null,
+ 'sticky' => null,
+ 'enclosure' => null,
+ 'ID' => null,
+ );
- $post_data = wp_parse_args( $content_struct, $defaults );
+ $post_data = wp_parse_args( array_intersect_key( $content_struct, $defaults ), $defaults );
$post_type = get_post_type_object( $post_data['post_type'] );
if ( ! $post_type )
@@ -1230,20 +1306,9 @@ protected function _insert_post( $user, $content_struct ) {
$post_ID = $post_data['ID'];
if ( $post_data['post_type'] == 'post' ) {
- // Private and password-protected posts cannot be stickied.
- if ( $post_data['post_status'] == 'private' || ! empty( $post_data['post_password'] ) ) {
- // Error if the client tried to stick the post, otherwise, silently unstick.
- if ( ! empty( $post_data['sticky'] ) )
- return new IXR_Error( 401, __( 'Sorry, you cannot stick a private post.' ) );
- if ( $update )
- unstick_post( $post_ID );
- } elseif ( isset( $post_data['sticky'] ) ) {
- if ( ! current_user_can( $post_type->cap->edit_others_posts ) )
- return new IXR_Error( 401, __( 'Sorry, you are not allowed to stick this post.' ) );
- if ( $post_data['sticky'] )
- stick_post( $post_ID );
- else
- unstick_post( $post_ID );
+ $error = $this->_toggle_sticky( $post_data, $update );
+ if ( $error ) {
+ return $error;
}
}
@@ -1343,9 +1408,6 @@ protected function _insert_post( $user, $content_struct ) {
$post_data['tax_input'] = $terms;
unset( $post_data['terms'], $post_data['terms_names'] );
- } else {
- // do not allow direct submission of 'tax_input', clients must use 'terms' and/or 'terms_names'
- unset( $post_data['tax_input'], $post_data['post_category'], $post_data['tags_input'] );
}
if ( isset( $post_data['post_format'] ) ) {
@@ -3249,6 +3311,22 @@ public function wp_newComment($args) {
if ( ! get_post($post_id) )
return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ if (
+ 'publish' === get_post_status( $post_id ) &&
+ ! current_user_can( 'edit_post', $post_id ) &&
+ post_password_required( $post_id )
+ ) {
+ return new IXR_Error( 403, __( 'Sorry, you are not allowed to comment on this post.' ) );
+ }
+
+ if (
+ 'private' === get_post_status( $post_id ) &&
+ ! current_user_can( 'read_post', $post_id )
+ ) {
+ return new IXR_Error( 403, __( 'Sorry, you are not allowed to comment on this post.' ) );
+ }
+
+ $comment = array();
$comment['comment_post_ID'] = $post_id;
if ( $logged_in ) {
@@ -3571,8 +3649,10 @@ public function wp_getMediaItem($args) {
/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
do_action( 'xmlrpc_call', 'wp.getMediaItem' );
- if ( ! $attachment = get_post($attachment_id) )
+ $attachment = get_post( $attachment_id );
+ if ( ! $attachment || 'attachment' !== $attachment->post_type ) {
return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
+ }
return $this->_prepare_media_item( $attachment );
}
@@ -4617,10 +4697,12 @@ public function mw_newPost($args) {
// Only posts can be sticky
if ( $post_type == 'post' && isset( $content_struct['sticky'] ) ) {
- if ( $content_struct['sticky'] == true )
- stick_post( $post_ID );
- elseif ( $content_struct['sticky'] == false )
- unstick_post( $post_ID );
+ $data = $postdata;
+ $data['sticky'] = $content_struct['sticky'];
+ $error = $this->_toggle_sticky( $data );
+ if ( $error ) {
+ return $error;
+ }
}
if ( isset($content_struct['custom_fields']) )
@@ -4902,11 +4984,12 @@ public function mw_editPost($args) {
$tags_input = isset( $content_struct['mt_keywords'] ) ? $content_struct['mt_keywords'] : null;
- if ( ('publish' == $post_status) ) {
- if ( ( 'page' == $post_type ) && !current_user_can('publish_pages') )
- return new IXR_Error(401, __('Sorry, you do not have the right to publish this page.'));
- else if ( !current_user_can('publish_posts') )
- return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
+ if ( 'publish' == $post_status || 'private' == $post_status ) {
+ if ( 'page' == $post_type && ! current_user_can( 'publish_pages' ) ) {
+ return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this page.' ) );
+ } elseif ( ! current_user_can( 'publish_posts' ) ) {
+ return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this post.' ) );
+ }
}
if ( $post_more )
@@ -4946,10 +5029,13 @@ public function mw_editPost($args) {
// Only posts can be sticky
if ( $post_type == 'post' && isset( $content_struct['sticky'] ) ) {
- if ( $content_struct['sticky'] == true )
- stick_post( $post_ID );
- elseif ( $content_struct['sticky'] == false )
- unstick_post( $post_ID );
+ $data = $newpost;
+ $data['sticky'] = $content_struct['sticky'];
+ $data['post_type'] = 'post';
+ $error = $this->_toggle_sticky( $data, true );
+ if ( $error ) {
+ return $error;
+ }
}
if ( isset($content_struct['custom_fields']) )
diff --git a/wp-includes/class-wp.php b/wp-includes/class-wp.php
index 4edcaf7307..cf965c3124 100644
--- a/wp-includes/class-wp.php
+++ b/wp-includes/class-wp.php
@@ -15,7 +15,7 @@ class WP {
* @access public
* @var array
*/
- public $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
+ public $public_query_vars = array( 'm', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type', 'embed' );
/**
* Private query variables.
@@ -265,6 +265,8 @@ public function parse_request($extra_query_vars = '') {
foreach ( $this->public_query_vars as $wpvar ) {
if ( isset( $this->extra_query_vars[$wpvar] ) )
$this->query_vars[$wpvar] = $this->extra_query_vars[$wpvar];
+ elseif ( isset( $_GET[ $wpvar ] ) && isset( $_POST[ $wpvar ] ) && $_GET[ $wpvar ] !== $_POST[ $wpvar ] )
+ wp_die( __( 'A variable mismatch has been detected.' ), __( 'Sorry, you are not allowed to view this item.' ), 400 );
elseif ( isset( $_POST[$wpvar] ) )
$this->query_vars[$wpvar] = $_POST[$wpvar];
elseif ( isset( $_GET[$wpvar] ) )
diff --git a/wp-includes/comment.php b/wp-includes/comment.php
index a4cc7e2b2c..4d71ba787b 100644
--- a/wp-includes/comment.php
+++ b/wp-includes/comment.php
@@ -1916,6 +1916,16 @@ function wp_update_comment($commentarr) {
if ( empty( $comment ) ) {
return 0;
}
+
+ $filter_comment = false;
+ if ( ! has_filter( 'pre_comment_content', 'wp_filter_kses' ) ) {
+ $filter_comment = ! user_can( isset( $comment['user_id'] ) ? $comment['user_id'] : 0, 'unfiltered_html' );
+ }
+
+ if ( $filter_comment ) {
+ add_filter( 'pre_comment_content', 'wp_filter_kses' );
+ }
+
// Escape data pulled from DB.
$comment = wp_slash($comment);
@@ -1926,6 +1936,10 @@ function wp_update_comment($commentarr) {
$commentarr = wp_filter_comment( $commentarr );
+ if ( $filter_comment ) {
+ remove_filter( 'pre_comment_content', 'wp_filter_kses' );
+ }
+
// Now extract the merged array.
$data = wp_unslash( $commentarr );
diff --git a/wp-includes/compat.php b/wp-includes/compat.php
index 83a8c64652..1a79733d53 100644
--- a/wp-includes/compat.php
+++ b/wp-includes/compat.php
@@ -13,23 +13,141 @@ function _($string) {
}
}
-if ( !function_exists('mb_substr') ):
- function mb_substr( $str, $start, $length=null, $encoding=null ) {
- return _mb_substr($str, $start, $length, $encoding);
+/**
+ * Returns whether PCRE/u (PCRE_UTF8 modifier) is available for use.
+ *
+ * @ignore
+ * @since 4.2.2
+ * @access private
+ *
+ * @param bool $set - Used for testing only
+ * null : default - get PCRE/u capability
+ * false : Used for testing - return false for future calls to this function
+ * 'reset': Used for testing - restore default behavior of this function
+ */
+function _wp_can_use_pcre_u( $set = null ) {
+ static $utf8_pcre = 'reset';
+
+ if ( null !== $set ) {
+ $utf8_pcre = $set;
+ }
+
+ if ( 'reset' === $utf8_pcre ) {
+ $utf8_pcre = @preg_match( '/^./u', 'a' );
+ }
+
+ return $utf8_pcre;
+}
+
+if ( ! function_exists( 'mb_substr' ) ) :
+ function mb_substr( $str, $start, $length = null, $encoding = null ) {
+ return _mb_substr( $str, $start, $length, $encoding );
}
endif;
-function _mb_substr( $str, $start, $length=null, $encoding=null ) {
- // the solution below, works only for utf-8, so in case of a different
- // charset, just use built-in substr
- $charset = get_option( 'blog_charset' );
- if ( !in_array( $charset, array('utf8', 'utf-8', 'UTF8', 'UTF-8') ) ) {
- return is_null( $length )? substr( $str, $start ) : substr( $str, $start, $length);
- }
- // use the regex unicode support to separate the UTF-8 characters into an array
- preg_match_all( '/./us', $str, $match );
- $chars = is_null( $length )? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length );
- return implode( '', $chars );
+/*
+ * Only understands UTF-8 and 8bit. All other character sets will be treated as 8bit.
+ * For $encoding === UTF-8, the $str input is expected to be a valid UTF-8 byte sequence.
+ * The behavior of this function for invalid inputs is undefined.
+ */
+function _mb_substr( $str, $start, $length = null, $encoding = null ) {
+ if ( null === $encoding ) {
+ $encoding = get_option( 'blog_charset' );
+ }
+
+ // The solution below works only for UTF-8,
+ // so in case of a different charset just use built-in substr()
+ if ( ! in_array( $encoding, array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
+ return is_null( $length ) ? substr( $str, $start ) : substr( $str, $start, $length );
+ }
+
+ if ( _wp_can_use_pcre_u() ) {
+ // Use the regex unicode support to separate the UTF-8 characters into an array
+ preg_match_all( '/./us', $str, $match );
+ $chars = is_null( $length ) ? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length );
+ return implode( '', $chars );
+ }
+
+ $regex = '/(
+ [\x00-\x7F] # single-byte sequences 0xxxxxxx
+ | [\xC2-\xDF][\x80-\xBF] # double-byte sequences 110xxxxx 10xxxxxx
+ | \xE0[\xA0-\xBF][\x80-\xBF] # triple-byte sequences 1110xxxx 10xxxxxx * 2
+ | [\xE1-\xEC][\x80-\xBF]{2}
+ | \xED[\x80-\x9F][\x80-\xBF]
+ | [\xEE-\xEF][\x80-\xBF]{2}
+ | \xF0[\x90-\xBF][\x80-\xBF]{2} # four-byte sequences 11110xxx 10xxxxxx * 3
+ | [\xF1-\xF3][\x80-\xBF]{3}
+ | \xF4[\x80-\x8F][\x80-\xBF]{2}
+ )/x';
+
+ $chars = array( '' ); // Start with 1 element instead of 0 since the first thing we do is pop
+ do {
+ // We had some string left over from the last round, but we counted it in that last round.
+ array_pop( $chars );
+
+ // Split by UTF-8 character, limit to 1000 characters (last array element will contain the rest of the string)
+ $pieces = preg_split( $regex, $str, 1000, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
+
+ $chars = array_merge( $chars, $pieces );
+ } while ( count( $pieces ) > 1 && $str = array_pop( $pieces ) ); // If there's anything left over, repeat the loop.
+
+ return join( '', array_slice( $chars, $start, $length ) );
+}
+
+if ( ! function_exists( 'mb_strlen' ) ) :
+ function mb_strlen( $str, $encoding = null ) {
+ return _mb_strlen( $str, $encoding );
+ }
+endif;
+
+/*
+ * Only understands UTF-8 and 8bit. All other character sets will be treated as 8bit.
+ * For $encoding === UTF-8, the $str input is expected to be a valid UTF-8 byte sequence.
+ * The behavior of this function for invalid inputs is undefined.
+ */
+function _mb_strlen( $str, $encoding = null ) {
+ if ( null === $encoding ) {
+ $encoding = get_option( 'blog_charset' );
+ }
+
+ // The solution below works only for UTF-8,
+ // so in case of a different charset just use built-in strlen()
+ if ( ! in_array( $encoding, array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
+ return strlen( $str );
+ }
+
+ if ( _wp_can_use_pcre_u() ) {
+ // Use the regex unicode support to separate the UTF-8 characters into an array
+ preg_match_all( '/./us', $str, $match );
+ return count( $match[0] );
+ }
+
+ $regex = '/(?:
+ [\x00-\x7F] # single-byte sequences 0xxxxxxx
+ | [\xC2-\xDF][\x80-\xBF] # double-byte sequences 110xxxxx 10xxxxxx
+ | \xE0[\xA0-\xBF][\x80-\xBF] # triple-byte sequences 1110xxxx 10xxxxxx * 2
+ | [\xE1-\xEC][\x80-\xBF]{2}
+ | \xED[\x80-\x9F][\x80-\xBF]
+ | [\xEE-\xEF][\x80-\xBF]{2}
+ | \xF0[\x90-\xBF][\x80-\xBF]{2} # four-byte sequences 11110xxx 10xxxxxx * 3
+ | [\xF1-\xF3][\x80-\xBF]{3}
+ | \xF4[\x80-\x8F][\x80-\xBF]{2}
+ )/x';
+
+ $count = 1; // Start at 1 instead of 0 since the first thing we do is decrement
+ do {
+ // We had some string left over from the last round, but we counted it in that last round.
+ $count--;
+
+ // Split by UTF-8 character, limit to 1000 characters (last array element will contain the rest of the string)
+ $pieces = preg_split( $regex, $str, 1000 );
+
+ // Increment
+ $count += count( $pieces );
+ } while ( $str = array_pop( $pieces ) ); // If there's anything left over, repeat the loop.
+
+ // Fencepost: preg_split() always returns one extra item in the array
+ return --$count;
}
if ( !function_exists('hash_hmac') ):
diff --git a/wp-includes/css/admin-bar-rtl.min.css b/wp-includes/css/admin-bar-rtl.min.css
index 06290bc215..d3b1765d5c 100644
--- a/wp-includes/css/admin-bar-rtl.min.css
+++ b/wp-includes/css/admin-bar-rtl.min.css
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:transparent;border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:normal 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:rtl;color:#ccc;font:normal 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:normal 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item{color:#eee}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:normal 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:normal 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:normal 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button{display:none}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:normal 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;padding:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:normal 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-search{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto;position:relative}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
diff --git a/wp-includes/css/admin-bar.min.css b/wp-includes/css/admin-bar.min.css
index 8907308a64..e0c9a46ef6 100644
--- a/wp-includes/css/admin-bar.min.css
+++ b/wp-includes/css/admin-bar.min.css
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:transparent;border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:normal 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:ltr;color:#ccc;font:normal 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:normal 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item{color:#eee}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:normal 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:normal 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:normal 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button{display:none}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:normal 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;padding:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:normal 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-search{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto;position:relative}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
diff --git a/wp-includes/css/dashicons.min.css b/wp-includes/css/dashicons.min.css
index b360187af0..0478c141f4 100644
--- a/wp-includes/css/dashicons.min.css
+++ b/wp-includes/css/dashicons.min.css
@@ -1 +1 @@
-@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-grid-view:before{content:"\f509"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}
\ No newline at end of file
+@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-grid-view:before{content:"\f509"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share:before{content:"\f237"}.dashicons-share1:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}
\ No newline at end of file
diff --git a/wp-includes/css/editor-rtl.min.css b/wp-includes/css/editor-rtl.min.css
index 0dde7891ec..849f2e915f 100644
--- a/wp-includes/css/editor-rtl.min.css
+++ b/wp-includes/css/editor-rtl.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;left:0;margin:5px 0 0 5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:normal 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:normal 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px;padding-left:2px}.qt-fullscreen{font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:normal 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;left:0;margin:5px 0 0 5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:normal 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/editor.min.css b/wp-includes/css/editor.min.css
index c9af89ff34..f9012fdcbc 100644
--- a/wp-includes/css/editor.min.css
+++ b/wp-includes/css/editor.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;right:0;margin:5px 5px 0 0}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:normal 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:normal 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}.qt-fullscreen{font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:normal 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;right:0;margin:5px 5px 0 0}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:normal 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/jquery-ui-dialog-rtl.min.css b/wp-includes/css/jquery-ui-dialog-rtl.min.css
index 67b4304ace..384afb887c 100644
--- a/wp-includes/css/jquery-ui-dialog-rtl.min.css
+++ b/wp-includes/css/jquery-ui-dialog-rtl.min.css
@@ -16,4 +16,4 @@
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100101}
\ No newline at end of file
diff --git a/wp-includes/css/jquery-ui-dialog.min.css b/wp-includes/css/jquery-ui-dialog.min.css
index 2f9d67e6e9..3c666b831f 100644
--- a/wp-includes/css/jquery-ui-dialog.min.css
+++ b/wp-includes/css/jquery-ui-dialog.min.css
@@ -16,4 +16,4 @@
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100101}
\ No newline at end of file
diff --git a/wp-includes/css/media-views-rtl.css b/wp-includes/css/media-views-rtl.css
index d190939819..bd58a03941 100644
--- a/wp-includes/css/media-views-rtl.css
+++ b/wp-includes/css/media-views-rtl.css
@@ -7,6 +7,14 @@
box-sizing: content-box;
}
+.media-frame input,
+.media-frame select,
+.media-frame textarea {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
.media-modal,
.media-frame {
font-family: "Open Sans", sans-serif;
@@ -56,9 +64,6 @@
.media-frame select {
font-family: "Open Sans", sans-serif;
font-size: 12px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: #dfdfdf;
@@ -878,15 +883,15 @@
}
.attachment .thumbnail .centered img {
- -webkit-transform: translate( -50%, -50% );
- -ms-transform: translate(-50%,-50%);
- transform: translate( -50%, -50% );
+ -webkit-transform: translate( 50%, -50% );
+ -ms-transform: translate(50%,-50%);
+ transform: translate( 50%, -50% );
}
.attachment .thumbnail .centered img.icon {
- -webkit-transform: translate( -50%, -70% );
- -ms-transform: translate(-50%,-70%);
- transform: translate( -50%, -70% );
+ -webkit-transform: translate( 50%, -70% );
+ -ms-transform: translate(50%,-70%);
+ transform: translate( 50%, -70% );
}
.ie8 .attachment img.icon {
@@ -1745,8 +1750,8 @@
padding: 12px 14px;
width: 100%;
min-width: 200px;
- -webkit-box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
- box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
+ -webkit-box-shadow: inset -2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
+ box-shadow: inset -2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
}
.media-frame .embed-url .spinner {
diff --git a/wp-includes/css/media-views-rtl.min.css b/wp-includes/css/media-views-rtl.min.css
index d34655998f..84cee59dd1 100644
--- a/wp-includes/css/media-views-rtl.min.css
+++ b/wp-includes/css/media-views-rtl.min.css
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;left:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px;text-align:left}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:left}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:right}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;left:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{left:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;left:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{left:0;margin-left:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.attachments-browser .no-media{padding:2em 2em 0 0}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background:#e00 -webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background:#e00 -webkit-linear-gradient(top,#e00,#a00);background:#e00 linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;left:4px;bottom:4px;right:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:left;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;right:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{right:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;right:-300px;left:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{right:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{right:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:right;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;right:70%}.image-details .column-settings{width:70%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;right:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;left:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;left:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:normal 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px;text-align:left}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:left}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:right}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759b;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(50%,-70%);-ms-transform:translate(50%,-70%);transform:translate(50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;left:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{left:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;left:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:normal 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{left:0;margin-left:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.attachments-browser .no-media{padding:2em 2em 0 0}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width .3s;transition:width .3s}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0 auto;padding:8px;border:1px #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty{display:none}.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759b}.media-selection .selection-info a:hover{background:#21759b;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;left:4px;bottom:4px;right:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,#fff,rgba(255,255,255,0));background-image:linear-gradient(to right,#fff ,rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:left;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px 0}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset -2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset -2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;right:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0 6px}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0 1%;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{right:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;right:-300px;left:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{right:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{right:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:right;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;right:70%}.image-details .column-settings{width:70%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;right:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;left:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
diff --git a/wp-includes/css/media-views.css b/wp-includes/css/media-views.css
index ced0c8fc23..e463abfb5c 100644
--- a/wp-includes/css/media-views.css
+++ b/wp-includes/css/media-views.css
@@ -7,6 +7,14 @@
box-sizing: content-box;
}
+.media-frame input,
+.media-frame select,
+.media-frame textarea {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
.media-modal,
.media-frame {
font-family: "Open Sans", sans-serif;
@@ -56,9 +64,6 @@
.media-frame select {
font-family: "Open Sans", sans-serif;
font-size: 12px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: #dfdfdf;
diff --git a/wp-includes/css/media-views.min.css b/wp-includes/css/media-views.min.css
index 66caf7a0ad..19b164eafc 100644
--- a/wp-includes/css/media-views.min.css
+++ b/wp-includes/css/media-views.min.css
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;right:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;text-align:right}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:left}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{right:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;right:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.attachments-browser .no-media{padding:2em 0 0 2em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background:#e00 -webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background:#e00 -webkit-linear-gradient(top,#e00,#a00);background:#e00 linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;right:4px;bottom:4px;left:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;left:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{left:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{left:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{left:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:left;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;left:70%}.image-details .column-settings{width:70%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;left:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;right:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;right:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:normal 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;text-align:right}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:left}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759b;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{right:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;right:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:normal 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.attachments-browser .no-media{padding:2em 0 0 2em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width .3s;transition:width .3s}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0 auto;padding:8px;border:1px #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty{display:none}.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759b}.media-selection .selection-info a:hover{background:#21759b;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;right:4px;bottom:4px;left:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(#fff),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,#fff,rgba(255,255,255,0));background-image:linear-gradient(to left,#fff ,rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px 0}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;left:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0 6px}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0 1%;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{left:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{left:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{left:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:left;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;left:70%}.image-details .column-settings{width:70%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;left:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;right:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
diff --git a/wp-includes/css/wp-auth-check-rtl.min.css b/wp-includes/css/wp-auth-check-rtl.min.css
index 62cb5551bb..7996ae9e8b 100644
--- a/wp-includes/css/wp-auth-check-rtl.min.css
+++ b/wp-includes/css/wp-auth-check-rtl.min.css
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:normal 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
diff --git a/wp-includes/css/wp-auth-check.min.css b/wp-includes/css/wp-auth-check.min.css
index f7ab70ec9d..adb225f7b9 100644
--- a/wp-includes/css/wp-auth-check.min.css
+++ b/wp-includes/css/wp-auth-check.min.css
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:normal 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer-rtl.min.css b/wp-includes/css/wp-pointer-rtl.min.css
index fe9343d9ef..040022b246 100644
--- a/wp-includes/css/wp-pointer-rtl.min.css
+++ b/wp-includes/css/wp-pointer-rtl.min.css
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:normal 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:normal 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0 13px;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer.min.css b/wp-includes/css/wp-pointer.min.css
index 01f27d6327..5007e59a04 100644
--- a/wp-includes/css/wp-pointer.min.css
+++ b/wp-includes/css/wp-pointer.min.css
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:normal 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:normal 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0 13px;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php
index d54dbc732c..b116ca53a4 100644
--- a/wp-includes/default-widgets.php
+++ b/wp-includes/default-widgets.php
@@ -1018,7 +1018,7 @@ function wp_widget_rss_output( $rss, $args = array() ) {
if ( is_wp_error($rss) ) {
if ( is_admin() || current_user_can('manage_options') )
- echo '' . sprintf( __('RSS Error : %s'), $rss->get_error_message() ) . '
';
+ echo '' . sprintf( __('RSS Error : %s'), esc_html( $rss->get_error_message() ) ) . '
';
return;
}
@@ -1128,7 +1128,7 @@ function wp_widget_rss_form( $args, $inputs = null ) {
$args['show_date'] = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date'];
if ( ! empty( $args['error'] ) ) {
- echo '' . sprintf( __( 'RSS Error: %s' ), $args['error'] ) . '
';
+ echo '' . sprintf( __( 'RSS Error: %s' ), esc_html( $args['error'] ) ) . '
';
}
if ( $inputs['url'] ) :
@@ -1354,7 +1354,7 @@ public function form( $instance ) {
?>
-
+
diff --git a/wp-includes/feed.php b/wp-includes/feed.php
index 560dc61ef7..266a1869cf 100644
--- a/wp-includes/feed.php
+++ b/wp-includes/feed.php
@@ -476,7 +476,7 @@ function rss_enclosure() {
*
* @param string $html_link_tag The HTML link tag with a URI and other attributes.
*/
- echo apply_filters( 'rss_enclosure', ' ' . "\n" );
+ echo apply_filters( 'rss_enclosure', ' ' . "\n" );
}
}
}
@@ -511,7 +511,7 @@ function atom_enclosure() {
*
* @param string $html_link_tag The HTML link tag with a URI and other attributes.
*/
- echo apply_filters( 'atom_enclosure', ' ' . "\n" );
+ echo apply_filters( 'atom_enclosure', ' ' . "\n" );
}
}
}
diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php
index 1f18ab9d91..fd9b4f9af7 100644
--- a/wp-includes/formatting.php
+++ b/wp-includes/formatting.php
@@ -28,7 +28,7 @@
* @return string The string replaced with html entities
*/
function wptexturize($text, $reset = false) {
- global $wp_cockneyreplace;
+ global $wp_cockneyreplace, $shortcode_tags;
static $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements,
$default_no_texturize_tags, $default_no_texturize_shortcodes, $run_texturize = true;
@@ -205,21 +205,34 @@ function wptexturize($text, $reset = false) {
// Look for shortcodes and HTML elements.
+ $tagnames = array_keys( $shortcode_tags );
+ $tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) );
+ $tagregexp = "(?:$tagregexp)(?![\\w-])"; // Excerpt of get_shortcode_regex().
+
+ $comment_regex =
+ '!' // Start of comment, after the <.
+ . '(?:' // Unroll the loop: Consume everything until --> is found.
+ . '-(?!->)' // Dash not followed by end of comment.
+ . '[^\-]*+' // Consume non-dashes.
+ . ')*+' // Loop possessively.
+ . '-->'; // End of comment.
+
$regex = '/(' // Capture the entire match.
. '<' // Find start of element.
. '(?(?=!--)' // Is this a comment?
- . '.+?--\s*>' // Find end of comment
+ . $comment_regex // Find end of comment
. '|'
. '[^>]+>' // Find end of element
. ')'
. '|'
. '\[' // Find start of shortcode.
- . '\[?' // Shortcodes may begin with [[
+ . '[\/\[]?' // Shortcodes may begin with [/ or [[
+ . $tagregexp // Only match registered shortcodes, because performance.
. '(?:'
- . '[^\[\]<>]' // Shortcodes do not contain other shortcodes.
+ . '[^\[\]<>]+' // Shortcodes do not contain other shortcodes. Quantifier critical.
. '|'
- . '<[^>]+>' // HTML elements permitted. Prevents matching ] before >.
- . ')++'
+ . '<[^\[\]>]*>' // HTML elements permitted. Prevents matching ] before >.
+ . ')*+' // Possessive critical.
. '\]' // Find end of shortcode.
. '\]?' // Shortcodes may end with ]]
. ')/s';
@@ -241,12 +254,12 @@ function wptexturize($text, $reset = false) {
continue;
- } elseif ( '[' === $first && 1 === preg_match( '/^\[(?:[^\[\]<>]|<[^>]+>)++\]$/', $curl ) ) {
+ } elseif ( '[' === $first && 1 === preg_match( '/^\[\/?' . $tagregexp . '(?:[^\[\]<>]+|<[^\[\]>]*>)*+\]$/', $curl ) ) {
// This is a shortcode delimiter.
_wptexturize_pushpop_element( $curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes );
- } elseif ( '[' === $first && 1 === preg_match( '/^\[\[?(?:[^\[\]<>]|<[^>]+>)++\]\]?$/', $curl ) ) {
+ } elseif ( '[' === $first && 1 === preg_match( '/^\[[\/\[]?' . $tagregexp . '(?:[^\[\]<>]+|<[^\[\]>]*>)*+\]\]?$/', $curl ) ) {
// This is an escaped shortcode delimiter.
// Do not texturize.
@@ -392,6 +405,9 @@ function wpautop($pee, $br = true) {
$pee = preg_replace('!(' . $allblocks . '>)!', "$1\n\n", $pee);
$pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
+ // Find newlines in all elements and add placeholders.
+ $pee = wp_replace_in_html_tags( $pee, array( "\n" => " " ) );
+
if ( strpos( $pee, ' ", "\n", $pee );
+
return $pee;
}
+/**
+ * Separate HTML elements and comments from the text.
+ *
+ * @since 4.2.4
+ *
+ * @param string $input The text which has to be formatted.
+ * @return array The formatted text.
+ */
+function wp_html_split( $input ) {
+ static $regex;
+
+ if ( ! isset( $regex ) ) {
+ $comments =
+ '!' // Start of comment, after the <.
+ . '(?:' // Unroll the loop: Consume everything until --> is found.
+ . '-(?!->)' // Dash not followed by end of comment.
+ . '[^\-]*+' // Consume non-dashes.
+ . ')*+' // Loop possessively.
+ . '(?:-->)?'; // End of comment. If not found, match all input.
+
+ $cdata =
+ '!\[CDATA\[' // Start of comment, after the <.
+ . '[^\]]*+' // Consume non-].
+ . '(?:' // Unroll the loop: Consume everything until ]]> is found.
+ . '](?!]>)' // One ] not followed by end of comment.
+ . '[^\]]*+' // Consume non-].
+ . ')*+' // Loop possessively.
+ . '(?:]]>)?'; // End of comment. If not found, match all input.
+
+ $regex =
+ '/(' // Capture the entire match.
+ . '<' // Find start of element.
+ . '(?(?=!--)' // Is this a comment?
+ . $comments // Find end of comment.
+ . '|'
+ . '(?(?=!\[CDATA\[)' // Is this a comment?
+ . $cdata // Find end of comment.
+ . '|'
+ . '[^>]*>?' // Find end of element. If not found, match all input.
+ . ')'
+ . ')'
+ . ')/s';
+ }
+
+ return preg_split( $regex, $input, -1, PREG_SPLIT_DELIM_CAPTURE );
+}
+
+/**
+ * Replace characters or phrases within HTML elements only.
+ *
+ * @since 4.2.3
+ *
+ * @param string $haystack The text which has to be formatted.
+ * @param array $replace_pairs In the form array('from' => 'to', ...).
+ * @return string The formatted text.
+ */
+function wp_replace_in_html_tags( $haystack, $replace_pairs ) {
+ // Find all elements.
+ $textarr = wp_html_split( $haystack );
+ $changed = false;
+
+ // Optimize when searching for one item.
+ if ( 1 === count( $replace_pairs ) ) {
+ // Extract $needle and $replace.
+ foreach ( $replace_pairs as $needle => $replace );
+
+ // Loop through delimeters (elements) only.
+ for ( $i = 1, $c = count( $textarr ); $i < $c; $i += 2 ) {
+ if ( false !== strpos( $textarr[$i], $needle ) ) {
+ $textarr[$i] = str_replace( $needle, $replace, $textarr[$i] );
+ $changed = true;
+ }
+ }
+ } else {
+ // Extract all $needles.
+ $needles = array_keys( $replace_pairs );
+
+ // Loop through delimeters (elements) only.
+ for ( $i = 1, $c = count( $textarr ); $i < $c; $i += 2 ) {
+ foreach ( $needles as $needle ) {
+ if ( false !== strpos( $textarr[$i], $needle ) ) {
+ $textarr[$i] = strtr( $textarr[$i], $replace_pairs );
+ $changed = true;
+ // After one strtr() break out of the foreach loop and look at next element.
+ break;
+ }
+ }
+ }
+ }
+
+ if ( $changed ) {
+ $haystack = implode( $textarr );
+ }
+
+ return $haystack;
+}
+
/**
* Newline preservation help function for wpautop
*
@@ -742,12 +858,14 @@ function wp_check_invalid_utf8( $string, $strip = false ) {
* Encode the Unicode values to be used in the URI.
*
* @since 1.5.0
+ * @since 5.8.3 Added the `encode_ascii_characters` parameter.
*
* @param string $utf8_string
* @param int $length Max length of the string
+ * @param bool $encode_ascii_characters Whether to encode ascii characters such as < " '
* @return string String with Unicode encoded for URI.
*/
-function utf8_uri_encode( $utf8_string, $length = 0 ) {
+function utf8_uri_encode( $utf8_string, $length = 0, $encode_ascii_characters = false ) {
$unicode = '';
$values = array();
$num_octets = 1;
@@ -762,10 +880,14 @@ function utf8_uri_encode( $utf8_string, $length = 0 ) {
$value = ord( $utf8_string[ $i ] );
if ( $value < 128 ) {
- if ( $length && ( $unicode_length >= $length ) )
+ $char = chr( $value );
+ $encoded_char = $encode_ascii_characters ? rawurlencode( $char ) : $char;
+ $encoded_char_length = strlen( $encoded_char );
+ if ( $length && ( $unicode_length + $encoded_char_length ) > $length ) {
break;
- $unicode .= chr($value);
- $unicode_length++;
+ }
+ $unicode .= $encoded_char;
+ $unicode_length += $encoded_char_length;
} else {
if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3;
@@ -1034,7 +1156,8 @@ function remove_accents($string) {
* operating systems and special characters requiring special escaping
* to manipulate at the command line. Replaces spaces and consecutive
* dashes with a single dash. Trims period, dash and underscore from beginning
- * and end of filename.
+ * and end of filename. It is not guaranteed that this function will return a
+ * filename that is allowed to be uploaded.
*
* @since 2.1.0
*
@@ -1044,6 +1167,24 @@ function remove_accents($string) {
function sanitize_file_name( $filename ) {
$filename_raw = $filename;
$special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", chr(0));
+
+ // Check for support for utf8 in the installed PCRE library once and store the result in a static.
+ static $utf8_pcre = null;
+ if ( ! isset( $utf8_pcre ) ) {
+ // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
+ $utf8_pcre = @preg_match( '/^./u', 'a' );
+ }
+
+ if ( ! seems_utf8( $filename ) ) {
+ $_ext = pathinfo( $filename, PATHINFO_EXTENSION );
+ $_name = pathinfo( $filename, PATHINFO_FILENAME );
+ $filename = sanitize_title_with_dashes( $_name ) . '.' . $_ext;
+ }
+
+ if ( $utf8_pcre ) {
+ $filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
+ }
+
/**
* Filter the list of characters to remove from a filename.
*
@@ -1053,12 +1194,19 @@ function sanitize_file_name( $filename ) {
* @param string $filename_raw Filename as it was passed into sanitize_file_name().
*/
$special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
- $filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
$filename = str_replace($special_chars, '', $filename);
$filename = str_replace( array( '%20', '+' ), '-', $filename );
$filename = preg_replace('/[\s-]+/', '-', $filename);
$filename = trim($filename, '.-_');
+ if ( false === strpos( $filename, '.' ) ) {
+ $mime_types = wp_get_mime_types();
+ $filetype = wp_check_filetype( 'test.' . $filename, $mime_types );
+ if ( $filetype['ext'] === $filename ) {
+ $filename = 'unnamed-file.' . $filetype['ext'];
+ }
+ }
+
// Split the filename into a base and extension[s]
$parts = explode('.', $filename);
@@ -1292,21 +1440,23 @@ function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'displa
}
/**
- * Ensures a string is a valid SQL order by clause.
+ * Ensures a string is a valid SQL 'order by' clause.
+ *
+ * Accepts one or more columns, with or without a sort order (ASC / DESC).
+ * e.g. 'column_1', 'column_1, column_2', 'column_1 ASC, column_2 DESC' etc.
*
- * Accepts one or more columns, with or without ASC/DESC, and also accepts
- * RAND().
+ * Also accepts 'RAND()'.
*
* @since 2.5.1
*
- * @param string $orderby Order by string to be checked.
- * @return string|bool Returns the order by clause if it is a match, false otherwise.
+ * @param string $orderby Order by clause to be validated.
+ * @return string|bool Returns $orderby if valid, false otherwise.
*/
-function sanitize_sql_orderby( $orderby ){
- preg_match('/^\s*([a-z0-9_]+(\s+(ASC|DESC))?(\s*,\s*|\s*$))+|^\s*RAND\(\s*\)\s*$/i', $orderby, $obmatches);
- if ( !$obmatches )
- return false;
- return $orderby;
+function sanitize_sql_orderby( $orderby ) {
+ if ( preg_match( '/^\s*(([a-z0-9_]+|`[a-z0-9_]+`)(\s+(ASC|DESC))?\s*(,\s*(?=[a-z0-9_`])|$))+$/i', $orderby ) || preg_match( '/^\s*RAND\(\s*\)\s*$/i', $orderby ) ) {
+ return $orderby;
+ }
+ return false;
}
/**
diff --git a/wp-includes/functions.php b/wp-includes/functions.php
index 0a8e1a0ccc..3f2abb28ba 100644
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -1492,6 +1492,11 @@ function wp_mkdir_p( $target ) {
if ( file_exists( $target ) )
return @is_dir( $target );
+ // Do not allow path traversals.
+ if ( false !== strpos( $target, '../' ) || false !== strpos( $target, '..' . DIRECTORY_SEPARATOR ) ) {
+ return false;
+ }
+
// We need to find the permissions of the parent folder that exists and inherit that.
$target_parent = dirname( $target );
while ( '.' != $target_parent && ! is_dir( $target_parent ) ) {
@@ -1575,18 +1580,38 @@ function path_join( $base, $path ) {
/**
* Normalize a filesystem path.
*
- * Replaces backslashes with forward slashes for Windows systems, and ensures
- * no duplicate slashes exist.
+ * On windows systems, replaces backslashes with forward slashes
+ * and forces upper-case drive letters.
+ * Allows for two leading slashes for Windows network shares, but
+ * ensures that all other duplicate slashes are reduced to a single.
*
* @since 3.9.0
+ * @since 4.4.0 Ensures upper-case drive letters on Windows systems.
+ * @since 4.5.0 Allows for Windows network shares.
+ * @since 4.9.7 Allows for PHP file wrappers.
*
* @param string $path Path to normalize.
* @return string Normalized path.
*/
function wp_normalize_path( $path ) {
+ $wrapper = '';
+ if ( wp_is_stream( $path ) ) {
+ list( $wrapper, $path ) = explode( '://', $path, 2 );
+ $wrapper .= '://';
+ }
+
+ // Standardise all paths to use /
$path = str_replace( '\\', '/', $path );
- $path = preg_replace( '|/+|','/', $path );
- return $path;
+
+ // Replace multiple slashes down to a singular, allowing for network shares having two slashes.
+ $path = preg_replace( '|(?<=.)/+|', '/', $path );
+
+ // Windows paths should uppercase the drive letter
+ if ( ':' === substr( $path, 1, 1 ) ) {
+ $path = ucfirst( $path );
+ }
+
+ return $wrapper . $path;
}
/**
@@ -2068,7 +2093,7 @@ function wp_check_filetype( $filename, $mimes = null ) {
* If it's determined that the extension does not match the file's real type,
* then the "proper_filename" value will be set with a proper filename and extension.
*
- * Currently this function only supports validating images known to getimagesize().
+ * Currently this function only supports renaming images validated via wp_get_image_mime().
*
* @since 3.0.0
*
@@ -2093,14 +2118,15 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
return compact( 'ext', 'type', 'proper_filename' );
}
- // We're able to validate images using GD
- if ( $type && 0 === strpos( $type, 'image/' ) && function_exists('getimagesize') ) {
+ // Validate image types.
+ if ( $type && 0 === strpos( $type, 'image/' ) ) {
// Attempt to figure out what type of image it actually is
- $imgstats = @getimagesize( $file );
+ $real_mime = wp_get_image_mime( $file );
- // If getimagesize() knows what kind of image it really is and if the real MIME doesn't match the claimed MIME
- if ( !empty($imgstats['mime']) && $imgstats['mime'] != $type ) {
+ if ( ! $real_mime ) {
+ $type = $ext = false;
+ } elseif ( $real_mime != $type ) {
/**
* Filter the list mapping image mime types to their respective extensions.
*
@@ -2117,10 +2143,10 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
) );
// Replace whatever is after the last period in the filename with the correct extension
- if ( ! empty( $mime_to_ext[ $imgstats['mime'] ] ) ) {
+ if ( ! empty( $mime_to_ext[ $real_mime ] ) ) {
$filename_parts = explode( '.', $filename );
array_pop( $filename_parts );
- $filename_parts[] = $mime_to_ext[ $imgstats['mime'] ];
+ $filename_parts[] = $mime_to_ext[ $real_mime ];
$new_filename = implode( '.', $filename_parts );
if ( $new_filename != $filename ) {
@@ -2130,10 +2156,67 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
$wp_filetype = wp_check_filetype( $new_filename, $mimes );
$ext = $wp_filetype['ext'];
$type = $wp_filetype['type'];
+ } else {
+ $type = $ext = false;
}
}
}
+ // Validate files that didn't get validated during previous checks.
+ if ( $type && ! $real_mime && extension_loaded( 'fileinfo' ) ) {
+ $finfo = finfo_open( FILEINFO_MIME_TYPE );
+ $real_mime = finfo_file( $finfo, $file );
+ finfo_close( $finfo );
+
+ // fileinfo often misidentifies obscure files as one of these types
+ $nonspecific_types = array(
+ 'application/octet-stream',
+ 'application/encrypted',
+ 'application/CDFV2-encrypted',
+ 'application/zip',
+ );
+
+ /*
+ * If $real_mime doesn't match the content type we're expecting from the file's extension,
+ * we need to do some additional vetting. Media types and those listed in $nonspecific_types are
+ * allowed some leeway, but anything else must exactly match the real content type.
+ */
+ if ( in_array( $real_mime, $nonspecific_types, true ) ) {
+ // File is a non-specific binary type. That's ok if it's a type that generally tends to be binary.
+ if ( !in_array( substr( $type, 0, strcspn( $type, '/' ) ), array( 'application', 'video', 'audio' ) ) ) {
+ $type = $ext = false;
+ }
+ } elseif ( 0 === strpos( $real_mime, 'video/' ) || 0 === strpos( $real_mime, 'audio/' ) ) {
+ /*
+ * For these types, only the major type must match the real value.
+ * This means that common mismatches are forgiven: application/vnd.apple.numbers is often misidentified as application/zip,
+ * and some media files are commonly named with the wrong extension (.mov instead of .mp4)
+ */
+
+ if ( substr( $real_mime, 0, strcspn( $real_mime, '/' ) ) !== substr( $type, 0, strcspn( $type, '/' ) ) ) {
+ $type = $ext = false;
+ }
+ } else {
+ if ( $type !== $real_mime ) {
+ /*
+ * Everything else including image/* and application/*:
+ * If the real content type doesn't match the file extension, assume it's dangerous.
+ */
+ $type = $ext = false;
+ }
+
+ }
+ }
+
+ // The mime type must be allowed
+ if ( $type ) {
+ $allowed = get_allowed_mime_types();
+
+ if ( ! in_array( $type, $allowed ) ) {
+ $type = $ext = false;
+ }
+ }
+
/**
* Filter the "real" file type of the given file.
*
@@ -2149,6 +2232,38 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
return apply_filters( 'wp_check_filetype_and_ext', compact( 'ext', 'type', 'proper_filename' ), $file, $filename, $mimes );
}
+/**
+ * Returns the real mime type of an image file.
+ *
+ * This depends on exif_imagetype() or getimagesize() to determine real mime types.
+ *
+ * @since 4.7.1
+ *
+ * @param string $file Full path to the file.
+ * @return string|false The actual mime type or false if the type cannot be determined.
+ */
+function wp_get_image_mime( $file ) {
+ /*
+ * Use exif_imagetype() to check the mimetype if available or fall back to
+ * getimagesize() if exif isn't avaialbe. If either function throws an Exception
+ * we assume the file could not be validated.
+ */
+ try {
+ if ( is_callable( 'exif_imagetype' ) ) {
+ $mime = image_type_to_mime_type( exif_imagetype( $file ) );
+ } elseif ( function_exists( 'getimagesize' ) ) {
+ $imagesize = getimagesize( $file );
+ $mime = ( isset( $imagesize['mime'] ) ) ? $imagesize['mime'] : false;
+ } else {
+ $mime = false;
+ }
+ } catch ( Exception $e ) {
+ $mime = false;
+ }
+
+ return $mime;
+}
+
/**
* Retrieve list of mime types and file extensions.
*
@@ -2286,8 +2401,9 @@ function get_allowed_mime_types( $user = null ) {
if ( function_exists( 'current_user_can' ) )
$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
- if ( empty( $unfiltered ) )
- unset( $t['htm|html'] );
+ if ( empty( $unfiltered ) ) {
+ unset( $t['htm|html'], $t['js'] );
+ }
/**
* Filter list of allowed mime types and file extensions.
@@ -2320,8 +2436,16 @@ function wp_nonce_ays( $action ) {
$html .= sprintf( __( "Do you really want to log out ?"), wp_logout_url( $redirect_to ) );
} else {
$html = __( 'Are you sure you want to do this?' );
- if ( wp_get_referer() )
- $html .= "
" . __( 'Please try again.' ) . " ";
+ if ( wp_get_referer() ) {
+ $wp_http_referer = remove_query_arg( 'updated', wp_get_referer() );
+ $wp_http_referer = wp_validate_redirect( esc_url_raw( $wp_http_referer ) );
+ $html .= '
';
+ $html .= sprintf(
+ '%s ',
+ esc_url( $wp_http_referer ),
+ __( 'Please try again.' )
+ );
+ }
}
wp_die( $html, $title, array('response' => 403) );
@@ -4628,3 +4752,29 @@ function wp_validate_boolean( $var ) {
return (bool) $var;
}
+
+/**
+ * Deletes a file if its path is within the given directory.
+ *
+ * @since 4.9.7
+ *
+ * @param string $file Absolute path to the file to delete.
+ * @param string $directory Absolute path to a directory.
+ * @return bool True on success, false on failure.
+ */
+function wp_delete_file_from_directory( $file, $directory ) {
+ $real_file = realpath( wp_normalize_path( $file ) );
+ $real_directory = realpath( wp_normalize_path( $directory ) );
+
+ if ( false === $real_file || false === $real_directory || strpos( wp_normalize_path( $real_file ), trailingslashit( wp_normalize_path( $real_directory ) ) ) !== 0 ) {
+ return false;
+ }
+
+ /** This filter is documented in wp-admin/custom-header.php */
+ $delete = apply_filters( 'wp_delete_file', $file );
+ if ( ! empty( $delete ) ) {
+ @unlink( $delete );
+ }
+
+ return true;
+}
diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php
index 61665ad5af..22b4f54fff 100644
--- a/wp-includes/general-template.php
+++ b/wp-includes/general-template.php
@@ -2231,6 +2231,24 @@ function wp_no_robots() {
echo " \n";
}
+/**
+ * Display a noindex,noarchive meta tag and referrer origin-when-cross-origin meta tag.
+ *
+ * Outputs a noindex,noarchive meta tag that tells web robots not to index or cache the page content.
+ * Outputs a referrer origin-when-cross-origin meta tag that tells the browser not to send the full
+ * url as a referrer to other sites when cross-origin assets are loaded.
+ *
+ * Typical usage is as a wp_head callback. add_action( 'wp_head', 'wp_sensitive_page_meta' );
+ *
+ * @since 5.0.0
+ */
+function wp_sensitive_page_meta() {
+ ?>
+
+
+ ';
+ $gen = ' ';
break;
case 'xhtml':
- $gen = ' ';
+ $gen = ' ';
break;
case 'atom':
- $gen = 'WordPress ';
+ $gen = 'WordPress ';
break;
case 'rss2':
- $gen = 'http://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . ' ';
+ $gen = '' . esc_url_raw( 'https://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) ) . ' ';
break;
case 'rdf':
- $gen = ' ';
+ $gen = ' ';
break;
case 'comment':
- $gen = '';
+ $gen = '';
break;
case 'export':
- $gen = '';
+ $gen = '';
break;
}
diff --git a/wp-includes/http.php b/wp-includes/http.php
index 3a5f4ada90..2ad081090d 100644
--- a/wp-includes/http.php
+++ b/wp-includes/http.php
@@ -444,8 +444,9 @@ function send_origin_headers() {
* @return mixed URL or false on failure.
*/
function wp_http_validate_url( $url ) {
+ $original_url = $url;
$url = wp_kses_bad_protocol( $url, array( 'http', 'https' ) );
- if ( ! $url )
+ if ( ! $url || strtolower( $url ) !== strtolower( $original_url ) )
return false;
$parsed_url = @parse_url( $url );
@@ -455,7 +456,7 @@ function wp_http_validate_url( $url ) {
if ( isset( $parsed_url['user'] ) || isset( $parsed_url['pass'] ) )
return false;
- if ( false !== strpos( $parsed_url['host'], ':' ) )
+ if ( false !== strpbrk( $parsed_url['host'], ':#?[]' ) )
return false;
$parsed_home = @parse_url( get_option( 'home' ) );
@@ -464,17 +465,17 @@ function wp_http_validate_url( $url ) {
if ( ! $same_host ) {
$host = trim( $parsed_url['host'], '.' );
- if ( preg_match( '#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $host ) ) {
+ if ( preg_match( '#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host ) ) {
$ip = $host;
} else {
$ip = gethostbyname( $host );
- if ( $ip === $host ) // Error condition for gethostbyname()
- $ip = false;
+ if ( $ip === $host ) { // Error condition for gethostbyname()
+ return false;
+ }
}
if ( $ip ) {
$parts = array_map( 'intval', explode( '.', $ip ) );
- if ( '127.0.0.1' === $ip
- || ( 10 === $parts[0] )
+ if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
|| ( 172 === $parts[0] && 16 <= $parts[1] && 31 >= $parts[1] )
|| ( 192 === $parts[0] && 168 === $parts[1] )
) {
diff --git a/wp-includes/js/admin-bar.min.js b/wp-includes/js/admin-bar.min.js
index 1d43a7ccbd..f2e3fbd2ba 100644
--- a/wp-includes/js/admin-bar.min.js
+++ b/wp-includes/js/admin-bar.min.js
@@ -1 +1 @@
-"undefined"!=typeof jQuery?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:7,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.abs(h-f)+Math.abs(i-g) .ab-item").bind("keydown.adminbar",function(c){if(13==c.which){var d=a(c.target),e=d.closest("ab-sub-wrapper");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),d.parent().toggleClass("hover"),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}).each(b),a("#wpadminbar .ab-item").bind("keydown.adminbar",function(c){if(27==c.which){var d=a(c.target);c.stopPropagation(),c.preventDefault(),d.closest(".hover").removeClass("hover").children(".ab-item").focus(),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}),a("#wpadminbar").click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(b.preventDefault(),a("html, body").animate({scrollTop:0},"fast"))}),a(".screen-reader-shortcut").keydown(function(b){var c,d;13==b.which&&(c=a(this).attr("href"),d=navigator.userAgent.toLowerCase(),-1!=d.indexOf("applewebkit")&&c&&"#"==c.charAt(0)&&setTimeout(function(){a(c).focus()},100))}),"sessionStorage"in window&&a("#wp-admin-bar-logout a").click(function(){try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}}),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})):!function(a,b){var c,d=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){return c.call(a,window.event)})},e=new RegExp("\\bhover\\b","g"),f=[],g=new RegExp("\\bselected\\b","g"),h=function(a){for(var b=f.length;b--;)if(f[b]&&a==f[b][1])return f[b][0];return!1},i=function(b){for(var d,i,j,k,l,m,n=[],o=0;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&(n[n.length]=b,i=h(b),i&&clearTimeout(i),b.className=b.className?b.className.replace(e,"")+" hover":"hover",k=b),b=b.parentNode;if(k&&k.parentNode&&(l=k.parentNode,l&&"UL"==l.nodeName.toUpperCase()))for(d=l.childNodes.length;d--;)m=l.childNodes[d],m!=k&&(m.className=m.className?m.className.replace(g,""):"");for(d=f.length;d--;){for(j=!1,o=n.length;o--;)n[o]==f[d][1]&&(j=!0);j||(f[d][1].className=f[d][1].className?f[d][1].className.replace(e,""):"")}},j=function(b){for(;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&!function(a){var b=setTimeout(function(){a.className=a.className?a.className.replace(e,""):""},500);f[f.length]=[b,a]}(b),b=b.parentNode},k=function(b){for(var d,e,f,h=b.target||b.srcElement;;){if(!h||h==a||h==c)return;if(h.id&&"wp-admin-bar-get-shortlink"==h.id)break;h=h.parentNode}for(b.preventDefault&&b.preventDefault(),b.returnValue=!1,-1==h.className.indexOf("selected")&&(h.className+=" selected"),d=0,e=h.childNodes.length;e>d;d++)if(f=h.childNodes[d],f.className&&-1!=f.className.indexOf("shortlink-input")){f.focus(),f.select(),f.onblur=function(){h.className=h.className?h.className.replace(g,""):""};break}return!1},l=function(a){var b,c,d,e,f,g;if(!("wpadminbar"!=a.id&&"wp-admin-bar-top-secondary"!=a.id||(b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,1>b)))for(g=b>800?130:100,c=Math.min(12,Math.round(b/g)),d=Math.round(b>800?b/30:b/20),e=[],f=0;b;)b-=d,0>b&&(b=0),e.push(b),setTimeout(function(){window.scrollTo(0,e.shift())},f*c),f++};d(b,"load",function(){c=a.getElementById("wpadminbar"),a.body&&c&&(a.body.appendChild(c),c.className&&(c.className=c.className.replace(/nojs/,"")),d(c,"mouseover",function(a){i(a.target||a.srcElement)}),d(c,"mouseout",function(a){j(a.target||a.srcElement)}),d(c,"click",k),d(c,"click",function(a){l(a.target||a.srcElement)}),d(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage"in window)try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})),b.location.hash&&b.scrollBy(0,-32),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})}(document,window);
\ No newline at end of file
+"undefined"!=typeof jQuery?(void 0===jQuery.fn.hoverIntent&&function(u){u.fn.hoverIntent=function(e,t,n){function a(e){o=e.pageX,r=e.pageY}var o,r,i,s,c={interval:100,sensitivity:7,timeout:0},c="object"==typeof e?u.extend(c,e):u.isFunction(t)?u.extend(c,{over:e,out:t,selector:n}):u.extend(c,{over:e,out:e,selector:t}),l=function(e,t){if(t.hoverIntent_t=clearTimeout(t.hoverIntent_t),Math.abs(i-o)+Math.abs(s-r) .ab-item").bind("keydown.adminbar",function(e){var t,n;13==e.which&&(n=(t=o(e.target)).closest("ab-sub-wrapper"),e.stopPropagation(),e.preventDefault(),(n=!n.length?o("#wpadminbar .quicklinks"):n).find(".menupop").removeClass("hover"),t.parent().toggleClass("hover"),t.siblings(".ab-sub-wrapper").find(".ab-item").each(i))}).each(i),o("#wpadminbar .ab-item").bind("keydown.adminbar",function(e){var t;27==e.which&&(t=o(e.target),e.stopPropagation(),e.preventDefault(),t.closest(".hover").removeClass("hover").children(".ab-item").focus(),t.siblings(".ab-sub-wrapper").find(".ab-item").each(i))}),o("#wpadminbar").click(function(e){"wpadminbar"!=e.target.id&&"wp-admin-bar-top-secondary"!=e.target.id||(e.preventDefault(),o("html, body").animate({scrollTop:0},"fast"))}),o(".screen-reader-shortcut").keydown(function(e){var t;13==e.which&&(t=o(this).attr("href"),-1!=navigator.userAgent.toLowerCase().indexOf("applewebkit")&&t&&"#"==t.charAt(0)&&setTimeout(function(){o(t).focus()},100))}),"sessionStorage"in window&&o("#wp-admin-bar-logout a").click(function(){try{for(var e in sessionStorage)-1!=e.indexOf("wp-autosave-")&&sessionStorage.removeItem(e)}catch(e){}}),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})):function(l,e){function t(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,function(){return n.call(e,window.event)})}function n(e){for(var t,n,o,a,r,i,s=[],c=0;e&&e!=u&&e!=l;)"LI"==e.nodeName.toUpperCase()&&((n=function(e){for(var t=m.length;t--;)if(m[t]&&e==m[t][1])return m[t][0];return!1}(s[s.length]=e))&&clearTimeout(n),e.className=e.className?e.className.replace(d,"")+" hover":"hover",a=e),e=e.parentNode;if(a&&a.parentNode&&(r=a.parentNode)&&"UL"==r.nodeName.toUpperCase())for(t=r.childNodes.length;t--;)(i=r.childNodes[t])!=a&&(i.className=i.className?i.className.replace(f,""):"");for(t=m.length;t--;){for(o=!1,c=s.length;c--;)s[c]==m[t][1]&&(o=!0);o||(m[t][1].className=m[t][1].className?m[t][1].className.replace(d,""):"")}}function o(e){for(;e&&e!=u&&e!=l;)"LI"==e.nodeName.toUpperCase()&&function(e){var t=setTimeout(function(){e.className=e.className?e.className.replace(d,""):""},500);m[m.length]=[t,e]}(e),e=e.parentNode}function a(e){for(var t,n,o,a=e.target||e.srcElement;;){if(!a||a==l||a==u)return;if(a.id&&"wp-admin-bar-get-shortlink"==a.id)break;a=a.parentNode}for(e.preventDefault&&e.preventDefault(),e.returnValue=!1,-1==a.className.indexOf("selected")&&(a.className+=" selected"),t=0,n=a.childNodes.length;tj&&(h.save(),j=f),e={post_id:a("#post_ID").val()||0,post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""},"local"===b?e:(a('input[id^="in-category-"]:checked').each(function(){g.push(this.value)}),e.catslist=g.join(","),(c=a("#post_name").val())&&(e.post_name=c),(d=a("#parent_id").val())&&(e.parent_id=d),a("#comment_status").prop("checked")&&(e.comment_status="open"),a("#ping_status").prop("checked")&&(e.ping_status="open"),"1"===a("#auto_draft").val()&&(e.auto_draft="1"),e)}function d(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")}function e(){k.trigger("autosave-disable-buttons"),setTimeout(f,5e3)}function f(){k.trigger("autosave-enable-buttons")}function g(){function e(){var a=Math.random().toString(),c=!1;try{b.sessionStorage.setItem("wp-test",a),c=b.sessionStorage.getItem("wp-test")===a,b.sessionStorage.removeItem("wp-test")}catch(d){}return w=c,c}function f(){var a=!1;return w&&u&&(a=sessionStorage.getItem("wp-autosave-"+u),a=a?JSON.parse(a):{}),a}function g(a){var b;return w&&u?(b="wp-autosave-"+u,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1}function h(){var a=f();return a&&v?a["post_"+v]||!1:!1}function j(a){var b=f();if(!b||!v)return!1;if(a)b["post_"+v]=a;else{if(!b.hasOwnProperty("post_"+v))return!1;delete b["post_"+v]}return g(b)}function l(){z=!0}function m(){z=!1}function n(b){var e,f,g=!1;return z||!w?!1:(b?(e=h()||{},a.extend(e,b)):e=c("local"),f=d(e),"undefined"==typeof y&&(y=i),f===y?!1:(e.save_time=(new Date).getTime(),e.status=a("#post_status").val()||"",g=j(e),g&&(y=f),g))}function o(){v=a("#post_ID").val()||0,a("#wp-content-wrap").hasClass("tmce-active")?k.on("tinymce-editor-init.autosave",function(){b.setTimeout(function(){q()},1500)}):q(),x=b.setInterval(n,15e3),a("form#post").on("submit.autosave-local",function(){var b="undefined"!=typeof tinymce&&tinymce.get("content"),c=a("#post_ID").val()||0;b&&!b.isHidden()?b.on("submit",function(){n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post",c+"-check",86400)})}function p(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")===c(b||"")}function q(){var b,c,d,e,f=h(),g=wpCookies.get("wp-saving-post");return g===v+"-saved"?(wpCookies.remove("wp-saving-post"),void j(!1)):void(f&&(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"",p(b,f.content)&&p(c,f.post_title)&&p(d,f.excerpt)||(s=f,t={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click.autosave-local",function(b){var c=a(b.target);c.hasClass("restore-backup")?(r(s),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(r(t),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()})))))}function r(b){var c;return b?(y=d(b),a("#title").val()!==b.post_title&&a("#title").focus().val(b.post_title||""),a("#excerpt").val(b.excerpt||""),c="undefined"!=typeof tinymce&&tinymce.get("content"),c&&!c.isHidden()&&"undefined"!=typeof switchEditors?(c.undoManager.add(),c.setContent(b.content?switchEditors.wpautop(b.content):"")):(a("#content-html").click(),a("#content").val(b.content)),!0):!1}var s,t,u,v,w,x,y,z=!1;return u="undefined"!=typeof b.autosaveL10n&&b.autosaveL10n.blog_id,e()&&u&&(a("#content").length||a("#excerpt").length)&&k.ready(o),{hasStorage:w,getSavedPostData:h,save:n,suspend:l,resume:m}}function h(){function g(){q=!0,b.clearTimeout(r),r=b.setTimeout(function(){q=!1},1e4)}function h(){v=!0}function j(){v=!1}function l(b){p(),q=!1,t=s,s="",k.trigger("after-autosave",[b]),f(),b.success&&a("#auto_draft").val("")}function m(){u=0,wp.heartbeat.connectNow()}function n(){return d()!==i}function o(){var f,h;return v||q||!b.autosave()?!1:(new Date).getTime()i;i++)if(a=h[i],g=this._events[a]){if(this._events[a]=e=[],b||d)for(l=0,m=g.length;m>l;l++)f=g[l],(b&&b!==f.callback&&b!==f.callback._callback||d&&d!==f.context)&&e.push(f);e.length||delete this._events[a]}return this},trigger:function(a){if(!this._events)return this;var b=g.call(arguments,1);if(!j(this,"trigger",a,b))return this;var c=this._events[a],d=this._events.all;return c&&k(c,b),d&&k(d,arguments),this},stopListening:function(a,b,d){var e=this._listeningTo;if(!e)return this;var f=!b&&!d;d||"object"!=typeof b||(d=this),a&&((e={})[a._listenId]=a);for(var g in e)a=e[g],a.off(b,d,this),(f||c.isEmpty(a._events))&&delete this._listeningTo[g];return this}},i=/\s+/,j=function(a,b,c,d){if(!c)return!0;if("object"==typeof c){for(var e in c)a[b].apply(a,[e,c[e]].concat(d));return!1}if(i.test(c)){for(var f=c.split(i),g=0,h=f.length;h>g;g++)a[b].apply(a,[f[g]].concat(d));return!1}return!0},k=function(a,b){var c,d=-1,e=a.length,f=b[0],g=b[1],h=b[2];switch(b.length){case 0:for(;++dm;m++)this.trigger("change:"+h[m],this,l[h[m]],d)}if(j)return this;if(!i)for(;this._pending;)d=this._pending,this._pending=!1,this.trigger("change",this,d);return this._pending=!1,this._changing=!1,this},unset:function(a,b){return this.set(a,void 0,c.extend({},b,{unset:!0}))},clear:function(a){var b={};for(var d in this.attributes)b[d]=void 0;return this.set(b,c.extend({},a,{unset:!0}))},hasChanged:function(a){return null==a?!c.isEmpty(this.changed):c.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?c.clone(this.changed):!1;var b,d=!1,e=this._changing?this._previousAttributes:this.attributes;for(var f in a)c.isEqual(e[f],b=a[f])||((d||(d={}))[f]=b);return d},previous:function(a){return null!=a&&this._previousAttributes?this._previousAttributes[a]:null},previousAttributes:function(){return c.clone(this._previousAttributes)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=this,d=a.success;return a.success=function(c){return b.set(b.parse(c,a),a)?(d&&d(b,c,a),void b.trigger("sync",b,c,a)):!1},L(this,a),this.sync("read",this,a)},save:function(a,b,d){var e,f,g,h=this.attributes;if(null==a||"object"==typeof a?(e=a,d=b):(e={})[a]=b,d=c.extend({validate:!0},d),e&&!d.wait){if(!this.set(e,d))return!1}else if(!this._validate(e,d))return!1;e&&d.wait&&(this.attributes=c.extend({},h,e)),void 0===d.parse&&(d.parse=!0);var i=this,j=d.success;return d.success=function(a){i.attributes=h;var b=i.parse(a,d);return d.wait&&(b=c.extend(e||{},b)),c.isObject(b)&&!i.set(b,d)?!1:(j&&j(i,a,d),void i.trigger("sync",i,a,d))},L(this,d),f=this.isNew()?"create":d.patch?"patch":"update","patch"===f&&(d.attrs=e),g=this.sync(f,this,d),e&&d.wait&&(this.attributes=h),g},destroy:function(a){a=a?c.clone(a):{};var b=this,d=a.success,e=function(){b.trigger("destroy",b,b.collection,a)};if(a.success=function(c){(a.wait||b.isNew())&&e(),d&&d(b,c,a),b.isNew()||b.trigger("sync",b,c,a)},this.isNew())return a.success(),!1;L(this,a);var f=this.sync("delete",this,a);return a.wait||e(),f},url:function(){var a=c.result(this,"urlRoot")||c.result(this.collection,"url")||K();return this.isNew()?a:a.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(a){return this._validate({},c.extend(a||{},{validate:!0}))},_validate:function(a,b){if(!b.validate||!this.validate)return!0;a=c.extend({},this.attributes,a);var d=this.validationError=this.validate(a,b)||null;return d?(this.trigger("invalid",this,d,c.extend(b,{validationError:d})),!1):!0}});var n=["keys","values","pairs","invert","pick","omit"];c.each(n,function(a){m.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.attributes),c[a].apply(c,b)}});var o=b.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),void 0!==b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,c.extend({silent:!0},b))},p={add:!0,remove:!0,merge:!0},q={add:!0,remove:!1};c.extend(o.prototype,h,{model:m,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},sync:function(){return b.sync.apply(this,arguments)},add:function(a,b){return this.set(a,c.extend({merge:!1},b,q))},remove:function(a,b){var d=!c.isArray(a);a=d?[a]:c.clone(a),b||(b={});var e,f,g,h;for(e=0,f=a.length;f>e;e++)h=a[e]=this.get(a[e]),h&&(delete this._byId[h.id],delete this._byId[h.cid],g=this.indexOf(h),this.models.splice(g,1),this.length--,b.silent||(b.index=g,h.trigger("remove",h,this,b)),this._removeReference(h,b));return d?a[0]:a},set:function(a,b){b=c.defaults({},b,p),b.parse&&(a=this.parse(a,b));var d=!c.isArray(a);a=d?a?[a]:[]:c.clone(a);var e,f,g,h,i,j,k,l=b.at,n=this.model,o=this.comparator&&null==l&&b.sort!==!1,q=c.isString(this.comparator)?this.comparator:null,r=[],s=[],t={},u=b.add,v=b.merge,w=b.remove,x=!o&&u&&w?[]:!1;for(e=0,f=a.length;f>e;e++){if(i=a[e]||{},g=i instanceof m?h=i:i[n.prototype.idAttribute||"id"],j=this.get(g))w&&(t[j.cid]=!0),v&&(i=i===h?h.attributes:i,b.parse&&(i=j.parse(i,b)),j.set(i,b),o&&!k&&j.hasChanged(q)&&(k=!0)),a[e]=j;else if(u){if(h=a[e]=this._prepareModel(i,b),!h)continue;r.push(h),this._addReference(h,b)}h=j||h,!x||!h.isNew()&&t[h.id]||x.push(h),t[h.id]=!0}if(w){for(e=0,f=this.length;f>e;++e)t[(h=this.models[e]).cid]||s.push(h);s.length&&this.remove(s,b)}if(r.length||x&&x.length)if(o&&(k=!0),this.length+=r.length,null!=l)for(e=0,f=r.length;f>e;e++)this.models.splice(l+e,0,r[e]);else{x&&(this.models.length=0);var y=x||r;for(e=0,f=y.length;f>e;e++)this.models.push(y[e])}if(k&&this.sort({silent:!0}),!b.silent){for(e=0,f=r.length;f>e;e++)(h=r[e]).trigger("add",h,this,b);(k||x&&x.length)&&this.trigger("sort",this,b)}return d?a[0]:a},reset:function(a,b){b||(b={});for(var d=0,e=this.models.length;e>d;d++)this._removeReference(this.models[d],b);return b.previousModels=this.models,this._reset(),a=this.add(a,c.extend({silent:!0},b)),b.silent||this.trigger("reset",this,b),a},push:function(a,b){return this.add(a,c.extend({at:this.length},b))},pop:function(a){var b=this.at(this.length-1);return this.remove(b,a),b},unshift:function(a,b){return this.add(a,c.extend({at:0},b))},shift:function(a){var b=this.at(0);return this.remove(b,a),b},slice:function(){return g.apply(this.models,arguments)},get:function(a){return null==a?void 0:this._byId[a]||this._byId[a.id]||this._byId[a.cid]},at:function(a){return this.models[a]},where:function(a,b){return c.isEmpty(a)?b?void 0:[]:this[b?"find":"filter"](function(b){for(var c in a)if(a[c]!==b.get(c))return!1;return!0})},findWhere:function(a){return this.where(a,!0)},sort:function(a){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return a||(a={}),c.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,this):this.models.sort(c.bind(this.comparator,this)),a.silent||this.trigger("sort",this,a),this},pluck:function(a){return c.invoke(this.models,"get",a)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=a.success,d=this;return a.success=function(c){var e=a.reset?"reset":"set";d[e](c,a),b&&b(d,c,a),d.trigger("sync",d,c,a)},L(this,a),this.sync("read",this,a)},create:function(a,b){if(b=b?c.clone(b):{},!(a=this._prepareModel(a,b)))return!1;b.wait||this.add(a,b);var d=this,e=b.success;return b.success=function(a,c){b.wait&&d.add(a,b),e&&e(a,c,b)},a.save(null,b),a},parse:function(a){return a},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(a,b){if(a instanceof m)return a;b=b?c.clone(b):{},b.collection=this;var d=new this.model(a,b);return d.validationError?(this.trigger("invalid",this,d.validationError,b),!1):d},_addReference:function(a){this._byId[a.cid]=a,null!=a.id&&(this._byId[a.id]=a),a.collection||(a.collection=this),a.on("all",this._onModelEvent,this)},_removeReference:function(a){this===a.collection&&delete a.collection,a.off("all",this._onModelEvent,this)},_onModelEvent:function(a,b,c,d){("add"!==a&&"remove"!==a||c===this)&&("destroy"===a&&this.remove(b,d),b&&a==="change:"+b.idAttribute&&(delete this._byId[b.previous(b.idAttribute)],null!=b.id&&(this._byId[b.id]=b)),this.trigger.apply(this,arguments))}});var r=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];c.each(r,function(a){o.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.models),c[a].apply(c,b)}});var s=["groupBy","countBy","sortBy","indexBy"];c.each(s,function(a){o.prototype[a]=function(b,d){var e=c.isFunction(b)?b:function(a){return a.get(b)};return c[a](this.models,e,d)}});var t=b.View=function(a){this.cid=c.uniqueId("view"),a||(a={}),c.extend(this,c.pick(a,v)),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName","events"];c.extend(t.prototype,h,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this.stopListening(),this},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b.$?a:b.$(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(a){if(!a&&!(a=c.result(this,"events")))return this;this.undelegateEvents();for(var b in a){var d=a[b];if(c.isFunction(d)||(d=this[a[b]]),d){var e=b.match(u),f=e[1],g=e[2];d=c.bind(d,this),f+=".delegateEvents"+this.cid,""===g?this.$el.on(f,d):this.$el.on(f,g,d)}}return this},undelegateEvents:function(){return this.$el.off(".delegateEvents"+this.cid),this},_ensureElement:function(){if(this.el)this.setElement(c.result(this,"el"),!1);else{var a=c.extend({},c.result(this,"attributes"));this.id&&(a.id=c.result(this,"id")),this.className&&(a["class"]=c.result(this,"className"));var d=b.$("<"+c.result(this,"tagName")+">").attr(a);this.setElement(d,!1)}}}),b.sync=function(a,d,e){var f=x[a];c.defaults(e||(e={}),{emulateHTTP:b.emulateHTTP,emulateJSON:b.emulateJSON});var g={type:f,dataType:"json"};if(e.url||(g.url=c.result(d,"url")||K()),null!=e.data||!d||"create"!==a&&"update"!==a&&"patch"!==a||(g.contentType="application/json",g.data=JSON.stringify(e.attrs||d.toJSON(e))),e.emulateJSON&&(g.contentType="application/x-www-form-urlencoded",g.data=g.data?{model:g.data}:{}),e.emulateHTTP&&("PUT"===f||"DELETE"===f||"PATCH"===f)){g.type="POST",e.emulateJSON&&(g.data._method=f);var h=e.beforeSend;e.beforeSend=function(a){return a.setRequestHeader("X-HTTP-Method-Override",f),h?h.apply(this,arguments):void 0}}"GET"===g.type||e.emulateJSON||(g.processData=!1),"PATCH"===g.type&&w&&(g.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});var i=e.xhr=b.ajax(c.extend(g,e));return d.trigger("request",d,i,e),i};var w=!("undefined"==typeof window||!window.ActiveXObject||window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent),x={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};b.ajax=function(){return b.$.ajax.apply(b.$,arguments)};var y=b.Router=function(a){a||(a={}),a.routes&&(this.routes=a.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},z=/\((.*?)\)/g,A=/(\(\?)?:\w+/g,B=/\*\w+/g,C=/[\-{}\[\]+?.,\\\^$|#\s]/g;c.extend(y.prototype,h,{initialize:function(){},route:function(a,d,e){c.isRegExp(a)||(a=this._routeToRegExp(a)),c.isFunction(d)&&(e=d,d=""),e||(e=this[d]);var f=this;return b.history.route(a,function(c){var g=f._extractParameters(a,c);f.execute(e,g),f.trigger.apply(f,["route:"+d].concat(g)),f.trigger("route",d,g),b.history.trigger("route",f,d,g)}),this},execute:function(a,b){a&&a.apply(this,b)},navigate:function(a,c){return b.history.navigate(a,c),this},_bindRoutes:function(){if(this.routes){this.routes=c.result(this,"routes");for(var a,b=c.keys(this.routes);null!=(a=b.pop());)this.route(a,this.routes[a])}},_routeToRegExp:function(a){return a=a.replace(C,"\\$&").replace(z,"(?:$1)?").replace(A,function(a,b){return b?a:"([^/?]+)"}).replace(B,"([^?]*?)"),new RegExp("^"+a+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(a,b){var d=a.exec(b).slice(1);return c.map(d,function(a,b){return b===d.length-1?a||null:a?decodeURIComponent(a):null})}});var D=b.History=function(){this.handlers=[],c.bindAll(this,"checkUrl"),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},E=/^[#\/]|\s+$/g,F=/^\/+|\/+$/g,G=/msie [\w.]+/,H=/\/$/,I=/#.*$/;D.started=!1,c.extend(D.prototype,h,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(a){var b=(a||this).location.href.match(/#(.*)$/);return b?b[1]:""},getFragment:function(a,b){if(null==a)if(this._hasPushState||!this._wantsHashChange||b){a=decodeURI(this.location.pathname+this.location.search);var c=this.root.replace(H,"");a.indexOf(c)||(a=a.slice(c.length))}else a=this.getHash();return a.replace(E,"")},start:function(a){if(D.started)throw new Error("Backbone.history has already been started");D.started=!0,this.options=c.extend({root:"/"},this.options,a),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=this.getFragment(),e=document.documentMode,f=G.exec(navigator.userAgent.toLowerCase())&&(!e||7>=e);if(this.root=("/"+this.root+"/").replace(F,"/"),f&&this._wantsHashChange){var g=b.$('
')}function ColorPicker_show(F){this.showPopup(F)}function ColorPicker_pickColor(F,e){e.hidePopup(),pickColor(F)}function pickColor(F){null!=ColorPicker_targetInput?ColorPicker_targetInput.value=F:alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!")}function ColorPicker_select(F,e){if("text"!=F.type&&"hidden"!=F.type&&"textarea"!=F.type)return alert("colorpicker.select: Input object passed is not a valid form input object"),void(window.ColorPicker_targetInput=null);window.ColorPicker_targetInput=F,this.show(e)}function ColorPicker_highlightColor(F){var e=1Select Color ",n+=""),n+="";for(var d,C,r=!(!document.getElementById&&!document.all),l=0;l"),d=r?'onMouseOver="'+s+"ColorPicker_highlightColor('"+t[l]+"',window.document)\"":"",n+=' ",(i<=l+1||(l+1)%o==0)&&(n+="");return document.getElementById&&(n+=" #FFFFFF "),n+="
",e&&(n+=" "),F.populate(n+"\n"),F.offsetY=25,F.autoHide(),F}ColorPicker_targetInput=null;
\ No newline at end of file
diff --git a/wp-includes/js/comment-reply.min.js b/wp-includes/js/comment-reply.min.js
index 11af308f3b..149325b5bf 100644
--- a/wp-includes/js/comment-reply.min.js
+++ b/wp-includes/js/comment-reply.min.js
@@ -1 +1 @@
-var addComment={moveForm:function(a,b,c,d){var e,f=this,g=f.I(a),h=f.I(c),i=f.I("cancel-comment-reply-link"),j=f.I("comment_parent"),k=f.I("comment_post_ID");if(g&&h&&i&&j){f.respondId=c,d=d||!1,f.I("wp-temp-form-div")||(e=document.createElement("div"),e.id="wp-temp-form-div",e.style.display="none",h.parentNode.insertBefore(e,h)),g.parentNode.insertBefore(h,g.nextSibling),k&&d&&(k.value=d),j.value=b,i.style.display="",i.onclick=function(){var a=addComment,b=a.I("wp-temp-form-div"),c=a.I(a.respondId);if(b&&c)return a.I("comment_parent").value="0",b.parentNode.insertBefore(c,b),b.parentNode.removeChild(b),this.style.display="none",this.onclick=null,!1};try{f.I("comment").focus()}catch(l){}return!1}},I:function(a){return document.getElementById(a)}};
\ No newline at end of file
+var addComment={moveForm:function(e,n,t,o){var r=this,m=r.I(e),i=r.I(t),d=r.I("cancel-comment-reply-link"),a=r.I("comment_parent"),e=r.I("comment_post_ID");if(m&&i&&d&&a){r.respondId=t,o=o||!1,r.I("wp-temp-form-div")||((t=document.createElement("div")).id="wp-temp-form-div",t.style.display="none",i.parentNode.insertBefore(t,i)),m.parentNode.insertBefore(i,m.nextSibling),e&&o&&(e.value=o),a.value=n,d.style.display="",d.onclick=function(){var e=addComment,n=e.I("wp-temp-form-div"),t=e.I(e.respondId);if(n&&t)return e.I("comment_parent").value="0",n.parentNode.insertBefore(t,n),n.parentNode.removeChild(n),this.style.display="none",this.onclick=null,!1};try{r.I("comment").focus()}catch(e){}return!1}},I:function(e){return document.getElementById(e)}};
\ No newline at end of file
diff --git a/wp-includes/js/customize-base.min.js b/wp-includes/js/customize-base.min.js
index 5889a60d58..f114625ade 100644
--- a/wp-includes/js/customize-base.min.js
+++ b/wp-includes/js/customize-base.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d,e={},f=Array.prototype.slice;c=function(){},d=function(a,d,e){var f;return f=d&&d.hasOwnProperty("constructor")?d.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),c.prototype=a.prototype,f.prototype=new c,d&&b.extend(f.prototype,d),e&&b.extend(f,e),f.prototype.constructor=f,f.__super__=a.prototype,f},e.Class=function(a,c,d){var f,g=arguments;return a&&c&&e.Class.applicator===a&&(g=c,b.extend(this,d||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},e.Class.extend=function(a,b){var c=d(this,a,b);return c.extend=this.extend,c},e.Class.applicator={},e.Class.prototype.initialize=function(){},e.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},e.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,f.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],f.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],f.call(arguments,1)),this}},e.Value=e.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),b.extend(this,c||{}),this.set=b.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||this._value===a?this:(this._value=a,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),e.Values=e.Class.extend({defaultConstructor:e.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(e.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(e.Class.applicator,f.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(e.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=f.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(e.Values.prototype,e.Events),e.ensure=function(a){return"string"==typeof a?b(a):a},e.Element=e.Value.extend({initialize:function(a,c){var d,f,g,h=this,i=e.Element.synchronizer.html;this.element=e.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=e.Element.synchronizer.val,this.element.is("input")?(d=this.element.prop("type"),e.Element.synchronizer[d]&&(i=e.Element.synchronizer[d]),("text"===d||"password"===d)&&(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),e.Value.prototype.initialize.call(this,null,b.extend(c||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),e.Element.synchronizer={},b.each(["html","val"],function(a,b){e.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),e.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},e.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,e.Messenger=e.Class.extend({add:function(a,b,c){return this[a]=new e.Value(b,c)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(e.Messenger.prototype,e.Events),e=b.extend(new e.Values,e),e.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=e}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(t,h){var a={},s=Array.prototype.slice,r=function(){},n=function(t,e,n){var i=e&&e.hasOwnProperty("constructor")?e.constructor:function(){return t.apply(this,arguments)};return h.extend(i,t),r.prototype=t.prototype,i.prototype=new r,e&&h.extend(i.prototype,e),n&&h.extend(i,n),(i.prototype.constructor=i).__super__=t.prototype,i};a.Class=function(t,e,n){var i,s=arguments;return t&&e&&a.Class.applicator===t&&(s=e,h.extend(this,n||{})),(i=this).instance&&(i=function(){return i.instance.apply(i,arguments)},h.extend(i,this)),i.initialize.apply(i,s),i},a.Class.extend=function(t,e){e=n(this,t,e);return e.extend=this.extend,e},a.Class.applicator={},a.Class.prototype.initialize=function(){},a.Class.prototype.extended=function(t){for(var e=this;void 0!==e.constructor;){if(e.constructor===t)return!0;if(void 0===e.constructor.__super__)return!1;e=e.constructor.__super__}return!1},a.Events={trigger:function(t){return this.topics&&this.topics[t]&&this.topics[t].fireWith(this,s.call(arguments,1)),this},bind:function(t){return this.topics=this.topics||{},this.topics[t]=this.topics[t]||h.Callbacks(),this.topics[t].add.apply(this.topics[t],s.call(arguments,1)),this},unbind:function(t){return this.topics&&this.topics[t]&&this.topics[t].remove.apply(this.topics[t],s.call(arguments,1)),this}},a.Value=a.Class.extend({initialize:function(t,e){this._value=t,this.callbacks=h.Callbacks(),h.extend(this,e||{}),this.set=h.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(t){var e=this._value;return t=this._setter.apply(this,arguments),null===(t=this.validate(t))||this._value===t||(this._value=t,this.callbacks.fireWith(this,[t,e])),this},_setter:function(t){return t},setter:function(t){var e=this.get();return this._setter=t,this._value=null,this.set(e),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(t){return t},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var t=this.set;return h.each(arguments,function(){this.bind(t)}),this},unlink:function(){var t=this.set;return h.each(arguments,function(){this.unbind(t)}),this},sync:function(){var t=this;return h.each(arguments,function(){t.link(this),this.link(t)}),this},unsync:function(){var t=this;return h.each(arguments,function(){t.unlink(this),this.unlink(t)}),this}}),a.Values=a.Class.extend({defaultConstructor:a.Value,initialize:function(t){h.extend(this,t||{}),this._value={},this._deferreds={}},instance:function(t){return 1===arguments.length?this.value(t):this.when.apply(this,arguments)},value:function(t){return this._value[t]},has:function(t){return void 0!==this._value[t]},add:function(t,e){return this.has(t)?this.value(t):((this._value[t]=e).parent=this,e.extended(a.Value)&&e.bind(this._change),this.trigger("add",e),this._deferreds[t]&&this._deferreds[t].resolve(),this._value[t])},create:function(t){return this.add(t,new this.defaultConstructor(a.Class.applicator,s.call(arguments,1)))},each:function(n,i){i=void 0===i?this:i,h.each(this._value,function(t,e){n.call(i,e,t)})},remove:function(t){var e;this.has(t)&&(e=this.value(t),this.trigger("remove",e),e.extended(a.Value)&&e.unbind(this._change),delete e.parent),delete this._value[t],delete this._deferreds[t]},when:function(){var e=this,n=s.call(arguments),i=h.Deferred();return h.isFunction(n[n.length-1])&&i.done(n.pop()),h.when.apply(h,h.map(n,function(t){if(!e.has(t))return e._deferreds[t]=e._deferreds[t]||h.Deferred()})).done(function(){var t=h.map(n,function(t){return e(t)});t.length===n.length?i.resolveWith(e,t):e.when.apply(e,n).done(function(){i.resolveWith(e,t)})}),i.promise()},_change:function(){this.parent.trigger("change",this)}}),h.extend(a.Values.prototype,a.Events),a.ensure=function(t){return"string"==typeof t?h(t):t},a.Element=a.Value.extend({initialize:function(t,e){var n,i,s=this,r=a.Element.synchronizer.html;this.element=a.ensure(t),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",r=a.Element.synchronizer.val,this.element.is("input")?(t=this.element.prop("type"),a.Element.synchronizer[t]&&(r=a.Element.synchronizer[t]),"text"!==t&&"password"!==t||(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),a.Value.prototype.initialize.call(this,null,h.extend(e||{},r)),this._value=this.get(),n=this.update,i=this.refresh,this.update=function(t){t!==i.call(s)&&n.apply(this,arguments)},this.refresh=function(){s.set(i.call(s))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(t){return h(t,this.element)},refresh:function(){},update:function(){}}),a.Element.synchronizer={},h.each(["html","val"],function(t,e){a.Element.synchronizer[e]={update:function(t){this.element[e](t)},refresh:function(){return this.element[e]()}}}),a.Element.synchronizer.checkbox={update:function(t){this.element.prop("checked",t)},refresh:function(){return this.element.prop("checked")}},a.Element.synchronizer.radio={update:function(t){this.element.filter(function(){return this.value===t}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},h.support.postMessage=!!window.postMessage,a.Messenger=a.Class.extend({add:function(t,e,n){return this[t]=new a.Value(e,n)},initialize:function(t,e){var n=window.parent==window?null:window.parent;h.extend(this,e||{}),this.add("channel",t.channel),this.add("url",t.url||""),this.add("targetWindow",t.targetWindow||n),this.add("origin",this.url()).link(this.url).setter(function(t){return t.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=h.proxy(this.receive,this),this.receive.guid=h.guid++,h(window).on("message",this.receive)},destroy:function(){h(window).off("message",this.receive)},receive:function(t){var e;t=t.originalEvent,this.targetWindow()&&(this.origin()&&t.origin!==this.origin()||"string"==typeof t.data&&"{"===t.data[0]&&(e=JSON.parse(t.data))&&e.id&&void 0!==e.data&&((e.channel||this.channel())&&this.channel()!==e.channel||this.trigger(e.id,e.data)))},send:function(t,e){e=void 0===e?null:e,this.url()&&this.targetWindow()&&(e={id:t,data:e},this.channel()&&(e.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(e),this.origin()))}}),h.extend(a.Messenger.prototype,a.Events),(a=h.extend(new a.Values,a)).get=function(){var n={};return this.each(function(t,e){n[e]=t.get()}),n},t.customize=a}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-loader.min.js b/wp-includes/js/customize-loader.min.js
index fc32b05b75..7adc0a6719 100644
--- a/wp-includes/js/customize-loader.min.js
+++ b/wp-includes/js/customize-loader.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d=wp.customize;b.extend(b.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7)}),c=b.extend({},d.Events,{initialize:function(){this.body=b(document.body),c.settings&&b.support.postMessage&&(b.support.cors||!c.settings.isCrossDomain)&&(this.window=b(window),this.element=b('
').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),b("#wpbody").on("click",".load-customize",function(a){a.preventDefault(),c.link=b(this),c.open(c.link.attr("href"))}),b.support.history&&this.window.on("popstate",c.popstate),b.support.hashchange&&(this.window.on("hashchange",c.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(a){var b=a.originalEvent.state;b&&b.customize?c.open(b.customize):c.active&&c.close()},hashchange:function(){var a=window.location.toString().split("#")[1];a&&0===a.indexOf("wp_customize=on")&&c.open(c.settings.url+"?"+a),a||b.support.history||c.close()},beforeunload:function(){return c.saved()?void 0:c.settings.l10n.saveAlert},open:function(a){if(!this.active){if(c.settings.browser.mobile)return window.location=a;this.active=!0,this.body.addClass("customize-loading"),this.saved=new d.Value(!0),this.iframe=b(" ",{src:a}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new d.Messenger({url:a,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){c.messenger.send("back")}),this.messenger.bind("close",function(){b.support.history?history.back():b.support.hashchange?window.location.hash="":c.close()}),b(window).on("beforeunload",this.beforeunload),this.messenger.bind("activated",function(a){a&&(window.location=a)}),this.messenger.bind("saved",function(){c.saved(!0)}),this.messenger.bind("change",function(){c.saved(!1)}),this.pushState(a),this.trigger("open")}},pushState:function(a){var c;b.support.history&&window.location.href!==a?history.pushState({customize:a},"",a):!b.support.history&&b.support.hashchange&&c&&(c=a.split("?")[1],window.location.hash="wp_customize=on&"+c)},opened:function(){c.body.addClass("customize-active full-overlay-active")},close:function(){if(this.active){if(!this.saved()&&!confirm(c.settings.l10n.saveAlert))return void history.forward();this.active=!1,this.trigger("close"),this.link&&this.link.focus()}},closed:function(){c.iframe.remove(),c.messenger.destroy(),c.iframe=null,c.messenger=null,c.saved=null,c.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading"),b(window).off("beforeunload",c.beforeunload)},loaded:function(){c.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,c.opened)},hide:function(){this.element.fadeOut(200,c.closed)}}}),b(function(){c.settings=_wpCustomizeLoaderSettings,c.initialize()}),d.Loader=c}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(o){var t,i=wp.customize;o.extend(o.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||7 ').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),o("#wpbody").on("click",".load-customize",function(e){e.preventDefault(),t.link=o(this),t.open(t.link.attr("href"))}),o.support.history&&this.window.on("popstate",t.popstate),o.support.hashchange&&(this.window.on("hashchange",t.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(e){e=e.originalEvent.state;e&&e.customize?t.open(e.customize):t.active&&t.close()},hashchange:function(){var e=window.location.toString().split("#")[1];e&&0===e.indexOf("wp_customize=on")&&t.open(t.settings.url+"?"+e),e||o.support.history||t.close()},beforeunload:function(){if(!t.saved())return t.settings.l10n.saveAlert},open:function(e){if(!this.active){if(t.settings.browser.mobile)return window.location=e;this.active=!0,this.body.addClass("customize-loading"),this.saved=new i.Value(!0),this.iframe=o(" ",{src:e}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new i.Messenger({url:e,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){t.messenger.send("back")}),this.messenger.bind("close",function(){o.support.history?history.back():o.support.hashchange?window.location.hash="":t.close()}),o(window).on("beforeunload",this.beforeunload),this.messenger.bind("activated",function(e){e&&(window.location=e)}),this.messenger.bind("saved",function(){t.saved(!0)}),this.messenger.bind("change",function(){t.saved(!1)}),this.pushState(e),this.trigger("open")}},pushState:function(e){var t;o.support.history&&window.location.href!==e?history.pushState({customize:e},"",e):!o.support.history&&o.support.hashchange&&t&&(t=e.split("?")[1],window.location.hash="wp_customize=on&"+t)},opened:function(){t.body.addClass("customize-active full-overlay-active")},close:function(){this.active&&(this.saved()||confirm(t.settings.l10n.saveAlert)?(this.active=!1,this.trigger("close"),this.link&&this.link.focus()):history.forward())},closed:function(){t.iframe.remove(),t.messenger.destroy(),t.iframe=null,t.messenger=null,t.saved=null,t.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading"),o(window).off("beforeunload",t.beforeunload)},loaded:function(){t.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,t.opened)},hide:function(){this.element.fadeOut(200,t.closed)}}}),o(function(){t.settings=_wpCustomizeLoaderSettings,t.initialize()}),i.Loader=t}((wp,jQuery));
\ No newline at end of file
diff --git a/wp-includes/js/customize-models.min.js b/wp-includes/js/customize-models.min.js
index 56f1ab4a50..e3934fb9c0 100644
--- a/wp-includes/js/customize-models.min.js
+++ b/wp-includes/js/customize-models.min.js
@@ -1 +1 @@
-!function(a,b){var c=b.customize;c.HeaderTool={},c.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:"",timestamp:_.now(),thumbnail_url:""},choice:"",selected:!1,random:!1}},initialize:function(){this.on("hide",this.hide,this)},hide:function(){this.set("choice",""),c("header_image").set("remove-header"),c("header_image_data").set("remove-header")},destroy:function(){var a=this.get("header"),d=c.HeaderTool.currentHeader.get("header").attachment_id;d&&a.attachment_id===d&&c.HeaderTool.currentHeader.trigger("hide"),b.ajax.post("custom-header-remove",{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id}),this.trigger("destroy",this,this.collection)},save:function(){this.get("random")?(c("header_image").set(this.get("header").random),c("header_image_data").set(this.get("header").random)):this.get("header").defaultName?(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header").defaultName)):(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header"))),c.HeaderTool.combinedList.trigger("control:setImage",this)},importImage:function(){var a=this.get("header");void 0!==a.attachment_id&&b.ajax.post("custom-header-add",{nonce:_wpCustomizeHeader.nonces.add,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id})},shouldBeCropped:function(){return this.get("themeFlexWidth")===!0&&this.get("themeFlexHeight")===!0?!1:this.get("themeFlexWidth")===!0&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("themeFlexHeight")===!0&&this.get("themeWidth")===this.get("imageWidth")?!1:this.get("themeWidth")===this.get("imageWidth")&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("imageWidth")<=this.get("themeWidth")?!1:!0}}),c.HeaderTool.ChoiceList=Backbone.Collection.extend({model:c.HeaderTool.ImageModel,comparator:function(a){return-a.get("header").timestamp},initialize:function(){var a=c.HeaderTool.currentHeader.get("choice").replace(/^https?:\/\//,""),b=this.isRandomChoice(c.get().header_image);this.type||(this.type="uploaded"),"undefined"==typeof this.data&&(this.data=_wpCustomizeHeader.uploads),b&&(a=c.get().header_image),this.on("control:setImage",this.setImage,this),this.on("control:removeImage",this.removeImage,this),this.on("add",this.maybeAddRandomChoice,this),_.each(this.data,function(b,c){b.attachment_id||(b.defaultName=c),"undefined"==typeof b.timestamp&&(b.timestamp=0),this.add({header:b,choice:b.url.split("/").pop(),selected:a===b.url.replace(/^https?:\/\//,"")},{silent:!0})},this),this.size()>0&&this.addRandomChoice(a)},maybeAddRandomChoice:function(){1===this.size()&&this.addRandomChoice()},addRandomChoice:function(a){var b=RegExp(this.type).test(a),c="random-"+this.type+"-image";this.add({header:{timestamp:0,random:c,width:245,height:41},choice:c,random:!0,selected:b})},isRandomChoice:function(a){return/^random-(uploaded|default)-image$/.test(a)},shouldHideTitle:function(){return this.size()<2},setImage:function(a){this.each(function(a){a.set("selected",!1)}),a&&a.set("selected",!0)},removeImage:function(){this.each(function(a){a.set("selected",!1)})}}),c.HeaderTool.DefaultsList=c.HeaderTool.ChoiceList.extend({initialize:function(){this.type="default",this.data=_wpCustomizeHeader.defaults,c.HeaderTool.ChoiceList.prototype.initialize.apply(this)}})}(jQuery,window.wp);
\ No newline at end of file
+!function(i){var a=i.customize;a.HeaderTool={},a.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:"",timestamp:_.now(),thumbnail_url:""},choice:"",selected:!1,random:!1}},initialize:function(){this.on("hide",this.hide,this)},hide:function(){this.set("choice",""),a("header_image").set("remove-header"),a("header_image_data").set("remove-header")},destroy:function(){var e=this.get("header"),t=a.HeaderTool.currentHeader.get("header").attachment_id;t&&e.attachment_id===t&&a.HeaderTool.currentHeader.trigger("hide"),i.ajax.post("custom-header-remove",{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:"on",theme:a.settings.theme.stylesheet,attachment_id:e.attachment_id}),this.trigger("destroy",this,this.collection)},save:function(){this.get("random")?(a("header_image").set(this.get("header").random),a("header_image_data").set(this.get("header").random)):this.get("header").defaultName?(a("header_image").set(this.get("header").url),a("header_image_data").set(this.get("header").defaultName)):(a("header_image").set(this.get("header").url),a("header_image_data").set(this.get("header"))),a.HeaderTool.combinedList.trigger("control:setImage",this)},importImage:function(){var e=this.get("header");void 0!==e.attachment_id&&i.ajax.post("custom-header-add",{nonce:_wpCustomizeHeader.nonces.add,wp_customize:"on",theme:a.settings.theme.stylesheet,attachment_id:e.attachment_id})},shouldBeCropped:function(){return(!0!==this.get("themeFlexWidth")||!0!==this.get("themeFlexHeight"))&&((!0!==this.get("themeFlexWidth")||this.get("themeHeight")!==this.get("imageHeight"))&&((!0!==this.get("themeFlexHeight")||this.get("themeWidth")!==this.get("imageWidth"))&&((this.get("themeWidth")!==this.get("imageWidth")||this.get("themeHeight")!==this.get("imageHeight"))&&!(this.get("imageWidth")<=this.get("themeWidth")))))}}),a.HeaderTool.ChoiceList=Backbone.Collection.extend({model:a.HeaderTool.ImageModel,comparator:function(e){return-e.get("header").timestamp},initialize:function(){var i=a.HeaderTool.currentHeader.get("choice").replace(/^https?:\/\//,""),e=this.isRandomChoice(a.get().header_image);this.type||(this.type="uploaded"),void 0===this.data&&(this.data=_wpCustomizeHeader.uploads),e&&(i=a.get().header_image),this.on("control:setImage",this.setImage,this),this.on("control:removeImage",this.removeImage,this),this.on("add",this.maybeAddRandomChoice,this),_.each(this.data,function(e,t){e.attachment_id||(e.defaultName=t),void 0===e.timestamp&&(e.timestamp=0),this.add({header:e,choice:e.url.split("/").pop(),selected:i===e.url.replace(/^https?:\/\//,"")},{silent:!0})},this),0body.custom-background { '+g+" }").appendTo(i)},b.each(arguments,function(){this.bind(g)})})}})}(wp,jQuery);
\ No newline at end of file
+!function(u){var o=wp.customize,i=function(t,e,o){var i;return function(){var n=arguments;o=o||this,clearTimeout(i),i=setTimeout(function(){i=null,t.apply(o,n)},e)}};o.Preview=o.Messenger.extend({initialize:function(n,t){var e=this;o.Messenger.prototype.initialize.call(this,n,t),this.body=u(document.body),this.body.on("click.preview","a",function(n){n.preventDefault(),e.send("scroll",0),e.send("url",u(this).prop("href"))}),this.body.on("submit.preview","form",function(n){n.preventDefault()}),this.window=u(window),this.window.on("scroll.preview",i(function(){e.send("scroll",e.window.scrollTop())},200)),this.bind("scroll",function(n){e.window.scrollTop(n)})}}),u(function(){var n,e;o.settings=window._wpCustomizeSettings,o.settings&&((e=new o.Preview({url:window.location.href,channel:o.settings.channel})).bind("settings",function(n){u.each(n,function(n,t){o.has(n)?o(n).set(t):o.create(n,t)})}),e.trigger("settings",o.settings.values),e.bind("setting",function(n){var t;n=n.slice(),(t=o(n.shift()))&&t.set.apply(t,n)}),e.bind("sync",function(n){u.each(n,function(n,t){e.trigger(n,t)}),e.send("synced")}),e.bind("active",function(){o.settings.nonce&&e.send("nonce",o.settings.nonce)}),e.send("ready",{activeControls:o.settings.activeControls}),n=u.map(["color","image","position_x","repeat","attachment"],function(n){return"background_"+n}),o.when.apply(o,n).done(function(t,e,o,i,s){var c=u(document.body),r=u("head"),a=u("#custom-background-css"),n=function(){var n="";c.toggleClass("custom-background",!(!t()&&!e())),t()&&(n+="background-color: "+t()+";"),e()&&(n+='background-image: url("'+e()+'");',n+="background-position: top "+o()+";",n+="background-repeat: "+i()+";",n+="background-attachment: "+s()+";"),a.remove(),a=u('").appendTo(r)};u.each(arguments,function(){this.bind(n)})}))})}((wp,jQuery));
\ No newline at end of file
diff --git a/wp-includes/js/customize-views.min.js b/wp-includes/js/customize-views.min.js
index 8c28467571..fc6ebf4d69 100644
--- a/wp-includes/js/customize-views.min.js
+++ b/wp-includes/js/customize-views.min.js
@@ -1 +1 @@
-!function(a,b,c){if(b&&b.customize){var d=b.customize;d.HeaderTool.CurrentView=b.Backbone.View.extend({template:b.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setPlaceholder(),this.setButtons(),this},getHeight:function(){var a,b,c,e=this.$el.find("img");return e.length?(this.$el.find(".inner").hide(),a=this.model.get("savedHeight"),b=e.height()||a,b||(c=d.get().header_image_data,b=c&&c.width&&c.height?260/c.width*c.height:40),b):(this.$el.find(".inner").show(),40)},setPlaceholder:function(a){var b=a||this.getHeight();this.model.set("savedHeight",b),this.$el.add(this.$el.find(".placeholder")).height(b)},setButtons:function(){var b=a("#customize-control-header_image .actions .remove");this.model.get("choice")?b.show():b.hide()}}),d.HeaderTool.ChoiceView=b.Backbone.View.extend({template:b.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var a=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),c.contains(a,d.get().header_image)&&d.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var a=this.model.get("collection");return c.extend(this.model.toJSON(),{type:a.type})},getHeight:d.HeaderTool.CurrentView.prototype.getHeight,setPlaceholder:d.HeaderTool.CurrentView.prototype.setPlaceholder,select:function(){this.preventJump(),this.model.save(),d.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var b=a(".wp-full-overlay-sidebar-content"),d=b.scrollTop();c.defer(function(){b.scrollTop(d)})},removeImage:function(a){a.stopPropagation(),this.model.destroy(),this.remove()}}),d.HeaderTool.ChoiceListView=b.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(a){var b;a.set({collection:this.collection}),b=new d.HeaderTool.ChoiceView({model:a}),this.$el.append(b.render().el)},toggleList:function(){var a=this.$el.parents().prev(".customize-control-title"),b=this.$el.find(".random").parent();this.collection.shouldHideTitle()?a.add(b).hide():a.add(b).show()}}),d.HeaderTool.CombinedList=b.Backbone.View.extend({initialize:function(a){this.collections=a,this.on("all",this.propagate,this)},propagate:function(a,b){c.each(this.collections,function(c){c.trigger(a,b)})}})}}(jQuery,window.wp,_);
\ No newline at end of file
+!function(i,e,o){var n;e&&e.customize&&((n=e.customize).HeaderTool.CurrentView=e.Backbone.View.extend({template:e.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setPlaceholder(),this.setButtons(),this},getHeight:function(){var e,t=this.$el.find("img");return t.length?(this.$el.find(".inner").hide(),e=this.model.get("savedHeight"),t.height()||e||((e=n.get().header_image_data)&&e.width&&e.height?260/e.width*e.height:40)):(this.$el.find(".inner").show(),40)},setPlaceholder:function(e){e=e||this.getHeight();this.model.set("savedHeight",e),this.$el.add(this.$el.find(".placeholder")).height(e)},setButtons:function(){var e=i("#customize-control-header_image .actions .remove");this.model.get("choice")?e.show():e.hide()}}),n.HeaderTool.ChoiceView=e.Backbone.View.extend({template:e.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var e=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),o.contains(e,n.get().header_image)&&n.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var e=this.model.get("collection");return o.extend(this.model.toJSON(),{type:e.type})},getHeight:n.HeaderTool.CurrentView.prototype.getHeight,setPlaceholder:n.HeaderTool.CurrentView.prototype.setPlaceholder,select:function(){this.preventJump(),this.model.save(),n.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var e=i(".wp-full-overlay-sidebar-content"),t=e.scrollTop();o.defer(function(){e.scrollTop(t)})},removeImage:function(e){e.stopPropagation(),this.model.destroy(),this.remove()}}),n.HeaderTool.ChoiceListView=e.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(e){e.set({collection:this.collection}),e=new n.HeaderTool.ChoiceView({model:e}),this.$el.append(e.render().el)},toggleList:function(){var e=this.$el.parents().prev(".customize-control-title"),t=this.$el.find(".random").parent();this.collection.shouldHideTitle()?e.add(t).hide():e.add(t).show()}}),n.HeaderTool.CombinedList=e.Backbone.View.extend({initialize:function(e){this.collections=e,this.on("all",this.propagate,this)},propagate:function(t,i){o.each(this.collections,function(e){e.trigger(t,i)})}}))}(jQuery,window.wp,_);
\ No newline at end of file
diff --git a/wp-includes/js/heartbeat.min.js b/wp-includes/js/heartbeat.min.js
index d2f17f3ba4..00b3c09ae7 100644
--- a/wp-includes/js/heartbeat.min.js
+++ b/wp-includes/js/heartbeat.min.js
@@ -1 +1 @@
-!function(a,b,c){var d=function(){function d(){if("string"==typeof b.pagenow&&(B.screenId=b.pagenow),"string"==typeof b.ajaxurl&&(B.url=b.ajaxurl),"object"==typeof b.heartbeatSettings){var c=b.heartbeatSettings;!B.url&&c.ajaxurl&&(B.url=c.ajaxurl),c.interval&&(B.mainInterval=c.interval,B.mainInterval<15?B.mainInterval=15:B.mainInterval>60&&(B.mainInterval=60)),B.screenId||(B.screenId=c.screenId||"front"),"disable"===c.suspension&&(B.suspendEnabled=!1)}B.mainInterval=1e3*B.mainInterval,B.originalInterval=B.mainInterval,a(b).on("blur.wp-heartbeat-focus",function(){m(),B.winBlurTimer=b.setTimeout(function(){k()},500)}).on("focus.wp-heartbeat-focus",function(){n(),l()}).on("unload.wp-heartbeat",function(){B.suspend=!0,B.xhr&&4!==B.xhr.readyState&&B.xhr.abort()}),b.setInterval(function(){q()},3e4),A.ready(function(){B.lastTick=e(),j()})}function e(){return(new Date).getTime()}function f(a){var c,d=a.src;if(d&&/^https?:\/\//.test(d)&&(c=b.location.origin?b.location.origin:b.location.protocol+"//"+b.location.host,0!==d.indexOf(c)))return!1;try{if(a.contentWindow.document)return!0}catch(e){}return!1}function g(a,b){var c;if(a){switch(a){case"abort":break;case"timeout":c=!0;break;case"error":if(503===b&&B.hasConnected){c=!0;break}case"parsererror":case"empty":case"unknown":B.errorcount++,B.errorcount>2&&B.hasConnected&&(c=!0)}c&&!s()&&(B.connectionError=!0,A.trigger("heartbeat-connection-lost",[a,b]))}}function h(){B.hasConnected=!0,s()&&(B.errorcount=0,B.connectionError=!1,A.trigger("heartbeat-connection-restored"))}function i(){var c,d;B.connecting||B.suspend||(B.lastTick=e(),d=a.extend({},B.queue),B.queue={},A.trigger("heartbeat-send",[d]),c={data:d,interval:B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3,_nonce:"object"==typeof b.heartbeatSettings?b.heartbeatSettings.nonce:"",action:"heartbeat",screen_id:B.screenId,has_focus:B.hasFocus},B.connecting=!0,B.xhr=a.ajax({url:B.url,type:"post",timeout:3e4,data:c,dataType:"json"}).always(function(){B.connecting=!1,j()}).done(function(a,b,c){var d;return a?(h(),a.nonces_expired?void A.trigger("heartbeat-nonces-expired"):(a.heartbeat_interval&&(d=a.heartbeat_interval,delete a.heartbeat_interval),A.trigger("heartbeat-tick",[a,b,c]),void(d&&v(d)))):void g("empty")}).fail(function(a,b,c){g(b||"unknown",a.status),A.trigger("heartbeat-error",[a,b,c])}))}function j(){var a=e()-B.lastTick,c=B.mainInterval;B.suspend||(B.hasFocus?B.countdown>0&&B.tempInterval&&(c=B.tempInterval,B.countdown--,B.countdown<1&&(B.tempInterval=0)):c=12e4,b.clearTimeout(B.beatTimer),c>a?B.beatTimer=b.setTimeout(function(){i()},c-a):i())}function k(){o(),B.hasFocus=!1}function l(){o(),B.userActivity=e(),B.suspend=!1,B.hasFocus||(B.hasFocus=!0,j())}function m(){a("iframe").each(function(c,d){f(d)&&(a.data(d,"wp-heartbeat-focus")||(a.data(d,"wp-heartbeat-focus",1),a(d.contentWindow).on("focus.wp-heartbeat-focus",function(){l()}).on("blur.wp-heartbeat-focus",function(){m(),B.frameBlurTimer=b.setTimeout(function(){k()},500)})))})}function n(){a("iframe").each(function(b,c){f(c)&&(a.removeData(c,"wp-heartbeat-focus"),a(c.contentWindow).off(".wp-heartbeat-focus"))})}function o(){b.clearTimeout(B.winBlurTimer),b.clearTimeout(B.frameBlurTimer)}function p(){B.userActivityEvents=!1,A.off(".wp-heartbeat-active"),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).off(".wp-heartbeat-active")}),l()}function q(){var b=B.userActivity?e()-B.userActivity:0;b>3e5&&B.hasFocus&&k(),B.suspendEnabled&&b>12e5&&(B.suspend=!0),B.userActivityEvents||(A.on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()}),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()})}),B.userActivityEvents=!0)}function r(){return B.hasFocus}function s(){return B.connectionError}function t(){B.lastTick=0,j()}function u(){B.suspendEnabled=!1}function v(a,b){var c,d=B.tempInterval?B.tempInterval:B.mainInterval;if(a){switch(a){case"fast":case 5:c=5e3;break;case 15:c=15e3;break;case 30:c=3e4;break;case 60:c=6e4;break;case"long-polling":return B.mainInterval=0,0;default:c=B.originalInterval}5e3===c?(b=parseInt(b,10)||30,b=1>b||b>30?30:b,B.countdown=b,B.tempInterval=c):(B.countdown=0,B.tempInterval=0,B.mainInterval=c),c!==d&&j()}return B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3}function w(a,b,c){return a?c&&this.isQueued(a)?!1:(B.queue[a]=b,!0):!1}function x(a){return a?B.queue.hasOwnProperty(a):void 0}function y(a){a&&delete B.queue[a]}function z(a){return a?this.isQueued(a)?B.queue[a]:c:void 0}var A=a(document),B={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,beatTimer:0,winBlurTimer:0,frameBlurTimer:0};return d(),{hasFocus:r,connectNow:t,disableSuspend:u,interval:v,hasConnectionError:s,enqueue:w,dequeue:y,isQueued:x,getQueuedItem:z}};b.wp=b.wp||{},b.wp.heartbeat=new d}(jQuery,window);
\ No newline at end of file
+!function(p,h){h.wp=h.wp||{},h.wp.heartbeat=new function(){var e,r=p(document),o={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,beatTimer:0,winBlurTimer:0,frameBlurTimer:0};function n(){return(new Date).getTime()}function a(e){var t,n=e.src;if(!n||!/^https?:\/\//.test(n)||(t=h.location.origin||h.location.protocol+"//"+h.location.host,0===n.indexOf(t)))try{if(e.contentWindow.document)return 1}catch(e){}}function i(e,t){var n;if(e){switch(e){case"abort":break;case"timeout":n=!0;break;case"error":if(503===t&&o.hasConnected){n=!0;break}case"parsererror":case"empty":case"unknown":o.errorcount++,20){r.push(b)}r.push(q.join(d));return r.join("")}};return new j(location.search,location.hash)}}(jQuery.query||{});
+!function(e){var t=e.separator||"&",l=!1!==e.spaces,n=(e.suffix,!1!==e.prefix?!0===e.hash?"#":"?":""),i=!1!==e.numbers;jQuery.query=new function(){function c(e,t){return null!=e&&null!==e&&(!t||e.constructor==t)}function u(e){for(var t,n=/\[([^[]*)\]/g,r=/^([^[]+)(\[.*\])?$/.exec(e),e=r[1],u=[];t=n.exec(r[2]);)u.push(t[1]);return[e,u]}function o(e,t,n){var r=t.shift();if("object"!=typeof e&&(e=null),""===r)if(c(e=e||[],Array))e.push(0==t.length?n:o(null,t.slice(0),n));else if(c(e,Object)){for(var u=0;null!=e[u++];);e[--u]=0==t.length?n:o(e[u],t.slice(0),n)}else(e=[]).push(0==t.length?n:o(null,t.slice(0),n));else if(r&&r.match(/^\s*[0-9]+\s*$/))(e=e||[])[i=parseInt(r,10)]=0==t.length?n:o(e[i],t.slice(0),n);else{if(!r)return n;var i=r.replace(/^\s*|\s*$/g,"");if(c(e=e||{},Array)){for(var s={},u=0;ua?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&"object"==typeof i&&"function"==typeof i.toJSON&&(i=i.toJSON(a)),"function"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";if(gap+=indent,g=[],"[object Array]"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||"null";return e=0===g.length?"[]":gap?"[\n"+gap+g.join(",\n"+gap)+"\n"+h+"]":"["+g.join(",")+"]",gap=h,e}if(rep&&"object"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)"string"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));return e=0===g.length?"{}":gap?"{\n"+gap+g.join(",\n"+gap)+"\n"+h+"}":"{"+g.join(",")+"}",gap=h,e}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;"function"!=typeof JSON.stringify&&(JSON.stringify=function(a,b,c){var d;if(gap="",indent="","number"==typeof c)for(d=0;c>d;d+=1)indent+=" ";else"string"==typeof c&&(indent=c);if(rep=b,b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON.stringify");return str("",{"":a})}),"function"!=typeof JSON.parse&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}();
\ No newline at end of file
+var JSON,JSON=JSON||{};(function(){"use strict";function f(t){return t<10?"0"+t:t}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(t){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(t){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(t){return escapable.lastIndex=0,escapable.test(t)?'"'+t.replace(escapable,function(t){var e=meta[t];return"string"==typeof e?e:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+t+'"'}function str(t,e){var r,n,o,f,u,i=gap,p=e[t];switch(p&&"object"==typeof p&&"function"==typeof p.toJSON&&(p=p.toJSON(t)),typeof(p="function"==typeof rep?rep.call(e,t,p):p)){case"string":return quote(p);case"number":return isFinite(p)?String(p):"null";case"boolean":case"null":return String(p);case"object":if(!p)return"null";if(gap+=indent,u=[],"[object Array]"===Object.prototype.toString.apply(p)){for(f=p.length,r=0;rh;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c(a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(this),function(a){function b(a){"function"==typeof a&&(b.isReady?a():f.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==e.readyState;if(!b.isReady&&!c){b.isReady=!0;for(var d=0,g=f.length;g>d;d++){var h=f[d];h()}}}function d(d){return d.bind(e,"DOMContentLoaded",c),d.bind(e,"readystatechange",c),d.bind(a,"load",c),b}var e=a.document,f=[];b.isReady=!1,"function"==typeof define&&define.amd?(b.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],d)):a.docReady=d(a.eventie)}(this),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;a.length>b;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;a.length>b;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:this.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function c(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}return a}function d(a){function d(a){if("string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var d=f(a);if("none"===d.display)return c();var e={};e.width=a.offsetWidth,e.height=a.offsetHeight;for(var k=e.isBorderBox=!(!j||!d[j]||"border-box"!==d[j]),l=0,m=g.length;m>l;l++){var n=g[l],o=d[n];o=h(a,o);var p=parseFloat(o);e[n]=isNaN(p)?0:p}var q=e.paddingLeft+e.paddingRight,r=e.paddingTop+e.paddingBottom,s=e.marginLeft+e.marginRight,t=e.marginTop+e.marginBottom,u=e.borderLeftWidth+e.borderRightWidth,v=e.borderTopWidth+e.borderBottomWidth,w=k&&i,x=b(d.width);x!==!1&&(e.width=x+(w?0:q+u));var y=b(d.height);return y!==!1&&(e.height=y+(w?0:r+v)),e.innerWidth=e.width-(q+u),e.innerHeight=e.height-(r+v),e.outerWidth=e.width+s,e.outerHeight=e.height+t,e}}function h(a,b){if(e||-1===b.indexOf("%"))return b;var c=a.style,d=c.left,f=a.runtimeStyle,g=f&&f.left;return g&&(f.left=a.currentStyle.left),c.left=b,b=c.pixelLeft,c.left=d,g&&(f.left=g),b}var i,j=a("boxSizing");return function(){if(j){var a=document.createElement("div");a.style.width="200px",a.style.padding="1px 2px 3px 4px",a.style.borderStyle="solid",a.style.borderWidth="1px 2px 3px 4px",a.style[j]="border-box";var c=document.body||document.documentElement;c.appendChild(a);var d=f(a);i=200===b(d.width),c.removeChild(a)}}(),d}var e=a.getComputedStyle,f=e?function(a){return e(a,null)}:function(a){return a.currentStyle},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],d):"object"==typeof exports?module.exports=d(require("get-style-property")):a.getSize=d(a.getStyleProperty)}(window),function(a,b){function c(a,b){return a[h](b)}function d(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function e(a,b){d(a);for(var c=a.parentNode.querySelectorAll(b),e=0,f=c.length;f>e;e++)if(c[e]===a)return!0;return!1}function f(a,b){return d(a),c(a,b)}var g,h=function(){if(b.matchesSelector)return"matchesSelector";for(var a=["webkit","moz","ms","o"],c=0,d=a.length;d>c;c++){var e=a[c],f=e+"MatchesSelector";if(b[f])return f}}();if(h){var i=document.createElement("div"),j=c(i,"div");g=j?c:f}else g=e;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return g}):window.matchesSelector=g}(this,Element.prototype),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){for(var b in a)return!1;return b=null,!0}function d(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function e(a,e,f){function h(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}var i=f("transition"),j=f("transform"),k=i&&j,l=!!f("perspective"),m={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[i],n=["transform","transition","transitionDuration","transitionProperty"],o=function(){for(var a={},b=0,c=n.length;c>b;b++){var d=n[b],e=f(d);e&&e!==d&&(a[d]=e)}return a}();b(h.prototype,a.prototype),h.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},h.prototype.getSize=function(){this.size=e(this.element)},h.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=o[c]||c;b[d]=a[c]}},h.prototype.getPosition=function(){var a=g(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var h=this.layout.size;e-=c?h.paddingLeft:h.paddingRight,f-=d?h.paddingTop:h.paddingBottom,this.position.x=e,this.position.y=f},h.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={};b.isOriginLeft?(c.left=this.position.x+a.paddingLeft+"px",c.right=""):(c.right=this.position.x+a.paddingRight+"px",c.left=""),b.isOriginTop?(c.top=this.position.y+a.paddingTop+"px",c.bottom=""):(c.bottom=this.position.y+a.paddingBottom+"px",c.top=""),this.css(c),this.emitEvent("layout",[this])};var p=l?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};h.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=p(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},h.prototype.moveTo=k?h.prototype._transitionTo:h.prototype.goTo,h.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},h.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},h.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var q=j&&d(j)+",opacity";h.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:q,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(m,this,!1))},h.prototype.transition=h.prototype[i?"_transition":"_nonTransition"],h.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},h.prototype.onotransitionend=function(a){this.ontransitionend(a)};var r={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};h.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,d=r[a.propertyName]||a.propertyName;if(delete b.ingProperties[d],c(b.ingProperties)&&this.disableTransition(),d in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[d]),d in b.onEnd){var e=b.onEnd[d];e.call(this),delete b.onEnd[d]}this.emitEvent("transitionEnd",[this])}},h.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(m,this,!1),this.isTransitioning=!1},h.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var s={transitionProperty:"",transitionDuration:""};return h.prototype.removeTransitionStyles=function(){this.css(s)},h.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},h.prototype.remove=function(){if(!i||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.on("transitionEnd",function(){return a.removeElem(),!0}),this.hide()},h.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options;this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0})},h.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options;this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},h.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},h}var f=document.defaultView,g=f&&f.getComputedStyle?function(a){return f.getComputedStyle(a,null)}:function(a){return a.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],e):(a.Outlayer={},a.Outlayer.Item=e(a.EventEmitter,a.getSize,a.getStyleProperty))}(window),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){return"[object Array]"===l.call(a)}function d(a){var b=[];if(c(a))b=a;else if(a&&"number"==typeof a.length)for(var d=0,e=a.length;e>d;d++)b.push(a[d]);else b.push(a);return b}function e(a,b){var c=n(b,a);-1!==c&&b.splice(c,1)}function f(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()}function g(c,g,l,n,o,p){function q(a,c){if("string"==typeof a&&(a=h.querySelector(a)),!a||!m(a))return void(i&&i.error("Bad "+this.constructor.namespace+" element: "+a));this.element=a,this.options=b({},this.options),this.option(c);var d=++s;this.element.outlayerGUID=d,t[d]=this,this._create(),this.options.isInitLayout&&this.layout()}function r(a,c){a.prototype[c]=b({},q.prototype[c])}var s=0,t={};return q.namespace="outlayer",q.Item=p,q.prototype.options={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},b(q.prototype,l.prototype),q.prototype.option=function(a){b(this.options,a)},q.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),b(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},q.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},q.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},q.prototype._filterFindItemElements=function(a){a=d(a);for(var b=this.options.itemSelector,c=[],e=0,f=a.length;f>e;e++){var g=a[e];if(m(g))if(b){o(g,b)&&c.push(g);for(var h=g.querySelectorAll(b),i=0,j=h.length;j>i;i++)c.push(h[i])}else c.push(g)}return c},q.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},q.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},q.prototype._init=q.prototype.layout,q.prototype._resetLayout=function(){this.getSize()},q.prototype.getSize=function(){this.size=n(this.element)},q.prototype._getMeasurement=function(a,b){var c,d=this.options[a];d?("string"==typeof d?c=this.element.querySelector(d):m(d)&&(c=d),this[a]=c?n(c)[b]:d):this[a]=0},q.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},q.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},q.prototype._layoutItems=function(a,b){function c(){d.emitEvent("layoutComplete",[d,a])}var d=this;if(!a||!a.length)return void c();this._itemsOn(a,"layout",c);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f],i=this._getItemLayoutPosition(h);i.item=h,i.isInstant=b||h.isLayoutInstant,e.push(i)}this._processLayoutQueue(e)},q.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},q.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},q.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},q.prototype._postLayout=function(){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))},q.prototype._getContainerSize=k,q.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},q.prototype._itemsOn=function(a,b,c){function d(){return e++,e===f&&c.call(g),!0}for(var e=0,f=a.length,g=this,h=0,i=a.length;i>h;h++){var j=a[h];j.on(b,d)}},q.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},q.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},q.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},q.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e(d,this.stamps),this.unignore(d)}},q.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=d(a)):void 0},q.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},q.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},q.prototype._manageStamp=k,q.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,d=n(a),e={left:b.left-c.left-d.marginLeft,top:b.top-c.top-d.marginTop,right:c.right-b.right-d.marginRight,bottom:c.bottom-b.bottom-d.marginBottom};return e},q.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},q.prototype.bindResize=function(){this.isResizeBound||(c.bind(a,"resize",this),this.isResizeBound=!0)},q.prototype.unbindResize=function(){c.unbind(a,"resize",this),this.isResizeBound=!1},q.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},q.prototype.resize=function(){var a=n(this.element),b=this.size&&a;b&&a.innerWidth===this.size.innerWidth||this.layout()},q.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},q.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},q.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},q.prototype.reveal=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.reveal()}},q.prototype.hide=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.hide()}},q.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},q.prototype.getItems=function(a){if(a&&a.length){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c],f=this.getItem(e);f&&b.push(f)}return b}},q.prototype.remove=function(a){a=d(a);var b=this.getItems(a);if(b&&b.length){this._itemsOn(b,"remove",function(){this.emitEvent("removeComplete",[this,b])});for(var c=0,f=b.length;f>c;c++){var g=b[c];g.remove(),e(g,this.items)}}},q.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize(),delete this.element.outlayerGUID,j&&j.removeData(this.element,this.constructor.namespace)},q.data=function(a){var b=a&&a.outlayerGUID;return b&&t[b]},q.create=function(a,c){function d(){q.apply(this,arguments)}return Object.create?d.prototype=Object.create(q.prototype):b(d.prototype,q.prototype),d.prototype.constructor=d,r(d,"options"),b(d.prototype.options,c),d.namespace=a,d.data=q.data,d.Item=function(){p.apply(this,arguments)},d.Item.prototype=new p,g(function(){for(var b=f(a),c=h.querySelectorAll(".js-"+b),e="data-"+b+"-options",g=0,k=c.length;k>g;g++){var l,m=c[g],n=m.getAttribute(e);try{l=n&&JSON.parse(n)}catch(o){i&&i.error("Error parsing "+e+" on "+m.nodeName.toLowerCase()+(m.id?"#"+m.id:"")+": "+o);continue}var p=new d(m,l);j&&j.data(m,a,p)}}),j&&j.bridget&&j.bridget(a,d),d},q.Item=p,q}var h=a.document,i=a.console,j=a.jQuery,k=function(){},l=Object.prototype.toString,m="object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1===a.nodeType&&"string"==typeof a.nodeName},n=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],g):a.Outlayer=g(a.eventie,a.docReady,a.EventEmitter,a.getSize,a.matchesSelector,a.Outlayer.Item)}(window),function(a){function b(a,b){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.resize=function(){var a=this.containerWidth;this.getContainerWidth(),a!==this.containerWidth&&this.layout()},d}var c=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],b):a.Masonry=b(a.Outlayer,a.getSize)}(window),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if("object"==typeof a){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;a.length>b;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;a.length>b;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if("object"===c)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:this.EventEmitter=a}.call(this),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):a.eventie=f}(this),function(a,b){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("eventEmitter"),require("eventie")):a.imagesLoaded=b(a,a.EventEmitter,a.eventie)}(this,function(a,b,c){function d(a,b){for(var c in b)a[c]=b[c];return a}function e(a){return"[object Array]"===m.call(a)}function f(a){var b=[];if(e(a))b=a;else if("number"==typeof a.length)for(var c=0,d=a.length;d>c;c++)b.push(a[c]);else b.push(a);return b}function g(a,b,c){if(!(this instanceof g))return new g(a,b);"string"==typeof a&&(a=document.querySelectorAll(a)),this.elements=f(a),this.options=d({},this.options),"function"==typeof b?c=b:d(this.options,b),c&&this.on("always",c),this.getImages(),j&&(this.jqDeferred=new j.Deferred);var e=this;setTimeout(function(){e.check()})}function h(a){this.img=a}function i(a){this.src=a,n[a]=this}var j=a.jQuery,k=a.console,l=void 0!==k,m=Object.prototype.toString;g.prototype=new b,g.prototype.options={},g.prototype.getImages=function(){this.images=[];for(var a=0,b=this.elements.length;b>a;a++){var c=this.elements[a];"IMG"===c.nodeName&&this.addImage(c);for(var d=c.querySelectorAll("img"),e=0,f=d.length;f>e;e++){var g=d[e];this.addImage(g)}}},g.prototype.addImage=function(a){var b=new h(a);this.images.push(b)},g.prototype.check=function(){function a(a,e){return b.options.debug&&l&&k.log("confirm",a,e),b.progress(a),c++,c===d&&b.complete(),!0}var b=this,c=0,d=this.images.length;if(this.hasAnyBroken=!1,!d)return void this.complete();for(var e=0;d>e;e++){var f=this.images[e];f.on("confirm",a),f.check()}},g.prototype.progress=function(a){this.hasAnyBroken=this.hasAnyBroken||!a.isLoaded;var b=this;setTimeout(function(){b.emit("progress",b,a),b.jqDeferred&&b.jqDeferred.notify&&b.jqDeferred.notify(b,a)})},g.prototype.complete=function(){var a=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var b=this;setTimeout(function(){if(b.emit(a,b),b.emit("always",b),b.jqDeferred){var c=b.hasAnyBroken?"reject":"resolve";b.jqDeferred[c](b)}})},j&&(j.fn.imagesLoaded=function(a,b){var c=new g(this,a,b);return c.jqDeferred.promise(j(this))}),h.prototype=new b,h.prototype.check=function(){var a=n[this.img.src]||new i(this.img.src);if(a.isConfirmed)return void this.confirm(a.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var b=this;a.on("confirm",function(a,c){return b.confirm(a.isLoaded,c),!0}),a.check()},h.prototype.confirm=function(a,b){this.isLoaded=a,this.emit("confirm",this,b)};var n={};return i.prototype=new b,i.prototype.check=function(){if(!this.isChecked){var a=new Image;c.bind(a,"load",this),c.bind(a,"error",this),a.src=this.src,this.isChecked=!0}},i.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},i.prototype.onload=function(a){this.confirm(!0,"onload"),this.unbindProxyEvents(a)},i.prototype.onerror=function(a){this.confirm(!1,"onerror"),this.unbindProxyEvents(a)},i.prototype.confirm=function(a,b){this.isConfirmed=!0,this.isLoaded=a,this.emit("confirm",this,b)},i.prototype.unbindProxyEvents=function(a){c.unbind(a.target,"load",this),c.unbind(a.target,"error",this)},g});
\ No newline at end of file
+(function(t){function e(){}function n(a){if(a){var h="undefined"==typeof console?e:function(t){console.error(t)};return a.bridget=function(t,e){var r,s,n;(n=e).prototype.option||(n.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),r=t,s=e,a.fn[r]=function(e){if("string"!=typeof e)return this.each(function(){var t=a.data(this,r);t?(t.option(e),t._init()):(t=new s(this,e),a.data(this,r,t))});for(var t=u.call(arguments,1),n=0,i=this.length;nn;n+=1)e.push(t[n].listener);return e},n.getListenersAsObject=function(t){var e,n=this.getListeners(t);return n instanceof Array&&((e={})[t]=n),e||n},n.addListener=function(t,e){var n,i=this.getListenersAsObject(t),o="object"==typeof e;for(n in i)i.hasOwnProperty(n)&&-1===r(i[n],e)&&i[n].push(o?e:{listener:e,once:!1});return this},n.on=e("addListener"),n.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},n.once=e("addOnceListener"),n.defineEvent=function(t){return this.getListeners(t),this},n.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},n.removeListener=function(t,e){var n,i,o=this.getListenersAsObject(t);for(i in o)o.hasOwnProperty(i)&&(n=r(o[i],e),-1!==n&&o[i].splice(n,1));return this},n.off=e("removeListener"),n.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},n.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},n.manipulateListeners=function(t,e,n){var i,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(i=n.length;i--;)r.call(this,e,n[i]);else for(i in e)e.hasOwnProperty(i)&&(o=e[i])&&("function"==typeof o?r:s).call(this,i,o);return this},n.removeEvent=function(t){var e,n=typeof t,i=this._getEvents();if("string"==n)delete i[t];else if(t instanceof RegExp)for(e in i)i.hasOwnProperty(e)&&t.test(e)&&delete i[e];else delete this._events;return this},n.removeAllListeners=e("removeEvent"),n.emitEvent=function(t,e){var n,i,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(i=s[o].length;i--;)n=s[o][i],!0===n.once&&this.removeListener(t,n.listener),r=n.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,n.listener);return this},n.trigger=e("emitEvent"),n.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},n.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},n._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},n._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return i.EventEmitter=o,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof r[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,n=0,i=o.length;nn;n+=1)e.push(t[n].listener);return e},n.getListenersAsObject=function(t){var e,n=this.getListeners(t);return n instanceof Array&&((e={})[t]=n),e||n},n.addListener=function(t,e){var n,i=this.getListenersAsObject(t),o="object"==typeof e;for(n in i)i.hasOwnProperty(n)&&-1===r(i[n],e)&&i[n].push(o?e:{listener:e,once:!1});return this},n.on=e("addListener"),n.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},n.once=e("addOnceListener"),n.defineEvent=function(t){return this.getListeners(t),this},n.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},n.removeListener=function(t,e){var n,i,o=this.getListenersAsObject(t);for(i in o)o.hasOwnProperty(i)&&(n=r(o[i],e),-1!==n&&o[i].splice(n,1));return this},n.off=e("removeListener"),n.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},n.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},n.manipulateListeners=function(t,e,n){var i,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(i=n.length;i--;)r.call(this,e,n[i]);else for(i in e)e.hasOwnProperty(i)&&(o=e[i])&&("function"==typeof o?r:s).call(this,i,o);return this},n.removeEvent=function(t){var e,n=typeof t,i=this._getEvents();if("string"==n)delete i[t];else if("object"==n)for(e in i)i.hasOwnProperty(e)&&t.test(e)&&delete i[e];else delete this._events;return this},n.removeAllListeners=e("removeEvent"),n.emitEvent=function(t,e){var n,i,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(i=s[o].length;i--;)n=s[o][i],!0===n.once&&this.removeListener(t,n.listener),r=n.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,n.listener);return this},n.trigger=e("emitEvent"),n.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},n.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},n._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},n._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return i.EventEmitter=o,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(n){function i(t){var e=n.event;return e.target=e.target||e.srcElement||t,e}var t=document.documentElement,e=function(){};t.addEventListener?e=function(t,e,n){t.addEventListener(e,n,!1)}:t.attachEvent&&(e=function(e,t,n){e[t+n]=n.handleEvent?function(){var t=i(e);n.handleEvent.call(n,t)}:function(){var t=i(e);n.call(e,t)},e.attachEvent("on"+t,e[t+n])});var o=function(){};t.removeEventListener?o=function(t,e,n){t.removeEventListener(e,n,!1)}:t.detachEvent&&(o=function(e,n,i){e.detachEvent("on"+n,e[n+i]);try{delete e[n+i]}catch(t){e[n+i]=void 0}}),o={bind:e,unbind:o},"function"==typeof define&&define.amd?define("eventie/eventie",o):n.eventie=o}(this),function(n,i){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(t,e){return i(n,t,e)}):"object"==typeof exports?module.exports=i(n,require("eventEmitter"),require("eventie")):n.imagesLoaded=i(n,n.EventEmitter,n.eventie)}(this,function(t,e,n){function o(t,e){for(var n in e)t[n]=e[n];return t}function r(t){var e,n=[];if(e=t,"[object Array]"===f.call(e))n=t;else if("number"==typeof t.length)for(var i=0,o=t.length;i /g, '>' );
+ } );
+ }
+
this.getNodes( function ( editor, node, content ) {
var dom = editor.dom,
styles = '',
diff --git a/wp-includes/js/mce-view.min.js b/wp-includes/js/mce-view.min.js
index 685d42f12b..4881a895b7 100644
--- a/wp-includes/js/mce-view.min.js
+++ b/wp-includes/js/mce-view.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){"use strict";var b={},c={},d=wp.media,e=["encodedText"];wp.mce=wp.mce||{},wp.mce.View=function(a){a=a||{},this.type=a.type,_.extend(this,_.pick(a,e)),this.initialize.apply(this,arguments)},_.extend(wp.mce.View.prototype,{initialize:function(){},getHtml:function(){return""},loadingPlaceholder:function(){return''},render:function(c){(c||!this.rendered())&&(this.unbind(),this.setContent(' Â
'+(this.getHtml()||this.loadingPlaceholder())+"
"+(this.overlay?'
':"")+'
Â
',"wrap"),a(this).trigger("ready"),this.rendered(!0))},unbind:function(){},getEditors:function(a){var b=[];return _.each(tinymce.editors,function(c){c.plugins.wpview&&(a&&a(c),b.push(c))},this),b},getNodes:function(b){var c=[],d=this;return this.getEditors(function(e){a(e.getBody()).find('[data-wpview-text="'+d.encodedText+'"]').each(function(d,f){b&&b(e,f,a(f).find(".wpview-content").get(0)),c.push(f)})}),c},setContent:function(a,b){this.getNodes(function(c,d,e){var f="wrap"===b||"replace"===b?d:e,g=a;_.isString(g)&&(g=c.dom.createFragment(g)),"replace"===b?c.dom.replace(g,f):(f.innerHTML="",f.appendChild(g))})},setIframes:function(b,c){var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,e="video"===this.type||"audio"===this.type||"playlist"===this.type;b||-1!==c.indexOf("